0

PHPでマンデルブロを作成しましたが、マンデルブロは少し奇妙に見えます。どうすれば改善できますか? ここに画像の説明を入力してください

ここで実際の例を見つけることができます:http ://www.phpdevpad.de/index.php?id=190 。

更新:マンデルブロ-900回の反復によるズーム:

ここに画像の説明を入力してください

更新:私はマンデルブロを計算するこの方法を使用します:

double Re_factor = (MaxRe-MinRe)/(ImageWidth-1);
double Im_factor = (MaxIm-MinIm)/(ImageHeight-1);

double newMinRe = MinRe + (Re_factor* x1);
double newMaxRe = MinRe + (Re_factor* x2);
double newMinIm = MinIm + (Im_factor* y1);
double newMaxIm = MinIm + (Im_factor* y2);

// and then I compute c - real and c- imag values

  for(unsigned y=0; y<ImageHeight; ++y) 
{ 
  double c_im = newMinIm - y*Im_factor;
  for(unsigned x=0; x<ImageWidth; ++x)
    {
      double c_re = newMinRe + x*Re_factor;

      // ComputeMandelbrot();

     }

 }
  1. http://warp.povusers.org/Mandelbrot/
4

2 に答える 2

1

1)最大反復回数を増やす必要があります。黒い領域が大きすぎます。

2)味覚をもっと面白いものに変えることができます。「青」への突然の変化は奇妙です。

3)女性のデフォルトの画像は大きくする必要があります。

于 2012-12-03T18:16:22.300 に答える
1

私はいくつかのことが起こっていると推測しています:

  1. 前に述べたように、このようなフラクタルで60回繰り返すと、どこにも行き着きません。6000を試してください。
  2. ダブルの精度の限界に遭遇している可能性があります。これにより、特にズームすると、最終的にはブロック状になり、レンダリングが正しくなくなる可能性があります。正確な数値タイプが必要になります。PHPは実際の正確なデータ型をネイティブに提供しないため、浮動小数点数の性質に関連する小さな矛盾を除いて、整数またはバイトとして自分で楽しい計算を行う必要があります。
于 2012-12-04T01:53:46.790 に答える