Skip to content

Symmetry Chaos

Introduction

Symmetry Chaos Example

Symmetry in Chaos fuses mathematical symmetry with chaos theory to produce stunning visual art. Based on the seminal work Symmetry in Chaos by mathematicians Michael Field and Martin Golubitsky, this scene generates chaotic attractor images with precise rotational symmetry through GPU-parallel iteration of million particles, using density accumulation and tone mapping techniques. From shield-like and cloak-like patterns to pinwheel forms, each symmetry type embodies profound mathematical beauty.

Note: Symmetry Chaos and Map Attractor share the density-map rendering kernel, but their scene and runtime update entry points are fully separated. Symmetry Chaos has its own equation template system, parameter randomizer, and animation controller, focused specifically on the generation and exploration of symmetric chaotic attractors.

Key Capabilities:

  • High-Performance GPU Rendering: Pure GPU three-pass pipeline supporting parallel iteration and density accumulation for hundreds of thousands of particles
  • Equation Template System: Built-in standard and modified equation templates with dynamically determined parameter names
  • Intelligent Parameter Randomization: 6 preset symmetry types (Shield-like, Cloak-like, Sector Blade, Pinwheel, Ribbed Star, Binary Wing) for one-click exploration of visible and stable parameter combinations
  • Professional Tone Mapping: Complete tone control chain including brightness, contrast, gamma, dynamic range, and saturation
  • Palette System: Supports manual, cosine, and curve gradient modes, combined with JSON palettes for rich color expression
  • Full Animation Support: Integrated parameter oscillation animation system supporting smooth periodic parameter changes

Mathematical Background

What is Symmetry in Chaos?

Symmetry in Chaos is a class of discrete dynamical systems with rotational symmetry. In 1992, mathematicians Michael Field and Martin Golubitsky systematically studied these systems in their book Symmetry in Chaos: An Introduction to Theory and Applications, revealing the seemingly paradoxical yet profoundly unified relationship between chaos and symmetry.

In ordinary chaotic attractors, we typically observe disordered, fragmented structures. However, when we impose symmetry constraints on iterative maps, chaotic behavior can exhibit remarkably complex patterns while maintaining symmetry — this is the core insight of "symmetry in chaos."

Mathematical Equations of Symmetry in Chaos

Treating points on the two-dimensional plane as complex numbers z = x + iy, the iterative map for symmetry in chaos can be expressed as:

Standard Equation:

Modified Equation:

where θ = arg(z) is the argument of z, and n is the symmetry degree.

Parameter Meanings

ParameterMeaningRangeDescription
λ (lambda)Linear term coefficient[-3, 3]Controls overall scaling and existence of the attractor
α (alpha)Quadratic term coefficient[-3, 3]Controls boundedness of the attractor; typically opposite sign to λ
β (beta)Symmetry term coefficient[-1.5, 1.5]Controls the strength of symmetric structure
γ (gamma)Rotation term coefficient[-1, 1]Controls rotational offset of symmetric petals
ω (omega)Reflection term coefficient[-1, 1]Controls reflection symmetry; ω=0 gives pure rotational symmetry
n (symmetry_degree)Symmetry degree[2, 50]Order of rotational symmetry; n=3 produces three-fold symmetry
δ (delta)Modified term coefficient[-1, 1]Modified equation only; controls additional radial modulation
p (delta_power)Modified power[1, 6]Modified equation only; controls angular frequency of the modification term

Symmetry Degree and Pattern Types

The symmetry degree n determines the order of rotational symmetry in the pattern:

  • n = 2: Two-fold symmetry (Binary Wing)
  • n = 3: Three-fold symmetry (triangular patterns)
  • n = 5: Five-fold symmetry (pentagonal star patterns)
  • n = 7+: Higher-order symmetry (complex petal patterns)

Historical Background

The study of symmetry in chaos originated in the late 1980s in the field of nonlinear dynamics. Michael Field and Martin Golubitsky discovered that by imposing equivariant symmetry constraints on iterative maps, chaotic attractors can exhibit rich structures while maintaining symmetry. This discovery is not only mathematically significant but also provides a theoretical foundation for computer-generated art. Their book Symmetry in Chaos (first edition 1992, revised edition 1995) remains the authoritative reference for symmetry in chaos theory.


Interface Overview

All controls are located in the inspector panel on the right, divided into six main sections:

  1. Geometry: Select equation templates, randomize parameters, adjust equation parameters and spatial transforms
  2. Simulation: Configure iteration properties and tone mapping parameters
  3. Camera: Control viewing angles
  4. Formulas: Display mathematical formulas and annotations
  5. Appearance: Adjust background color and gradient palettes
  6. Parameters: Define custom constants used in equations (advanced usage)

Configuration Guide

1. Geometry (Geometry Settings)

Geometry Settings

Equation Template Selection

The system provides two built-in equation templates:

  • Standard: The classic Field & Golubitsky symmetry in chaos equation

    • Parameters: lambda, alpha, beta, gamma, omega, symmetry_degree
    • Suitable for generating classic shield-like, cloak-like, and other symmetric patterns
  • Modified: Adds a delta modification term to the standard equation

    • Additional parameters: delta, delta_power
    • The delta term introduces radial modulation, producing more complex ribbed structures (e.g., Ribbed Star)
    • Modification term formula: δ|z|cos(n·p·θ), where p is delta_power

When switching templates, the system automatically updates the formula display and parameter panel. If the current formula text is still the template default, it will be synchronized to the new template's formula.

Read-Only Formula Display

The formula text displays the mathematical expression of the current equation in read-only mode, helping you understand the mathematical structure of the iterative map. Highlighted variable names in the formula correspond one-to-one with the parameter sliders below.

Equation Parameter Settings

Random Type

This is one of the most powerful exploration tools in Symmetry Chaos. After selecting a random type, click the "Random Visible" button to automatically search for parameter combinations that produce visible and stable attractors.

Random TypeDescriptionCharacteristicsSymmetry Degree RangeRequires Modified Equation
Shield-likeShield-shaped symmetric patternsLow ω3-12No
Cloak-likeCloak-shaped symmetric patternsλ < 05-16No
Sector BladeSector blade-shaped patternsHighβ
PinwheelRotating pinwheel patternsHighω
Ribbed StarStar patterns with ribsδ ≠ 03-12Yes
Binary WingTwo-fold symmetric butterfly wing patternsn = 22No
AnyUnconstrained random searchNo constraints2-10No

When selecting the "Ribbed Star" type, the system automatically switches to the modified equation template because this type requires the delta parameter.

Random Visible Button

After clicking the "Random Visible" button, the system performs parameter search in the background:

  1. Samples according to the parameter range constraints of the selected random type
  2. Executes lightweight visibility acceptance for each candidate parameter set (80 warm-up steps + 2200 sampling steps)
  3. Evaluates metrics including finiteness ratio, visibility ratio, coverage, and center offset
  4. Attempts up to 180 times, returning the highest-scoring visible parameter combination
Lock Symmetry Degree

When "Lock Symmetry Degree" is checked, the random search keeps the current symmetry_degree value unchanged and only randomizes other parameters. This is useful when you've found a satisfactory symmetry order but want to explore different forms.

Parameter Sliders

Each parameter provides a slider and numeric input box for real-time adjustment:

  • lambda: Range [-3, 3], 3 decimal places precision
  • alpha: Range [-3, 3], 3 decimal places precision
  • beta: Range [-1.5, 1.5], 3 decimal places precision
  • gamma: Range [-1, 1], 3 decimal places precision
  • omega: Range [-1, 1], 3 decimal places precision
  • symmetry_degree: Range [2, 50], integer
  • delta (modified equation only): Range [-1, 1], 3 decimal places precision
  • delta_power (modified equation only): Range [1, 6], integer

Note: Modifying symmetry_degree or delta_power is a structural change that requires shader recompilation, which may cause brief stuttering. Other parameter modifications can be hot-updated at runtime without recompilation.

Spatial Transform

  • Scale X/Y/Z: Adjust the size of the attractor in the scene
  • Offset X/Y/Z: Adjust the position of the attractor in the scene
  • Tip: Symmetry Chaos is always rendered in 2D; Z-axis scaling and offset typically don't need adjustment

2. Simulation (Simulation Settings)

Controls the system's iteration behavior and visual presentation. Symmetry Chaos uses a pure GPU rendering pipeline with no CPU/GPU mode switching.

Simulation Settings

Iteration Settings

  • Batch Size: Number of particles iterated in parallel

    • Purpose: Determines the total number of particles participating in computation per frame
    • Default: 262,144 (approximately 260K)
    • Recommendations:
      • Low symmetry degrees (n=2-5): 100,000 - 500,000
      • High symmetry degrees (n>10): 50,000 - 200,000
    • Note: Excessively large Batch Size consumes significant GPU video memory and may cause rendering stuttering
  • Iterations Per Frame: Number of map iterations executed per render frame

    • Range: 1 - 16
    • Purpose: Controls the speed of attractor density accumulation
    • Recommendation: Typically set to 1; increasing this value fills the attractor more quickly
  • Burn-In Steps: Number of iterations to pre-compute before drawing the first frame

    • Purpose: Guides particles from initial positions onto attractor orbits
    • Recommendation: At least 50 steps to avoid visual abruptness from initial random distribution

Density and Tone Mapping

Symmetry Chaos uses a density accumulation + tone mapping rendering pipeline, which is the core technique for generating high-quality symmetric chaos images.

  • Accumulation Decay: Controls the retention of historical density data

    • Range: 0.0 - 1.0
    • Default: 1.0 (full retention)
    • Purpose: At 1.0, density fully accumulates; lowering this value causes older density to gradually decay, producing a "fade-out" effect
    • Recommendation: Keep at 1.0 for complete attractor images; lower to 0.9-0.99 to observe transition effects during parameter changes
  • Brightness: Overall brightness offset

    • Range: -0.5 - 1.5
    • Default: 0.3
    • Purpose: Adjusts the overall brightness of accumulated density
  • Contrast: Contrast of the density distribution

    • Range: 0.1 - 2.0
    • Default: 1.0
    • Purpose: Enhances or reduces the light-dark contrast of the density distribution
  • Gamma: Non-linear brightness mapping

    • Range: 0.1 - 10.0
    • Default: 2.2
    • Purpose: Controls mid-tone brightness. Larger values reveal more shadow detail; smaller values emphasize highlights
    • Recommendation: 2.2 is the standard sRGB gamma value, suitable for most scenarios
  • Dynamic Range: Dynamic range of density mapping

    • Range: 0.1 - 1.0
    • Default: 0.2
    • Purpose: Controls the density-to-luminance mapping range. Smaller values make the attractor brighter; larger values preserve more shadow detail
  • Saturation: Color saturation

    • Range: 0.0 - 1.0
    • Default: 0.8
    • Purpose: 0.0 is grayscale, 1.0 is fully saturated

3. Camera (Camera Control)

Adjust viewing angles and camera parameters.

Camera Angles

  • Phi (Pitch Angle): Vertical angle of the camera

    • Range: 0 to π (0 to 180 degrees)
    • Default: π/2 (90 degrees, horizontal view)
  • Theta (Yaw Angle): Horizontal angle of the camera

    • Range: 0 to 2π (0 to 360 degrees)
    • Default: 0
  • Gamma (Roll Angle): Rotation angle of the camera

    • Range: 0 to 2π (0 to 360 degrees)
    • Default: 0

Usage Tips

  • Symmetry Chaos is always 2D: Typically use top-down view (Phi = 0 or π) or horizontal view (Phi = π/2)
  • Rotational Viewing: Adjust Theta to rotate the viewing angle, appreciating the pattern's symmetry in conjunction with the symmetry degree
  • Animation Effects: Create camera rotation animations with the timeline system

4. Formulas (Formula Display)

Display mathematical formulas and equations in the scene.

Main Equation Display

  • Show Main Equation: Toggle main equation display on/off

    • Purpose: Display the iterative equations of the current symmetry in chaos in the scene
    • Auto-generation: The system automatically generates LaTeX formulas based on current equations and parameters
  • Main Equation Position:

    • X: Horizontal position coordinate
    • Y: Vertical position coordinate
    • Scale: Formula scaling ratio
    • Color: Formula color

Custom Formulas

Add multiple custom formulas to the scene:

  • Add Formula: Click "Add Formula" button to add a new formula
  • Formula Content:
    • LaTeX: Mathematical formula in LaTeX format
    • X: Horizontal position coordinate
    • Y: Vertical position coordinate
    • Scale: Formula scaling ratio
    • Color: Formula color
  • Delete Formula: Click the delete button in the top-right corner of the formula to remove it

5. Appearance (Appearance Settings)

Background Color

  • Background Color: Set the rendering background color
    • Symmetry Chaos typically uses black or dark backgrounds to highlight attractor details

Gradient Palette

Symmetry Chaos uses a 1D LUT (lookup table) texture for coloring, supporting three gradient modes:

  • Manual Mode:

    • Manually add, delete, and adjust color stops
    • Supports drag-and-drop reordering of colors
    • Choose from random strategies (monochromatic, analogous, complementary, split-complementary)
  • Cosine Mode:

    • Uses the IQ cosine palette formula: color(t) = a + b · cos(2π(c·t + d))
    • Independently control offset, amplitude, frequency, and phase for R/G/B channels
    • Supports one-click randomization and application
  • Curve Mode:

    • Control R/G/B channels independently through editable Bézier curves
    • Provides the most flexible color control
    • Supports one-click randomization and application

Animation and Timeline

Parameter Oscillation Animation

Symmetry Chaos supports Parameter Oscillation Animation, allowing parameters to undergo periodic sinusoidal oscillation within a specified range.

How It Works

Parameter oscillation animation is implemented through SymmetryChaosParameterAnimator:

  1. For each parameter, specify the oscillation step, range (min, max), and edge easing
  2. The parameter value oscillates sinusoidally within [min, max]: value = mid + amp * sin(phase)
  3. Oscillation speed is jointly controlled by the step and step scale factor
  4. Edge easing ensures the parameter decelerates near range boundaries, avoiding abrupt changes

Animation Types

  • StartSymmetryChaosParamAnimation: Start parameter oscillation animation

    • Can start for a single parameter or for all parameters simultaneously
    • Step scale gradually increases from 0 to 1 on start, achieving a smooth transition
    • Configuration parameters:
      • paramName: Parameter name (null affects all parameters)
      • step: Oscillation step (positive for forward, negative for reverse oscillation)
      • min: Oscillation range lower bound
      • max: Oscillation range upper bound
      • duration: Start transition duration
      • edgeEasing: Edge easing configuration
  • StopSymmetryChaosParamAnimation: Stop parameter oscillation animation

    • Step scale gradually decreases from current value to 0, achieving a smooth stop

Animatable Parameters

All equation parameters support animation:

  • lambda: Linear term coefficient
  • alpha: Quadratic term coefficient
  • beta: Symmetry term coefficient
  • gamma: Rotation term coefficient
  • omega: Reflection term coefficient
  • delta (modified equation): Modification term coefficient

Camera Animation

Symmetry Chaos also supports standard camera animations:

  • Rotation: Rotate camera around the attractor
  • Alignment: Align camera to specific angles
  • Zoom: Adjust camera distance

Configuration Method

Define animation sequences through the timeline array in JSON configuration:

json
{
  "timeline": [
    {
      "type": "animate",
      "duration": 15.0,
      "easing": "SINE_IN_OUT",
      "actions": [
        {"method": "rotateTheta", "args": [6.283]}
      ]
    },
    {
      "type": "hold",
      "duration": 2.0
    }
  ]
}

Performance & Best Practices

GoalBatch SizeIterations/FrameBurn-In StepsGammaDynamic Range
High Quality Image500,000+1200+2.20.15-0.25
Real-time Interaction100,000-200,0001-250-1002.20.2-0.3
Parameter Exploration50,000-100,0001502.20.2

Performance Optimization Tips

  1. Batch Size Adjustment:

    • Reducing Batch Size is the most direct performance optimization
    • Equations with high symmetry degrees (n>20) have greater computational cost; consider using smaller Batch Size
  2. Tone Mapping Tuning:

    • Increasing Dynamic Range makes more detail visible, but may require adjusting Brightness accordingly
    • Gamma significantly affects visual results; 2.2 is a good starting point
  3. Burn-In Optimization:

    • Appropriate burn-in steps avoid visual noise in initial frames
    • Excessive burn-in steps increase scene loading time
  4. Rebuilding on Parameter Changes:

    • Modifying structural parameters (symmetry_degree, delta_power) triggers shader recompilation and accumulation buffer rebuild
    • Modifying non-structural parameters (lambda, alpha, etc.) only triggers a Replay rebuild
    • The rebuild process progressively refills density, avoiding sudden visual jumps

Troubleshooting

Completely Black or White Image

Problem: Rendered result is entirely black or entirely white

Cause: Tone mapping parameters don't match the current attractor's density distribution

Solutions:

  • Adjust Brightness (increase when black, decrease when white)
  • Adjust Dynamic Range (decrease when black, increase when white)
  • Adjust Gamma (increase gamma when black)
  • Check if Batch Size is large enough to produce visible density

Incomplete Attractor Shape

Problem: Attractor shows only partial structure

Cause: Insufficient burn-in steps or parameter combination causing the attractor to extend beyond the viewport

Solutions:

  • Increase Burn-In Steps (e.g., from 50 to 200)
  • Increase Iterations Per Frame to accelerate density accumulation
  • Adjust Scale and Offset to bring the attractor into view

Particle Divergence

Problem: Image shows uniform noise or is completely blurry

Cause: Parameter combination causing iterative divergence

Solutions:

  • Use the "Random Visible" button to search for stable parameter combinations
  • Ensure alpha and lambda have opposite signs (a common condition for bounded attractors)
  • Certain parameter combinations cause iterative divergence; this is a mathematical property of the map itself, not a software error

Pattern Lacks Symmetry

Problem: Generated pattern doesn't have the expected rotational symmetry

Cause: The omega parameter disrupts pure rotational symmetry

Solutions:

  • Set omega to 0 for pure rotational symmetry patterns
  • Non-zero omega introduces reflection symmetry components, producing more complex patterns

Flickering When Modifying Parameters

Problem: Screen flickers or jumps when modifying parameters

Cause: Parameter changes trigger accumulation buffer rebuild

Solutions:

  • This is normal behavior — the system needs to rebuild density accumulation to reflect new parameters
  • The rebuild process typically completes within 0.5 seconds
  • If flickering is too frequent, consider adjusting parameters while paused

Classic Symmetry Chaos Examples

Shield-like Attractor (Three-fold Symmetry)

Template: Standard
lambda = 2.0, alpha = -2.43, beta = 1.0
gamma = 0.05, omega = 0.0, symmetry_degree = 3

Cloak-like Attractor (Five-fold Symmetry)

Template: Standard
lambda = -1.5, alpha = 1.8, beta = 0.8
gamma = 0.3, omega = 0.1, symmetry_degree = 5

Pinwheel Attractor (Four-fold Symmetry)

Template: Standard
lambda = 1.8, alpha = -2.0, beta = 0.5
gamma = 0.2, omega = 0.6, symmetry_degree = 4

Ribbed Star Attractor (Modified Equation)

Template: 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

Binary Wing Attractor

Template: Standard
lambda = 1.5, alpha = -1.8, beta = 0.6
gamma = 0.3, omega = 0.2, symmetry_degree = 2

More Visual Examples

Symmetry Chaos Example 1Symmetry Chaos Example 2Symmetry Chaos Example 3


Technical Details

GPU Rendering Pipeline

Symmetry Chaos uses a three-pass GPU rendering pipeline:

  1. Update Pass:

    • Reads current particle state texture (position + step metric)
    • Executes symmetry in chaos equations to compute the next state
    • Uses Ping-Pong double buffering for alternating state read/write
  2. Accumulate Pass:

    • Projects particle positions to screen space
    • Uses additive blending to accumulate particle density into a floating-point texture
    • Supports accumulation decay for dynamic effects
  3. Present Pass:

    • Applies tone mapping chain to accumulated density: brightness → contrast → gamma → dynamic range → saturation
    • Uses PaletteRuntime to generate a 1D LUT texture for color mapping
    • Auto-scaling factor computed from accumulated sample count and viewport size, ensuring visual consistency across resolutions

Shader Compilation

Symmetry Chaos equations are compiled to GLSL shader code at runtime:

  • SymmetryChaosFunctionGenerator generates GLSL functions based on equation templates
  • zⁿ⁻¹ computation is implemented through iterative multiplication, supporting up to n=50
  • Structural parameters (symmetry_degree, delta_power) changes require shader recompilation
  • Non-structural parameters (lambda, alpha, beta, gamma, omega, delta) are passed through uniform variables; modifying parameter values does not require shader recompilation

Replay Mechanism

When parameters or camera change, the system triggers a Replay rebuild:

  • Resets particle state to initial positions
  • Re-executes burn-in iterations
  • Progressively re-accumulates density (completes within approximately 0.5 seconds)
  • Ensures smooth visual transitions, avoiding sudden jumps

Parameter Randomization Algorithm

SymmetryChaosParameterRandomizer employs a constrained sampling + lightweight visibility acceptance approach:

  1. Constrained Sampling: Samples according to the parameter range constraints of the random type (Shield-like, Cloak-like, etc.)
  2. Visibility Acceptance: For each candidate parameter set, executes warm-up (80 steps) + sampling (2200 steps), evaluating:
    • Finiteness ratio (≥ 99%)
    • Visibility ratio (≥ 30%)
    • Coverage (0.3% - 28%)
    • Center offset (≤ 1.8)
  3. Scoring Mechanism: Computes score based on coverage fitness, visibility ratio, and finiteness ratio
  4. Maximum 180 attempts, prioritizing accepted parameter combinations

Creative Techniques

Parameter Exploration

  1. Start from Random Types: Select a random type of interest (e.g., Shield-like) and click "Random Visible" for a starting point
  2. Lock Symmetry Degree: After finding a satisfactory symmetry order, lock it and continue randomizing other parameters
  3. Fine-tune Parameters: Make small-range adjustments to parameters based on random results, observing subtle pattern changes
  4. Try Modified Equation: Switch to the modified equation and use the delta parameter to create more complex structures

Visual Tuning

  1. Tone Mapping:

    • First adjust Dynamic Range to make the overall attractor visible
    • Then adjust Gamma to reveal mid-tone details
    • Finally fine-tune Brightness and Contrast
  2. Color Schemes:

    • Use cosine palette mode to quickly generate harmonious color schemes
    • Adjust Saturation to control color vibrancy
    • Dark backgrounds with high-saturation colors typically produce the best results
  3. Symmetry Control:

    • omega = 0 produces pure rotational symmetry patterns
    • Non-zero omega introduces reflection symmetry components, making patterns more varied
    • gamma controls the rotational offset of petals, affecting the "sense of rotation" in the pattern

Animation Design

  1. Parameter Oscillation:

    • Set oscillation animations for lambda and alpha to observe pattern morphological evolution
    • Use different step directions (positive/negative) to create asymmetric motion patterns
    • Edge easing ensures smooth transitions at range boundaries
  2. Camera Movement:

    • Rotation animations can showcase the pattern's symmetry
    • Zoom animations can reveal fine structural details

Comparison with Map Attractor

AspectSymmetry ChaosMap Attractor
Equation TypePreset symmetric equation templatesCustom iterative maps
Parameter SystemFixed parameter names (lambda, alpha, etc.)Custom parameter names
SymmetryEnforced rotational symmetryNo symmetry constraints
DimensionAlways 2D2D or 3D
Randomization6 symmetry type presetsGeneral random search
Typical PatternsShield-like, Cloak-like, Pinwheel, etc.Clifford, Peter de Jong, etc.
Best ForSymmetric pattern explorationCustom map experimentation

Important Notes

  1. Parameter Stability:

    • Not all parameter combinations produce bounded attractors
    • Some parameter combinations cause iterative divergence, manifesting as full-screen noise or blank output
    • It is recommended to use the "Random Visible" button to obtain a stable starting point
  2. GPU Video Memory:

    • Excessively large Batch Size consumes significant GPU video memory
    • State texture size is ⌈√BatchSize⌉ × ⌈√BatchSize⌉
    • Accumulation texture size equals render resolution, using RGBA32F format
  3. Structural Parameter Changes:

    • Modifying symmetry_degree or delta_power requires shader recompilation
    • Brief stuttering during recompilation is normal behavior
    • Other parameter modifications don't require recompilation and can be updated in real-time
  4. Equation Template Switching:

    • When switching to the modified equation, delta and delta_power parameters automatically appear
    • When switching back to the standard equation, these two parameters are hidden but not lost
  5. Symmetry Degree Range:

    • The valid range for symmetry_degree is 2-50
    • Excessively high symmetry degrees increase computational cost and may reduce rendering performance
    • In practice, symmetry degrees of 2-16 typically produce the most interesting patterns

Advanced Topics

Understanding the Mathematical Structure of Symmetry in Chaos

The core of the symmetry in chaos equation is the complex iteration z → F(z), where F has Z_n equivariance, meaning F(ρz) = ρF(z), where ρ = e^{2πi/n} is the n-th order rotation. This means that if z is on the attractor, then ρz is also on the attractor — the attractor itself has n-fold rotational symmetry.

Difference Between Standard and Modified Equations

In the standard equation, the p value depends only on |z|² and Re(zⁿ), which guarantees Z_n equivariance. The modified equation additionally introduces the δ|z|cos(n·p·θ) term, where θ = arg(z). This modification term maintains Z_n equivariance while adding radial modulation, producing richer structural variations — particularly "ribbed" textures.

Creating Custom Symmetric Patterns

Although Symmetry Chaos uses preset equation templates, you can create richly varied symmetric patterns through clever parameter adjustment:

  1. Start with a random type to obtain base parameters
  2. Gradually adjust gamma to observe petal rotation changes
  3. Introduce non-zero omega to break pure rotational symmetry
  4. In the modified equation, adjust delta and delta_power to create radial textures
  5. Use parameter oscillation animation to explore continuous changes in parameter space

References

Mathematical Theory

  • 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)

Online Resources

Software Documentation

  • OpenGL Shader Programming Guide
  • GLSL Language Specification

All rights reserved.