0

what gives one the ability to define how deep the zooming process would be?
what i mean is that i tried earlier to run mandelbrot set with 200 iteration and then compared the results with a 1000 iterations run. the results were kinda surprising because i got the same zooming level.the iterations were constant the entire process and the mandelbrot set was defined with 512X512 pixels constant. what should i change in order to get a deeper zooming level?
thanks!

edit : i would also like to mention that from nice looking picture, after i get to the 2nd-3rd level of mandelbrot the entire set is viewed as a giant pixel. why is that?

2d edit : after an extensive research i've just noticed that what makes the entire set to look like a big pixel is because all points get same iterations count,in my case they are all 60...

4

1 回答 1

2

这可能太抽象、太具体或难以理解。就像我在评论中所说的那样,与您手头的代码进行讨论会更容易。

如果您的意思是我认为缩放的意思,那么您将更改c(在公式中z[n+1] = z[n]^2 + c)的边界。

为了解释,完整的 Mandelbrot 集包含在一个以中心 为半径的圆内[0;0]。公式中的c是复数,即[r;i](实数;虚数),在电脑屏幕上,对应于xy

换句话说,如果我们放置半径为 2 的圆,使其完全包含在我们的图像中,那么[-2;2]它将是我们图像的左上角,并且[2;-2]是右下角。

然后,我们获取图像的每个点,根据[x;y]较小的“实际”坐标系计算其像素坐标对应的位置[r;i]。然后我们有我们的c并且可以通过我们的迭代发送它。

因此,要“缩放”,您将选择[r;i]除完整的[-2;2],之外的其他边界[2:-2],例如[-1;1], [1:-1]

使用 512x512 像素和现在为 2 x 2 的“实际”坐标系,这意味着每个像素对应于“实际”坐标系的 2/512 个单位。所以你的第一个r值是-1,下一个是-1 + 2/512 = -0.99609375等等。

迭代次数仅决定渲染的准确度。通常,您“放大”得越远,它们就需要越准确,因此您需要越多的迭代来捕捉细节。

于 2012-02-07T20:39:29.783 回答