Location : Home > Languages > Perl > Package
Title : Math::Fractal::Mandelbrot
Toolbox Logo

名称

 Math::Fractal::Mandelbrot - マンデルブロート図形の点の計算


説明

 有名なマンデルブロート・フラクタル図形から点、水平方向・垂直方向の帯または矩形領域を計算する。


ライセンス

 本プログラムはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布してもよい。


メソッド

set_max_iter()

Math::Fractal::Mandelbrot->set_max_iter($max_iter);

 繰り返し計算回数の最大値を設定する。デフォルト値は600回であり、開始時のイメージにには適切な値である。ズームインしたい場合にはこの値は詳細部を欠落させないように大きくすべきである。

set_limit()

Math::Fractal::Mandelbrot->set_limit($limit);

 デフォルト値は5であり、変更する理由がわかっている場合にのみ変更すべきである。

set_epsilon()

Math::Fractal::Mandelbrot->set_epsilon($e);

 デフォルト値は0.001である。2回の繰り返しの間の変化がこの値よりも小さければ変化がなかったと判断される。

set_bounds()

Math::Fractal::Mandelbrot->set_bounds($x1,$y1,$x2,$y2,$w,$h);

 座標(x1, y1)から(x2, y2)までのイメージの幅 w と高さ h を設定する。デフォルト値は以下の通り。

Math::Fractal::Mandelbrot->set_bounds(-2,-1.1, 1,1.1, 640,480);

point()

my $iter = Math::Fractal::Mandelbrot->point($x,$y);

 $x 及び $y における値を計算する。返り値が 0 であればフラクタル図形内部(通常は黒い領域)であり、値が 0 より大きければ外部であることを意味する。$x 及び $y はそれぞれ 0 と w 、0 と h の間になければならない。(set_bounds() を見よ)

hor_line($x1,$y1,$l)

my $points = Math::Fractal::Mandelbrot->hor_line($x1,$y1,$l);

 水平線における値を計算し、それらを全て配列参照で返す。配列には特殊な値(最初の要素と同じ値をもつ要素数)が含まれている。例えば

values		count	explanation
==============================================================
1,1,1,1,3,	4 	# 最初の 4 要素が等しい
1,1,3,1,3,	2	# 3 は最初の要素と異なるので count は 2

 詳しくは point() を見よ。

ver_line($x1,$y1,$l)

my @points = Math::Fractal::Mandelbrot->ver_line($x1,$y1,$l);

 垂直線における値を計算し、それらを全て配列として返す。配列には特殊な値(最初の要素と同じ値をもつ要素数)が含まれている。この最後の値については hor_line を見よ。詳しくは point() を見よ。


著者

 Tels http://bloodgate.com/ in 2003, 2005, 2006.


参考資料

 Math::Fractal::DLA by Wolfgang Gruber

Toolbox Logo
Updated : 2007/04/08