Mandelbrot扰动是如何工作的?

zer*_*ero 5 c++ mandelbrot

有人可以解释一下本文中描述的扰动是如何加速渲染Mandelbrot集的吗?

我知道如何使用传统方法渲染Mandelbrot集合,其中对每个像素执行许多迭代,但我不太明白该文章中描述的是什么.

我像这样计算参考轨道:

std::complex<double> Xo(some_x, some_y);
std::complex<double> Xn(0,0);

for (int n = 0; n < maxIterations; ++n) {
  orbit.push_back(Xn);
  Xn = Xn * Xn + Xo;
}
Run Code Online (Sandbox Code Playgroud)

那是对的吗?那么我如何使用参考轨道计算所有其他像素?

MSa*_*ers 0

曼德尔布罗特尺寸的边界可能有无限长,但它仍然是整个平面的无限小部分。对于大多数像素,本文展示了如何以有限的精度计算局部邻域。

无论如何,您的工作精度都是有限的(double),所以这对您来说可能并不重要。