我知道如何渲染(二维)“逃逸时间群”分形(朱利亚和曼德博集合),但似乎无法渲染一个Mobius变换或者牛顿盆。我尝试使用相同的方法(通过在每个像素上递归地使用多项式方程“n”次),但我有一种感觉这些分形是用完全不同的方法渲染的。Mobius“变换”意味着必须先存在一幅图像,然后对其进行变换以产生几何形状,而牛顿盆似乎绘制每个点,而不仅仅是落入某个集合的点。
这些分形是如何绘制的?它们是否使用与朱利亚和曼德博一样的迭代方法进行绘制?
我正在使用的方程:
Julia: Zn+1 = Zn^2 + C
其中Z是代表像素的复数,C是一个复常数(正确)。
Mandelbrot: Cn+1 = Cn^2 + Z
Z是代表像素的复数,C是复数(0, 0),每个步骤都会复合起来(与朱利亚集相反)。
Newton Basin: Zn+1 = Zn - (Zn^x - a) / (Zn^y - a)
其中 Z 代表表示像素的复数,x 和 y 是不同次数的指数,a 是一个复杂常数(错误 - 创建一个居中的、八条腿的“线性星”)。
Mobius Transformation: Zn+1 = (aZn + b) / (cZn + d)
其中,Z代表一个表示像素的复数,a、b、c和d是复常数(不正确,所有内容都属于该集合)。
那么,牛顿盆和莫比乌斯变换如何在复平面上绘制呢?
更新:莫比乌斯变换就是转换。
"Every Möbius transformation is
a composition of translations,
rotations, zooms (dilations) and
inversions."
执行Mobius变换时,必须先有一个形状、图片、涂抹等才能进行变换。
那么,牛顿盆如何呢?
更新2:我的牛顿盆数学计算有误。方程末尾的分母(应该是)原始函数的导数。可以通过研究MIT MatLab源代码中的“NewtonRoot.m”来理解该函数。搜索引擎可以很容易地找到它。但我仍然不知道如何在复平面上绘制它...
牛顿盆:
f(x) = x - f(x) / f'(x)