在 Wikipedia 的Mandelbrot 集页面上,有非常漂亮的 Mandelbrot 集生成图像。
我也刚刚实现了我自己的 Mandelbrot 算法。给定n
用于计算每个像素的迭代次数,我将它们从黑色到绿色再到白色的颜色非常简单(使用 C++ 和 Qt 5.0):
QColor mapping(Qt::white);
if (n <= MAX_ITERATIONS){
double quotient = (double) n / (double) MAX_ITERATIONS;
double color = _clamp(0.f, 1.f, quotient);
if (quotient > 0.5) {
// Close to the mandelbrot set the color changes from green to white
mapping.setRgbF(color, 1.f, color);
}
else {
// Far away it changes from black to green
mapping.setRgbF(0.f, color, 0.f);
}
}
return mapping;
我的结果是这样的:
我已经非常喜欢它了,但是维基百科中的图像使用哪种颜色渐变?如何用给定n
的迭代计算梯度?
(这个问题与平滑无关。)