对称混沌 (Symmetry Chaos)
简介

对称混沌(Symmetry in Chaos)将数学中的对称性与混沌理论融合为令人惊叹的视觉艺术。基于数学家 Michael Field 和 Martin Golubitsky 的经典著作 Symmetry in Chaos,本场景通过在 GPU 上并行迭代数百万粒子,利用密度累积和色调映射技术,生成具有精确旋转对称性的混沌吸引子图像——从盾形(Shield)、披风形(Cloak)到风车形(Pinwheel),每一种对称类型都蕴含着深刻的数学之美。
说明:
Symmetry Chaos与Map Attractor共享密度图渲染内核,但两者在场景与运行时更新入口上已完全分离。Symmetry Chaos拥有独立的方程模板系统、参数随机化器和动画控制器,专注于对称混沌吸引子的生成与探索。
核心能力:
- GPU 高性能渲染:纯 GPU 三遍管线,支持数十万粒子并行迭代与密度累积
- 方程模板系统:内置标准方程与修正方程两种模板,参数名由模板动态决定
- 智能参数随机化:6 种预设对称类型(盾形、披风形、扇刃形、风车形、肋星形、双翼形),一键探索可见且稳定的参数组合
- 专业色调映射:完整的亮度、对比度、伽马、动态范围、饱和度控制链
- 调色板系统:支持手动、余弦和曲线三种渐变模式,配合 JSON 调色板实现丰富的色彩表达
- 完整动画支持:集成参数振荡动画系统,支持参数的平滑周期性变化
数学背景
什么是对称混沌?
对称混沌是一类具有旋转对称性的离散动力系统。1992 年,数学家 Michael Field 和 Martin Golubitsky 在其著作 Symmetry in Chaos: An Introduction to Theory and Applications 中系统性地研究了这类系统,揭示了混沌与对称性之间看似矛盾却又深刻统一的关系。
在普通混沌吸引子中,我们通常看到的是无序的、破碎的结构。然而,当我们在迭代映射中强制引入对称性约束时,混沌行为可以在保持对称性的同时展现出令人惊叹的复杂图案——这就是"对称混沌"的核心思想。
对称混沌的数学方程
将二维平面上的点视为复数 z = x + iy,对称混沌的迭代映射可以表示为:
标准方程(Standard):
修正方程(Modified):
其中 θ = arg(z) 是 z 的辐角,n 是对称度数(symmetry degree)。
参数含义
| 参数 | 含义 | 范围 | 说明 |
|---|---|---|---|
| λ (lambda) | 线性项系数 | [-3, 3] | 控制吸引子的整体缩放和存在性 |
| α (alpha) | 二次项系数 | [-3, 3] | 控制吸引子的有界性,通常与 λ 反号 |
| β (beta) | 对称项系数 | [-1.5, 1.5] | 控制对称结构的强度 |
| γ (gamma) | 旋转项系数 | [-1, 1] | 控制对称花瓣的旋转偏移 |
| ω (omega) | 镜像项系数 | [-1, 1] | 控制镜像对称性,ω=0 时为纯旋转对称 |
| n (symmetry_degree) | 对称度数 | [2, 50] | 旋转对称的阶数,n=3 产生三重对称 |
| δ (delta) | 修正项系数 | [-1, 1] | 仅修正方程,控制额外的径向调制 |
| p (delta_power) | 修正幂次 | [1, 6] | 仅修正方程,控制修正项的角度频率 |
对称度数与图案类型
对称度数 n 决定了图案的旋转对称阶数:
- n = 2:二重对称(双翼形,Binary Wing)
- n = 3:三重对称(三角图案)
- n = 5:五重对称(五角星图案)
- n = 7+:高阶对称(复杂花瓣图案)
历史背景
对称混沌的研究起源于 20 世纪 80 年代末的非线性动力学领域。Michael Field 和 Martin Golubitsky 发现,通过对迭代映射施加等变对称性(equivariant symmetry)约束,混沌吸引子可以在保持对称性的同时展现丰富的结构。这一发现不仅在数学上具有重要意义,也为计算机生成艺术提供了理论基础。他们的著作 Symmetry in Chaos(1992 年首版,1995 年修订版)至今仍是对称混沌理论的权威参考。
界面概览
所有控制项位于右侧的属性面板中,分为六个主要部分:
- Geometry(几何):选择方程模板、随机化参数、调节方程参数和空间变换
- Simulation(模拟):配置迭代属性和色调映射参数
- Camera(相机):控制观察视角
- Formulas(公式):显示数学公式和标注
- Appearance(外观):调整背景颜色和渐变调色板
- Parameters(参数):定义方程中使用的自定义常量(高级用法)
配置指南
1. Geometry(几何设置)

方程模板选择
系统提供两种内置方程模板:
Standard(标准方程):Field & Golubitsky 的经典对称混沌方程
- 参数:lambda, alpha, beta, gamma, omega, symmetry_degree
- 适合生成经典的盾形、披风形等对称图案
Modified(修正方程):在标准方程基础上增加 delta 修正项
- 额外参数:delta, delta_power
- delta 项引入径向调制,可以产生更复杂的肋状结构(如肋星形 Ribbed Star)
- 修正项公式:δ|z|cos(n·p·θ),其中 p 为 delta_power
切换模板时,系统会自动更新公式显示和参数面板。如果当前公式文本仍为模板默认值,会同步更新为新模板的公式。
只读公式显示
公式文本以只读方式展示当前方程的数学表达,帮助理解迭代映射的数学结构。公式中高亮显示的变量名与下方参数滑块一一对应。
方程参数设置
随机类型(Random Type)
这是 Symmetry Chaos 最强大的探索工具之一。选择不同的随机类型后,点击"随机可见"按钮,系统会自动搜索产生可见且稳定吸引子的参数组合。
| 随机类型 | 中文名称 | 特征描述 | 对称度数范围 | 是否需要修正方程 |
|---|---|---|---|---|
| Shield-like | 盾形 | 类似盾牌的对称图案,ω 较小 | 3-12 | 否 |
| Cloak-like | 披风形 | 类似披风的对称图案,λ < 0 | 5-16 | 否 |
| Sector Blade | 扇刃形 | 扇形刀刃状图案, | β | 较大 |
| Pinwheel | 风车形 | 旋转风车状图案, | ω | 较大 |
| Ribbed Star | 肋星形 | 带肋条的星形图案,δ ≠ 0 | 3-12 | 是 |
| Binary Wing | 双翼形 | 二重对称的蝴蝶翼状图案 | 2 | 否 |
| Any | 任意 | 无约束随机搜索 | 2-10 | 否 |
选择"肋星形"类型时,系统会自动切换到修正方程模板,因为该类型需要 delta 参数。
随机可见按钮
点击"随机可见"按钮后,系统会在后台执行参数搜索:
- 根据所选随机类型的参数范围约束进行采样
- 对每组候选参数执行轻量级可见性验收(预热 80 步 + 采样 2200 步)
- 评估有限性比率、可见性比率、覆盖率和中心偏移等指标
- 最多尝试 180 次,返回得分最高的可见参数组合
锁定对称度数
勾选"锁定对称度数"后,随机搜索将保持当前的 symmetry_degree 值不变,仅随机化其他参数。这在已经找到满意的对称阶数但想探索不同形态时非常有用。
参数滑块
每个参数都提供滑块和数值输入框,支持实时调节:
- lambda:范围 [-3, 3],精度 3 位小数
- alpha:范围 [-3, 3],精度 3 位小数
- beta:范围 [-1.5, 1.5],精度 3 位小数
- gamma:范围 [-1, 1],精度 3 位小数
- omega:范围 [-1, 1],精度 3 位小数
- symmetry_degree:范围 [2, 50],整数
- delta(仅修正方程):范围 [-1, 1],精度 3 位小数
- delta_power(仅修正方程):范围 [1, 6],整数
注意:修改 symmetry_degree 或 delta_power 属于结构性变更,需要重新编译着色器,可能产生短暂的卡顿。其他参数的修改可以在运行时热更新,无需重编译。
空间变换
- Scale X/Y/Z:调整吸引子在场景中的大小
- Offset X/Y/Z:调整吸引子在场景中的位置
- 提示:对称混沌始终为 2D 渲染,Z 轴的缩放和偏移通常不需要调整
2. Simulation(模拟设置)
控制系统的迭代行为和视觉呈现。对称混沌使用纯 GPU 渲染管线,没有 CPU/GPU 模式切换。

迭代设置
Batch Size(批次大小):并行迭代的粒子数量
- 作用:决定每帧参与计算的粒子总数
- 默认值:262,144(约 26 万)
- 建议:
- 低对称度数(n=2-5):100,000 - 500,000
- 高对称度数(n>10):50,000 - 200,000
- 注意:过大的 Batch Size 会消耗大量 GPU 显存,可能导致渲染卡顿
Iterations Per Frame(每帧迭代次数):每渲染帧中执行的映射迭代次数
- 范围:1 - 16
- 作用:控制吸引子密度累积的速度
- 建议:通常设为 1 即可;增大此值可以更快地填充吸引子
Burn-In Steps(预热步数):在绘制第一帧之前预先迭代的步数
- 作用:将粒子从初始位置引导至吸引子轨道上
- 建议:至少 50 步,避免初始随机分布造成的视觉突兀
密度与色调映射
对称混沌使用密度累积 + 色调映射的渲染管线,这是生成高质量对称混沌图像的核心技术。
Accumulation Decay(累积衰减):控制历史密度数据的保留程度
- 范围:0.0 - 1.0
- 默认值:1.0(完全保留)
- 作用:值为 1.0 时密度完全累积;降低此值会使旧的密度逐渐衰减,产生"淡出"效果
- 建议:保持 1.0 以获得完整的吸引子图像;降低至 0.9-0.99 可观察参数变化时的过渡效果
Brightness(亮度):整体亮度偏移
- 范围:-0.5 - 1.5
- 默认值:0.3
- 作用:调整累积密度的整体亮度
Contrast(对比度):密度分布的对比度
- 范围:0.1 - 2.0
- 默认值:1.0
- 作用:增强或减弱密度分布的明暗对比
Gamma(伽马校正):非线性亮度映射
- 范围:0.1 - 10.0
- 默认值:2.2
- 作用:控制中间调的亮度。较大的值使暗部细节更明显,较小的值使亮部更突出
- 建议:2.2 是标准的 sRGB 伽马值,适合大多数场景
Dynamic Range(动态范围):密度映射的动态范围
- 范围:0.1 - 1.0
- 默认值:0.2
- 作用:控制密度到亮度的映射范围。较小的值使吸引子更明亮,较大的值保留更多暗部细节
Saturation(饱和度):颜色饱和度
- 范围:0.0 - 1.0
- 默认值:0.8
- 作用:0.0 为灰度,1.0 为全饱和
3. Camera(相机控制)
调整观察视角和相机参数。
相机角度
Phi(俯仰角):相机的垂直角度
- 范围:0 到 π(0 到 180 度)
- 默认值:π/2(90 度,水平观察)
Theta(偏航角):相机的水平角度
- 范围:0 到 2π(0 到 360 度)
- 默认值:0
Gamma(滚转角):相机的旋转角度
- 范围:0 到 2π(0 到 360 度)
- 默认值:0
使用技巧
- 对称混沌始终为 2D 渲染:通常使用正上方俯视(Phi = 0 或 π)或水平观察(Phi = π/2)
- 旋转观察:调整 Theta 可以旋转观察角度,配合对称度数可以更好地欣赏图案的对称性
- 动画效果:结合时间线系统创建相机旋转动画
4. Formulas(公式显示)
在场景中显示数学公式和方程。
主方程显示
Show Main Equation(显示主方程):开启/关闭主方程显示
- 作用:在场景中显示当前对称混沌的迭代方程
- 自动生成:系统会根据当前方程和参数自动生成 LaTeX 公式
主方程位置:
- X:水平位置坐标
- Y:垂直位置坐标
- Scale:公式缩放比例
- Color:公式颜色
自定义公式
可以添加多个自定义公式到场景中:
- 添加公式:点击 "Add Formula" 按钮添加新公式
- 公式内容:
- LaTeX:LaTeX 格式的数学公式
- X:水平位置坐标
- Y:垂直位置坐标
- Scale:公式缩放比例
- Color:公式颜色
- 删除公式:点击公式右上角的删除按钮移除
5. Appearance(外观设置)
背景颜色
- Background Color:设置渲染背景颜色
- 对称混沌通常使用黑色或深色背景以突出吸引子的细节
渐变调色板
对称混沌使用 1D LUT(查找表)纹理进行着色,支持三种渐变模式:
Manual(手动模式):
- 手动添加、删除和调整颜色节点
- 支持拖拽重排颜色顺序
- 可选择随机策略(单色、类似色、互补色、分裂互补色)
Cosine(余弦模式):
- 使用 IQ 余弦调色板公式:color(t) = a + b · cos(2π(c·t + d))
- 分别控制 R/G/B 三个通道的偏移、振幅、频率和相位
- 支持一键随机化和应用
Curve(曲线模式):
- 通过可编辑的贝塞尔曲线分别控制 R/G/B 三个通道
- 提供最灵活的颜色控制
- 支持一键随机化和应用
动画和时间线
参数振荡动画
对称混沌支持参数振荡动画(Parameter Oscillation Animation),可以让参数在指定范围内做周期性正弦振荡。
工作原理
参数振荡动画通过 SymmetryChaosParameterAnimator 实现:
- 为每个参数指定振荡的步长(step)、范围(min, max)和边沿缓动(edge easing)
- 参数值在 [min, max] 范围内做正弦振荡:
value = mid + amp * sin(phase) - 振荡速度由步长和步长缩放因子(step scale)共同控制
- 边沿缓动确保参数接近范围边界时减速,避免突变
动画类型
StartSymmetryChaosParamAnimation:启动参数振荡动画
- 可以为单个参数启动,也可以为所有参数同时启动
- 启动时步长缩放从 0 渐增到 1,实现平滑过渡
- 配置参数:
paramName:参数名称(为 null 时作用于所有参数)step:振荡步长(正值正向振荡,负值反向振荡)min:振荡范围下限max:振荡范围上限duration:启动过渡时长edgeEasing:边沿缓动配置
StopSymmetryChaosParamAnimation:停止参数振荡动画
- 步长缩放从当前值渐降至 0,实现平滑停止
可动画化的参数
所有方程参数均支持动画化:
- lambda:线性项系数
- alpha:二次项系数
- beta:对称项系数
- gamma:旋转项系数
- omega:镜像项系数
- delta(修正方程):修正项系数
相机动画
对称混沌同样支持标准的相机动画:
- 旋转:围绕吸引子旋转相机
- 对齐:将相机对齐到特定角度
- 缩放:调整相机距离
配置方法
通过 JSON 配置文件中的 timeline 数组定义动画序列:
{
"timeline": [
{
"type": "animate",
"duration": 15.0,
"easing": "SINE_IN_OUT",
"actions": [
{"method": "rotateTheta", "args": [6.283]}
]
},
{
"type": "hold",
"duration": 2.0
}
]
}性能与最佳实践
推荐配置
| 目标 | Batch Size | 迭代/帧 | 预热步数 | 伽马 | 动态范围 |
|---|---|---|---|---|---|
| 高质量图像 | 500,000+ | 1 | 200+ | 2.2 | 0.15-0.25 |
| 实时交互 | 100,000-200,000 | 1-2 | 50-100 | 2.2 | 0.2-0.3 |
| 参数探索 | 50,000-100,000 | 1 | 50 | 2.2 | 0.2 |
性能优化技巧
Batch Size 调整:
- 降低 Batch Size 是最直接的性能优化手段
- 高对称度数(n>20)的方程计算量更大,建议使用较小的 Batch Size
色调映射调优:
- 增大 Dynamic Range 可以让更多细节可见,但可能需要同步调整 Brightness
- Gamma 值对视觉效果影响显著,2.2 是一个良好的起点
预热优化:
- 适当的预热步数可以避免初始帧的视觉噪声
- 过多的预热步数会增加场景加载时间
参数变化时的重建:
- 修改结构性参数(symmetry_degree, delta_power)会触发着色器重编译和累积缓冲区重建
- 修改非结构性参数(lambda, alpha 等)仅触发 Replay 重建
- 重建过程会渐进式地重新填充密度,避免画面突然跳变
常见问题
画面全黑或全白
问题:渲染结果完全黑色或完全白色
原因:色调映射参数不匹配当前吸引子的密度分布
解决方案:
- 调整 Brightness(全黑时增大,全白时减小)
- 调整 Dynamic Range(全黑时减小,全白时增大)
- 调整 Gamma(全黑时增大伽马值)
- 检查 Batch Size 是否足够大以产生可见的密度
吸引子形状不完整
问题:吸引子只显示部分结构
原因:预热步数不足或参数组合导致吸引子范围超出视野
解决方案:
- 增加 Burn-In Steps(如从 50 增加到 200)
- 增大 Iterations Per Frame 以加速密度累积
- 调整 Scale 和 Offset 将吸引子移入视野
粒子发散
问题:画面出现均匀的噪声或完全模糊
原因:参数组合导致迭代发散
解决方案:
- 使用"随机可见"按钮搜索稳定的参数组合
- 确保 alpha 与 lambda 符号相反(这是产生有界吸引子的常见条件)
- 某些参数组合会导致迭代发散,这是映射本身的数学性质,而非软件错误
图案缺乏对称性
问题:生成的图案没有预期的旋转对称性
原因:omega 参数破坏了纯旋转对称
解决方案:
- 将 omega 设为 0 可获得纯旋转对称图案
- 非零的 omega 会引入镜像对称成分,产生更复杂的图案
修改参数后画面闪烁
问题:修改参数时画面出现闪烁或跳变
原因:参数变化触发了累积缓冲区的重建
解决方案:
- 这是正常行为——系统需要重建密度累积以反映新的参数
- 重建过程通常在 0.5 秒内完成
- 如果闪烁过于频繁,可以在暂停状态下调整参数
经典对称混沌示例
盾形吸引子(三重对称)
模板:Standard
lambda = 2.0, alpha = -2.43, beta = 1.0
gamma = 0.05, omega = 0.0, symmetry_degree = 3披风形吸引子(五重对称)
模板:Standard
lambda = -1.5, alpha = 1.8, beta = 0.8
gamma = 0.3, omega = 0.1, symmetry_degree = 5风车形吸引子(四重对称)
模板:Standard
lambda = 1.8, alpha = -2.0, beta = 0.5
gamma = 0.2, omega = 0.6, symmetry_degree = 4肋星形吸引子(修正方程)
模板:Modified
lambda = 2.0, alpha = -2.43, beta = 1.0
gamma = 0.05, omega = 0.0, delta = 0.5
symmetry_degree = 5, delta_power = 3双翼形吸引子
模板:Standard
lambda = 1.5, alpha = -1.8, beta = 0.6
gamma = 0.3, omega = 0.2, symmetry_degree = 2更多效果展示


技术细节
GPU 渲染管线
对称混沌使用三遍 GPU 渲染管线:
状态更新遍(Update Pass):
- 读取当前粒子状态纹理(位置 + 步长度量)
- 执行对称混沌方程计算下一状态
- 使用 Ping-Pong 双缓冲技术实现状态交替读写
密度累积遍(Accumulate Pass):
- 将粒子位置投影到屏幕空间
- 使用加法混合(Additive Blending)将粒子密度累积到浮点纹理
- 支持累积衰减(Decay)实现动态效果
呈现遍(Present Pass):
- 对累积密度应用色调映射链:亮度 → 对比度 → 伽马 → 动态范围 → 饱和度
- 使用 PaletteRuntime 生成 1D LUT 纹理进行颜色映射
- 自动缩放因子根据累积采样数和视口大小计算,确保不同分辨率下视觉一致
着色器编译
对称混沌方程在运行时编译为 GLSL 着色器代码:
- 使用
SymmetryChaosFunctionGenerator根据方程模板生成 GLSL 函数 - zⁿ⁻¹ 的计算通过迭代乘法实现,支持最高 n=50
- 结构性参数(symmetry_degree, delta_power)变更需要重新编译着色器
- 非结构性参数(lambda, alpha, beta, gamma, omega, delta)通过 Uniform 变量传递,修改参数值不需要重新编译着色器
Replay 机制
当参数或相机发生变化时,系统会触发 Replay 重建:
- 重置粒子状态到初始位置
- 重新执行预热迭代
- 渐进式地重新累积密度(约 0.5 秒内完成)
- 确保画面平滑过渡,避免突然跳变
参数随机化算法
SymmetryChaosParameterRandomizer 采用约束采样 + 轻量可见性验收的方案:
- 约束采样:根据随机类型(Shield-like, Cloak-like 等)的参数范围约束进行采样
- 可见性验收:对每组候选参数执行预热(80 步)+ 采样(2200 步),评估:
- 有限性比率(≥ 99%)
- 可见性比率(≥ 30%)
- 覆盖率(0.3% - 28%)
- 中心偏移(≤ 1.8)
- 评分机制:综合覆盖率适应度、可见性比率和有限性比率计算得分
- 最多尝试 180 次,优先返回验收通过的参数组合
创作技巧
参数探索
- 从随机类型开始:选择一个感兴趣的随机类型(如盾形),点击"随机可见"获取起点
- 锁定对称度数:找到满意的对称阶数后锁定它,继续随机化其他参数
- 微调参数:在随机结果基础上小范围调整参数,观察图案的细微变化
- 尝试修正方程:切换到修正方程,利用 delta 参数创造更复杂的结构
视觉调优
色调映射:
- 先调整 Dynamic Range 让吸引子整体可见
- 再调整 Gamma 让中间调细节呈现
- 最后微调 Brightness 和 Contrast
着色方案:
- 使用余弦调色板模式快速生成和谐的色彩方案
- 调整 Saturation 控制颜色鲜艳度
- 深色背景配合高饱和度色彩通常效果最佳
对称性控制:
- omega = 0 产生纯旋转对称图案
- 非零 omega 引入镜像对称成分,图案更加丰富
- gamma 控制花瓣的旋转偏移,影响图案的"旋转感"
动画设计
参数振荡:
- 为 lambda 和 alpha 设置振荡动画,观察图案的形态演变
- 使用不同的步长方向(正/负)创造非对称的运动模式
- 边沿缓动确保参数在范围边界处平滑过渡
相机运动:
- 旋转动画可以展现图案的对称性
- 缩放动画可以揭示细节结构
与 Map Attractor 的对比
| 方面 | 对称混沌 (Symmetry Chaos) | 映射吸引子 (Map Attractor) |
|---|---|---|
| 方程类型 | 预设对称方程模板 | 自定义迭代映射 |
| 参数系统 | 固定参数名(lambda, alpha 等) | 自定义参数名 |
| 对称性 | 强制旋转对称 | 无对称性约束 |
| 维度 | 始终 2D | 2D 或 3D |
| 随机化 | 6 种对称类型预设 | 通用随机搜索 |
| 典型图案 | 盾形、披风形、风车形等 | Clifford、Peter de Jong 等 |
| 适合场景 | 对称图案探索 | 自定义映射实验 |
注意事项
参数稳定性:
- 并非所有参数组合都能产生有界吸引子
- 某些参数组合会导致迭代发散,表现为全屏噪声或空白
- 建议使用"随机可见"按钮获取稳定的起点
GPU 显存:
- 过大的 Batch Size 会消耗大量 GPU 显存
- 状态纹理大小为 ⌈√BatchSize⌉ × ⌈√BatchSize⌉
- 累积纹理大小等于渲染分辨率,使用 RGBA32F 格式
结构性参数变更:
- 修改 symmetry_degree 或 delta_power 需要重编译着色器
- 重编译期间画面会短暂卡顿,这是正常行为
- 其他参数的修改不需要重编译,可以实时更新
方程模板切换:
- 切换到修正方程时,delta 和 delta_power 参数会自动出现
- 切换回标准方程时,这两个参数会被隐藏但不会丢失
对称度数范围:
- symmetry_degree 的有效范围为 2-50
- 过高的对称度数会增加计算量并可能降低渲染性能
- 实际应用中,2-16 的对称度数通常能产生最有趣的图案
进阶主题
理解对称混沌的数学结构
对称混沌方程的核心是复数迭代 z → F(z),其中 F 具有 Z_n 等变性(equivariance),即 F(ρz) = ρF(z),ρ = e^{2πi/n} 是 n 阶旋转。这意味着如果 z 在吸引子上,那么 ρz 也在吸引子上——吸引子本身具有 n 重旋转对称性。
标准方程与修正方程的区别
标准方程中的 p 值仅依赖于 |z|² 和 Re(zⁿ),这保证了 Z_n 等变性。修正方程额外引入了 δ|z|cos(n·p·θ) 项,其中 θ = arg(z)。这个修正项在保持 Z_n 等变性的同时,增加了径向方向的调制,可以产生更丰富的结构变化——特别是"肋状"纹理。
创造自定义对称图案
虽然 Symmetry Chaos 使用预设方程模板,但通过巧妙调整参数,你可以创造出丰富多变的对称图案:
- 从一个随机类型开始获取基础参数
- 逐步调整 gamma 观察花瓣的旋转变化
- 引入非零 omega 打破纯旋转对称
- 在修正方程中调整 delta 和 delta_power 创造径向纹理
- 利用参数振荡动画探索参数空间中的连续变化
参考资源
数学理论
- Michael Field & Martin Golubitsky - Symmetry in Chaos: An Introduction to Theory and Applications (1992)
- Michael Field & Martin Golubitsky - Symmetry in Chaos: A Search for Pattern in Mathematics, Art, and Nature (2nd Edition, 2009)
在线资源
软件文档
- OpenGL 着色器编程指南
- GLSL 语言规范
