如何放大mandelbrot集?

| 我可以生成从minReal到maxReal以及从minImaginary到maxImaginary的Mandelbrot集的400x400图像。所以,
makeMandel(minReal, maxReal, minImaginary, maxImaginary);
我需要对其进行修改,以便拥有
makeMandel(centerX, centerY, Zoomlevel);
// generates a region of the mandelbrot set centered at centerX,centerY at a zoom level of Zoomlevel
(考虑缩放级别代表像素之间的距离,并由公式缩放级别n = 2 ^(-n)给出,因此缩放级别1表示像素相隔0.5个单位,缩放级别2表示0.25,依此类推...) 我的问题是如何根据第二个参数的参数来计算第一个makeMandel函数的参数? 我知道第一个功能可以缩放和移动,但是我不知道如何为任何给定的中心和缩放级别计算正确的数字。 我已经尝试使此功能工作超过三天了,我真的很困惑。我试过在纸上画表等等。 在阅读mandelbrot集和一些过去的stackoverflow问题时,我阅读了您在Google上找到的大多数文档,但我仍然不明白。请帮帮我。     
已邀请:
您可以通过以下方式解决它。如果您有两个定义
centerX = (minReal + maxReal)/2
sizeX = maxReal - minReal
您可以通过以下方式计算在轴上的延伸
minReal = centerX - sizeX/2
maxReal = centerX + sizeX/2
然后使用ѭ4calculated计算大小:
sizeX = 2^(-zoomLevel) * baseSize
y
和虚轴具有相同的公式。
sizeY = 2^(-zoomLevel) * baseSize   
minImaginary = centerY - sizeY/2
maxImaginary = centerY + sizeY/2
唯一定义为常数的是your8ѭ,即when4ѭ为零时在实轴和虚轴上的延伸。您可以考虑在真实和虚构方向上使用不同的“ 8”来覆盖图像的非正方形长宽比。     

要回复问题请先登录注册