math - 一些帮助渲染 Mandelbrot 集

标签 math graphics mandelbrot

我接受了一些有关 Mandelbrot 集的分形可视化的工作。

我并不是在寻找完整的解决方案(当然),我是在寻求有关复数轨道的帮助。

假设我有一个从复平面上的点导出的给定数。我现在需要迭代其轨道序列并根据轨道是否增加数量级来绘制点。

如何收集复数的轨道?非常感谢任何指导(链接等)。测试轨道序列所需的任何数学函数指针,例如Math.pow()

我使用的是 Java,但这与此无关。

再次感谢, 亚历克斯

最佳答案

当您显示 Mandelbrot 集时,您只需将实平面和虚平面分别转换为 x 和 y 坐标即可。

例如,复数 4.5 + 0.27i 会转换为 x = 4.5, y = 0.27

Mandelbrot 集是方程 Z = Z² + C 永远不会达到 |Z| 值的所有点。 >= 2,但实际上,您包括在特定迭代次数(例如 1000)内值不超过 2 的所有点。为了获得您通常看到的集合的彩色渲染,您可以为外部的点指定不同的颜色设置取决于他们达到极限的速度。

由于它是复数,因此方程实际上是 Zr + Zi = (Zr + Zi)² + Cr + Ci。您可以将其分为两个方程,一个用于实平面,一个用于虚平面,然后它就是简单的代数。 C是要测试的点的坐标,Z的初始值为零。

这是我的多线程 Mandelbrot 生成器的图像:)

Mandelbrot set

关于math - 一些帮助渲染 Mandelbrot 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066068/

相关文章:

java - 关于JFrame上鼠标单击时添加矩形

java - 使用 AffineTransform 从四边形变换为四边形?

python - Mandelbrot 在不同的 X 和 Y 值处设置 'tearing'

c++ - 如何遵循调用自身的函数的流程?

javascript - 计算递减值的算法,接近极限

javascript - 图 block 在网格中所属的位置

php - 字节到千兆字节的转换不起作用

r - ggplot stat_smooth : change look of multiple bands

c - 并行 mandelbrot 算法中 C 中 memcpy 的段错误 : How to use pointers in a struct?

code-golf - Code Golf : the Mandelbrot set