首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不同的Mandelbrot缩放值会产生相同的结果?

为什么不同的Mandelbrot缩放值会产生相同的结果?
EN

Stack Overflow用户
提问于 2012-02-08 03:09:22
回答 1查看 333关注 0票数 0

是什么让人有能力定义缩放过程的深度?

我的意思是,我之前尝试了200次迭代运行mandelbrot set,然后将结果与1000次迭代进行了比较。结果有点令人惊讶,因为我得到的缩放level.the迭代次数是恒定的,整个过程和曼德尔布洛特集都是用512X512像素常量定义的。为了获得更深的缩放级别,我应该做些什么更改?

谢谢!

编辑:我还想提一提,从漂亮的图片来看,在我到达mandelbrot的2-3级后,整个集合被视为一个巨大的像素。为什么会这样呢?

2d编辑:经过广泛的研究后,我刚刚注意到,让整个集合看起来像一个大像素的原因是因为所有点都有相同的迭代次数,在我的例子中,它们都是60次。

EN

回答 1

Stack Overflow用户

发布于 2012-02-08 04:39:30

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

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

为了解释,完整的曼德尔布洛特集包含在围绕中心[0;0]半径为2的圆内。公式中的c是一个复数,即[r;i] (实数;虚数),在计算机屏幕上,它对应于xy

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

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

所以,为了“缩放”,你可以选择其他的边界而不是完整的[-2;2][2:-2],比如[-1;1][1:-1]

有了512x512像素,“实际”坐标系现在是2x2,这意味着每个像素对应于“实际”坐标系的2/512单位。所以你的第一个r值是-1,下一个是-1 + 2/512 = -0.99609375,依此类推。

迭代次数只决定渲染的精确度。一般来说,你“放大”得越远,它们就需要越精确,所以你需要更多的迭代来捕捉细节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9182303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档