【发布时间】:2019-05-05 22:44:27
【问题描述】:
mandelbrot 集包含 mandelbrot 迭代有界的点,迭代点永远不会“逃逸”。
让我们将边界定义为点,迭代点在 N 次迭代后逃逸(逃逸是指与原点的距离大于 2)。
是否可以保守地渲染 mandelbrot 集的边界?我的意思是,如果一个像素区域覆盖了任何点,其逃逸迭代计数大于 N,那么应该设置该像素。
这是我要问的一些额外解释:我想将一个像素作为一个区域处理,并检查该区域中的所有点(无限多点)以获得最大的转义迭代计数。就像,将像素视为实心正方形,并将 mandelbrot 迭代应用于该正方形(而不是点)。问题是:这个正方形的任何部分是否有大于 N 的转义迭代计数?
【问题讨论】:
-
我怀疑答案是否定的,因为如果答案是“是”,就会有一种极快的渲染技术:从包含整个位图的“像素”开始,测试当前像素,查看其中的任何点是否超过最大迭代次数,如果是,则递归细分为 4 个“子像素”,每个像素的高度和宽度为一半。
-
@j_random_hacker:我也是这么想的。当对一个实心正方形应用多次 mandelbrot 迭代时,它很可能会变得难以管理(难以描述的边界、自相交等)。