私は C# でマンデルブロー アプリを作成しています (そして Python でテストしています)。セットからその境界線までの連続したカラーリングは既にあります。私の現在の問題は、環境の背景色を設定することです。色を取得するための現在のコードは次のようになります。色を double として取得し (対数関数は以前に実行されています)、部分であるかどうかをチェックし、非常に滑らかなグラデーション (黒からオレンジへ) を作成します。
private Color getColor(double i)
{
double ratio = i / (double)(iterations);
int col = (int)(i / iterations * 255);
int alpha = 255;
if (ratio >= 0 && ratio < 0.25)
return Color.FromArgb(alpha, col, col/5, 0);
if (ratio >= 0.25 && ratio < 0.50)
return Color.FromArgb(alpha, col, col/4, 0);
if (ratio >= 0.50 && ratio < 0.75)
return Color.FromArgb(alpha, col, col/3, 0);
if (ratio >= 0.75 && ratio < 1)
return Color.FromArgb(alpha, col, col/2, 0);
return Color.Black; //color of the set itself
}
難読化された Python スクリプト ( http://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python )のように、黒の環境 (マンデルブロ セットではない) を別の色に変更するにはどうすればよいですか? 既にスクリプトをより適切な形式に編集しましたが、私のアルゴリズムには適合しません。
編集:言及するのを忘れていましたが、私は複雑な引用符にクラスを使用していません.ウィキペディアに示されているアルゴリズムでフラクタルを計算しています.