Skip to content

对称混沌 (Symmetry Chaos)

简介

对称混沌示例

对称混沌(Symmetry in Chaos)将数学中的对称性与混沌理论融合为令人惊叹的视觉艺术。基于数学家 Michael Field 和 Martin Golubitsky 的经典著作 Symmetry in Chaos,本场景通过在 GPU 上并行迭代数百万粒子,利用密度累积和色调映射技术,生成具有精确旋转对称性的混沌吸引子图像——从盾形(Shield)、披风形(Cloak)到风车形(Pinwheel),每一种对称类型都蕴含着深刻的数学之美。

说明:Symmetry ChaosMap 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 年修订版)至今仍是对称混沌理论的权威参考。


界面概览

所有控制项位于右侧的属性面板中,分为六个主要部分:

  1. Geometry(几何):选择方程模板、随机化参数、调节方程参数和空间变换
  2. Simulation(模拟):配置迭代属性和色调映射参数
  3. Camera(相机):控制观察视角
  4. Formulas(公式):显示数学公式和标注
  5. Appearance(外观):调整背景颜色和渐变调色板
  6. 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披风形类似披风的对称图案,λ < 05-16
Sector Blade扇刃形扇形刀刃状图案,β较大
Pinwheel风车形旋转风车状图案,ω较大
Ribbed Star肋星形带肋条的星形图案,δ ≠ 03-12
Binary Wing双翼形二重对称的蝴蝶翼状图案2
Any任意无约束随机搜索2-10

选择"肋星形"类型时,系统会自动切换到修正方程模板,因为该类型需要 delta 参数。

随机可见按钮

点击"随机可见"按钮后,系统会在后台执行参数搜索:

  1. 根据所选随机类型的参数范围约束进行采样
  2. 对每组候选参数执行轻量级可见性验收(预热 80 步 + 采样 2200 步)
  3. 评估有限性比率、可见性比率、覆盖率和中心偏移等指标
  4. 最多尝试 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 实现:

  1. 为每个参数指定振荡的步长(step)、范围(min, max)和边沿缓动(edge easing)
  2. 参数值在 [min, max] 范围内做正弦振荡:value = mid + amp * sin(phase)
  3. 振荡速度由步长和步长缩放因子(step scale)共同控制
  4. 边沿缓动确保参数接近范围边界时减速,避免突变

动画类型

  • StartSymmetryChaosParamAnimation:启动参数振荡动画

    • 可以为单个参数启动,也可以为所有参数同时启动
    • 启动时步长缩放从 0 渐增到 1,实现平滑过渡
    • 配置参数:
      • paramName:参数名称(为 null 时作用于所有参数)
      • step:振荡步长(正值正向振荡,负值反向振荡)
      • min:振荡范围下限
      • max:振荡范围上限
      • duration:启动过渡时长
      • edgeEasing:边沿缓动配置
  • StopSymmetryChaosParamAnimation:停止参数振荡动画

    • 步长缩放从当前值渐降至 0,实现平滑停止

可动画化的参数

所有方程参数均支持动画化:

  • lambda:线性项系数
  • alpha:二次项系数
  • beta:对称项系数
  • gamma:旋转项系数
  • omega:镜像项系数
  • delta(修正方程):修正项系数

相机动画

对称混沌同样支持标准的相机动画:

  • 旋转:围绕吸引子旋转相机
  • 对齐:将相机对齐到特定角度
  • 缩放:调整相机距离

配置方法

通过 JSON 配置文件中的 timeline 数组定义动画序列:

json
{
  "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+1200+2.20.15-0.25
实时交互100,000-200,0001-250-1002.20.2-0.3
参数探索50,000-100,0001502.20.2

性能优化技巧

  1. Batch Size 调整

    • 降低 Batch Size 是最直接的性能优化手段
    • 高对称度数(n>20)的方程计算量更大,建议使用较小的 Batch Size
  2. 色调映射调优

    • 增大 Dynamic Range 可以让更多细节可见,但可能需要同步调整 Brightness
    • Gamma 值对视觉效果影响显著,2.2 是一个良好的起点
  3. 预热优化

    • 适当的预热步数可以避免初始帧的视觉噪声
    • 过多的预热步数会增加场景加载时间
  4. 参数变化时的重建

    • 修改结构性参数(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

更多效果展示

对称混沌示例 1对称混沌示例 2对称混沌示例 3

技术细节

GPU 渲染管线

对称混沌使用三遍 GPU 渲染管线:

  1. 状态更新遍(Update Pass)

    • 读取当前粒子状态纹理(位置 + 步长度量)
    • 执行对称混沌方程计算下一状态
    • 使用 Ping-Pong 双缓冲技术实现状态交替读写
  2. 密度累积遍(Accumulate Pass)

    • 将粒子位置投影到屏幕空间
    • 使用加法混合(Additive Blending)将粒子密度累积到浮点纹理
    • 支持累积衰减(Decay)实现动态效果
  3. 呈现遍(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 采用约束采样 + 轻量可见性验收的方案:

  1. 约束采样:根据随机类型(Shield-like, Cloak-like 等)的参数范围约束进行采样
  2. 可见性验收:对每组候选参数执行预热(80 步)+ 采样(2200 步),评估:
    • 有限性比率(≥ 99%)
    • 可见性比率(≥ 30%)
    • 覆盖率(0.3% - 28%)
    • 中心偏移(≤ 1.8)
  3. 评分机制:综合覆盖率适应度、可见性比率和有限性比率计算得分
  4. 最多尝试 180 次,优先返回验收通过的参数组合

创作技巧

参数探索

  1. 从随机类型开始:选择一个感兴趣的随机类型(如盾形),点击"随机可见"获取起点
  2. 锁定对称度数:找到满意的对称阶数后锁定它,继续随机化其他参数
  3. 微调参数:在随机结果基础上小范围调整参数,观察图案的细微变化
  4. 尝试修正方程:切换到修正方程,利用 delta 参数创造更复杂的结构

视觉调优

  1. 色调映射

    • 先调整 Dynamic Range 让吸引子整体可见
    • 再调整 Gamma 让中间调细节呈现
    • 最后微调 Brightness 和 Contrast
  2. 着色方案

    • 使用余弦调色板模式快速生成和谐的色彩方案
    • 调整 Saturation 控制颜色鲜艳度
    • 深色背景配合高饱和度色彩通常效果最佳
  3. 对称性控制

    • omega = 0 产生纯旋转对称图案
    • 非零 omega 引入镜像对称成分,图案更加丰富
    • gamma 控制花瓣的旋转偏移,影响图案的"旋转感"

动画设计

  1. 参数振荡

    • 为 lambda 和 alpha 设置振荡动画,观察图案的形态演变
    • 使用不同的步长方向(正/负)创造非对称的运动模式
    • 边沿缓动确保参数在范围边界处平滑过渡
  2. 相机运动

    • 旋转动画可以展现图案的对称性
    • 缩放动画可以揭示细节结构

与 Map Attractor 的对比

方面对称混沌 (Symmetry Chaos)映射吸引子 (Map Attractor)
方程类型预设对称方程模板自定义迭代映射
参数系统固定参数名(lambda, alpha 等)自定义参数名
对称性强制旋转对称无对称性约束
维度始终 2D2D 或 3D
随机化6 种对称类型预设通用随机搜索
典型图案盾形、披风形、风车形等Clifford、Peter de Jong 等
适合场景对称图案探索自定义映射实验

注意事项

  1. 参数稳定性

    • 并非所有参数组合都能产生有界吸引子
    • 某些参数组合会导致迭代发散,表现为全屏噪声或空白
    • 建议使用"随机可见"按钮获取稳定的起点
  2. GPU 显存

    • 过大的 Batch Size 会消耗大量 GPU 显存
    • 状态纹理大小为 ⌈√BatchSize⌉ × ⌈√BatchSize⌉
    • 累积纹理大小等于渲染分辨率,使用 RGBA32F 格式
  3. 结构性参数变更

    • 修改 symmetry_degree 或 delta_power 需要重编译着色器
    • 重编译期间画面会短暂卡顿,这是正常行为
    • 其他参数的修改不需要重编译,可以实时更新
  4. 方程模板切换

    • 切换到修正方程时,delta 和 delta_power 参数会自动出现
    • 切换回标准方程时,这两个参数会被隐藏但不会丢失
  5. 对称度数范围

    • 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 使用预设方程模板,但通过巧妙调整参数,你可以创造出丰富多变的对称图案:

  1. 从一个随机类型开始获取基础参数
  2. 逐步调整 gamma 观察花瓣的旋转变化
  3. 引入非零 omega 打破纯旋转对称
  4. 在修正方程中调整 delta 和 delta_power 创造径向纹理
  5. 利用参数振荡动画探索参数空间中的连续变化

参考资源

数学理论

  • 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 语言规范

All rights reserved.