我正在用 C# 编写一个 Mandelbrot 应用程序(并且我正在使用 Python 进行测试)。我已经有了从集合到边界的连续着色。我目前的问题是设置环境的背景颜色。我当前用于获取颜色的代码现在看起来像这样,它将颜色设为双倍(对数函数之前完成)并检查它是否是一部分并创建一个非常平滑的渐变(从黑色到橙色)。
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
}
如何将黑色环境(不是 Mandelbrot 集)更改为另一种颜色,如混淆 Python 脚本(http://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python)呢?我已经将脚本编辑为更好的形式,但它不适合我的算法。
编辑:忘了提,我没有使用一个类来进行复杂的引用,我使用维基百科上显示的算法计算分形。