多线程mandelbrot集

时间:2017-06-29 16:14:44

标签: python algorithm math mandelbrot

是否可以将mandelbrot集的公式(默认为f(z)= z ^ 2 + c)更改为不同的公式(f(z)= z ^ 2 + c * e ^( - z)是我需要的)使用逃生时算法,如果可能的话怎么样? 我目前正在使用FB36的这段代码

netapi32.dll

1 个答案:

答案 0 :(得分:0)

从代码中我推断出z = x + y * ic = a + b * i。这对应f(z) - z ^2 + c。你想要f(z) = z ^2 + c * e^(-z)

回想一下e^(-z) = e^-(x + yi) = e^(-x) * e^i(-y) = e^(-x)(cos(y) - i*sin(y)) = e^(-x)cos(y) - i (e^(-x)sin(y))。因此,您应该将您的行更新为以下内容:

x0 = x * x - y * y + a * exp(-x) * cos(y) + b * exp(-x) * sin(y);
y = 2.0 * x * y + a * exp(-x) * sin(y) - b * exp(-x) * cos(y)
x = x0

您可能需要调整maxIt,如果您没有达到您之后的功能差异级别(平均可能需要更多或更少的迭代才能逃脱),但这应该是你追求的数学表达。

正如评论中指出的那样,您可能需要调整标准本身,而不仅仅是最大迭代次数,以便达到理想的区分水平:更改最大值并不会帮助那些永不逃避的标准。 / p>

你可以尝试获得一个良好的逃避条件或只是尝试一些东西,看看你得到了什么。