gpt4 book ai didi

formula - 放大 Mandelbrot 时计算动态迭代值

转载 作者:行者123 更新时间:2023-12-01 13:50:45 25 4
gpt4 key购买 nike

我试图弄清楚在 Mandelbrot 分形中移动时如何自动调整最大迭代值。

我发现的所有示例都使用 1000 或更少的常数,但这在放大分形集时还不够。

有没有办法根据例如您在 Mandelbrot 空间(x_start,x_end,y_start,y_end)中的位置来确定 max_iterations 的数量?

最佳答案

我尝试的一种方法是在 Mset 边界区域内重复预处理一小块区域,增加迭代次数,直到从一次重复到下一次重复的状态百分比变化很小。问题是,这在当前 map 上的不同位置会有所不同,因为“深度”在整个 map 上有所不同。如何找到合适的地方做这件事?通过记录上一代中“最深”的边界区域(仍将在下一个缩放区域内)。

但我最好的策略是尽可能避免迭代:

远离 Mset 的边界,相同深度的区域可以被“勾勒出轮廓”,然后用该深度填充。这不是一个简单的算法。基本上我遵循了光栅扫描,但是当我检测到迭代变化的边界时(检查所有邻居以确保我没有靠近 Mset 的边缘),我会切换到曲线缝合方法来围绕轮廓进行迭代到它开始的地方(显然没有重新计算我已经做过的点),然后用迭代级别第二遍填充计数内的光栅线。它充满了泄漏,但最终我破解了它。

在 Mset 中,我遵循了相同的方法,因为您最不想做的就是在广阔的区域中耕作并达到迭代限制。

困难区域靠近边界,迭代结果不能与相邻的平滑轮廓相关。轮廓拼接方法在这里不起作用,因为只有 1 个特定深度的像素。

使用轮廓方法也会在该区域的下侧或 Mset 侧出现故障,但由于该区域在放大之前看起来很困惑,所以我接受了这一点。

说了这么多,我只是将迭代深度设置得尽可能高,但也许您可以将我的第一段与区域填充技术结合起来。

顺便说一句,当尝试对缩放进行动画平滑播放时,对与 Mset 相邻的区域进行着色看起来很糟糕。出于这个原因,我通过与邻居的比较,将这个区域用灰度着色。如果差异太大,我首先将其着色为 0x808080,然后根据邻居深度的优势对其进行调整。都需要微调!

关于formula - 放大 Mandelbrot 时计算动态迭代值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com