FractalPark
奇异入门

野牛

燃烧船家族的一种折叠二次变体:平方项取绝对值,交叉项保留 x 的符号,于是长出宽阔的角状瓣体和镜像内门。

在探索器中打开
野牛分形,展示角状瓣体、镜像门廊和扭曲细丝
FractalPark 渲染的野牛分形:宽阔角状瓣体围着镜像门廊,边缘缠着扭曲细丝。

概览

野牛把燃烧船的折叠挪了位置。它让实部、虚部各自平方,再对平方后的模长取绝对值,同时让交叉项里的 x 保留符号。折叠的模长和带符号的耦合放在一起,画出的几何既不像燃烧船,也不像更简化的凯尔特变体。

参数集向外张成宽大的弯角。瓣体里有镜像拱门和日蚀状区域,四周绕着细丝。沿实轴一折,上下两半便彼此照应。

燃烧船偏爱锐利的矩形火焰山脊;野牛把大瓣体的外缘画得更圆顺,把棱角留给内部拱门和细丝边界。这种反差一眼就能认出。

数学原理

野牛迭代

z(n+1) = absolute x(n) squared minus absolute y(n) squared + 2 i x(n) absolute y(n) + c

实部来自坐标模平方的差值:xₙ₊₁ = |xₙ|² − |yₙ|² + Re(c)。虚部让带符号的 xₙ 乘上折叠后的 yₙ:yₙ₊₁ = 2·xₙ·|yₙ| + Im(c)。关键差别在折叠的落点:野牛折叠平方后的项,不折叠平方前的原始坐标。交叉项留下 xₙ 的符号,也就留下了燃烧船全折叠交叉项抹掉的方向不对称性。

试试 c = −0.5。从 z₀ = 0 出发:第一步 z₁ = |0|² − |0|² + 2i·0·|0| − 0.5 = −0.5;第二步 z₂ = |−0.5|² − |0|² + 2i·(−0.5)·|0| − 0.5 = 0.25 − 0.5 = −0.25。轨道进入有界振荡,在负实轴上来回摆动。燃烧船用同一个 c,第二步是 (|−0.5| + i|0|)² − 0.5 = 0.25 − 0.5 = −0.25;路径已经不同,因为它先折叠实部再平方。

历史

1992 年燃烧船发表后,野牛分形从分形探索社区里冒了出来,成为众多变体之一。它属于“折叠”二次映射家族;绝对值操作换个位置、换个顺序,逃逸时间几何就会改头换面。

野牛分形没有像燃烧船那样的一篇起源论文。它很可能来自在线分形软件社区,Ultra Fractal、Fractal Extreme 等程序让人能自行定义迭代公式。“野牛”这个名字大概来自大瓣体的犄角形状,像野牛头的剪影。

目前可查的最早文档是 theory.org 的分形动力学页面,它把该公式称作燃烧船的衍生变体。FractalPark 实现的是 HPDZ 野牛变体,与该页描述的原始野牛公式不同。

视觉特征

宽阔角状瓣体定下整体轮廓,平滑外缘里切出锐利细节。瓣体内有镜像日蚀状门廊和扭曲细丝边界。整体沿实轴对称。

再创作与示例

从 canonical Document 开始

打开本指南使用的同一份已审定公式状态,再在交互式探索器中调整视图、着色、变换或动画。

常见问题

轨道的哪一部分被折叠?

野牛对坐标平方后的模长取绝对值;在交叉项中只折叠虚分量,同时保留 x 的符号。折叠发生在平方后的坐标模长上,不是在平方前的原始坐标上。燃烧船恰好相反:它先折叠两个原始分量,再整体平方。

野牛公式能生成 Julia 集吗?

可以。固定 c,改变初始点 z₀,就能看到野牛 Julia 集。所选 c 决定光滑与角形特征如何混在一起;连通和不连通的 Julia 结构都会出现。

参考资料