ポイント(x0、y0)のマンデルブロ値を計算するこのアルゴリズムがあります(x0とy0は-1と1の間のどこかにあり、あまり重要ではないと思いました)。scale
が大きくなりすぎていない場合、これはすべて非常にうまくいっていますがscale
、 の値が高くなると、返される値が非常に不正確になり、グラフィック出力がおかしくなり始めます。これが発生する値からどのように予測しscale
ますか?
public static byte CalculateMandelbrot(double x0, double y0,double scale)
{
x0 /= scale;
y0 /= scale;
double y = 0;
double x = 0;
byte i = 0;
while (x * x + y * y < 4)
{
double tx = x;
x = x * x - y * y + x0;
y = 2 * tx * y + y0;
i++;
if (i == 0xFF) break;
}
return i;
}