【问题标题】:Conservative rendering of the boundary of mandelbrot set曼德布罗集边界的保守渲染
【发布时间】:2019-05-05 22:44:27
【问题描述】:

mandelbrot 集包含 mandelbrot 迭代有界的点,迭代点永远不会“逃逸”。

让我们将边界定义为点,迭代点在 N 次迭代后逃逸(逃逸是指与原点的距离大于 2)。

是否可以保守地渲染 mandelbrot 集的边界?我的意思是,如果一个像素区域覆盖了任何点,其逃逸迭代计数大于 N,那么应该设置该像素。


这是我要问的一些额外解释:我想将一个像素作为一个区域处理,并检查该区域中的所有点(无限多点)以获得最大的转义迭代计数。就像,将像素视为实心正方形,并将 mandelbrot 迭代应用于该正方形(而不是点)。问题是:这个正方形的任何部分是否有大于 N 的转义迭代计数?

【问题讨论】:

  • 我怀疑答案是否定的,因为如果答案是“是”,就会有一种极快的渲染技术:从包含整个位图的“像素”开始,测试当前像素,查看其中的任何点是否超过最大迭代次数,如果是,则递归细分为 4 个“子像素”,每个像素的高度和宽度为一半。
  • @j_random_hacker:我也是这么想的。当对一个实心正方形应用多次 mandelbrot 迭代时,它很可能会变得难以管理(难以描述的边界、自相交等)。

标签: algorithm fractals


【解决方案1】:

当然。这正是您在 Internet 上可以找到的数十个 Mandelbrot 渲染器中的每一个所做的。大多数使用不同的颜色来表示发散前的迭代次数。在某个最大迭代次数内未能发散的那些通常用黑色显示,但当然这取决于实现者。

【讨论】:

  • 感谢您的回答!我认为你错过了我问题的一个重要细节。这些渲染器只检查一个点的像素。我想将一个像素作为一个区域处理,并检查该区域中的所有点(无限多点)以获得最大的转义迭代计数。就像,将像素视为实心正方形,并将 mandelbrot 迭代应用于该正方形(而不是点)。问题是:这个正方形的任何部分是否有大于 N 的 escape-iteration-count?
猜你喜欢
  • 1970-01-01
  • 2017-10-26
  • 2017-12-03
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多