Symmetry Chaos
Introduction

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 ChaosandMap Attractorshare the density-map rendering kernel, but their scene and runtime update entry points are fully separated.Symmetry Chaoshas 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
| Parameter | Meaning | Range | Description |
|---|---|---|---|
| λ (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:
- Geometry: Select equation templates, randomize parameters, adjust equation parameters and spatial transforms
- Simulation: Configure iteration properties and tone mapping parameters
- Camera: Control viewing angles
- Formulas: Display mathematical formulas and annotations
- Appearance: Adjust background color and gradient palettes
- Parameters: Define custom constants used in equations (advanced usage)
Configuration Guide
1. Geometry (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 Type | Description | Characteristics | Symmetry Degree Range | Requires Modified Equation |
|---|---|---|---|---|
| Shield-like | Shield-shaped symmetric patterns | Low ω | 3-12 | No |
| Cloak-like | Cloak-shaped symmetric patterns | λ < 0 | 5-16 | No |
| Sector Blade | Sector blade-shaped patterns | High | β | |
| Pinwheel | Rotating pinwheel patterns | High | ω | |
| Ribbed Star | Star patterns with ribs | δ ≠ 0 | 3-12 | Yes |
| Binary Wing | Two-fold symmetric butterfly wing patterns | n = 2 | 2 | No |
| Any | Unconstrained random search | No constraints | 2-10 | No |
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:
- Samples according to the parameter range constraints of the selected random type
- Executes lightweight visibility acceptance for each candidate parameter set (80 warm-up steps + 2200 sampling steps)
- Evaluates metrics including finiteness ratio, visibility ratio, coverage, and center offset
- 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.

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:
- For each parameter, specify the oscillation step, range (min, max), and edge easing
- The parameter value oscillates sinusoidally within [min, max]:
value = mid + amp * sin(phase) - Oscillation speed is jointly controlled by the step and step scale factor
- 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 boundmax: Oscillation range upper boundduration: Start transition durationedgeEasing: 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:
{
"timeline": [
{
"type": "animate",
"duration": 15.0,
"easing": "SINE_IN_OUT",
"actions": [
{"method": "rotateTheta", "args": [6.283]}
]
},
{
"type": "hold",
"duration": 2.0
}
]
}Performance & Best Practices
Recommended Configurations
| Goal | Batch Size | Iterations/Frame | Burn-In Steps | Gamma | Dynamic Range |
|---|---|---|---|---|---|
| High Quality Image | 500,000+ | 1 | 200+ | 2.2 | 0.15-0.25 |
| Real-time Interaction | 100,000-200,000 | 1-2 | 50-100 | 2.2 | 0.2-0.3 |
| Parameter Exploration | 50,000-100,000 | 1 | 50 | 2.2 | 0.2 |
Performance Optimization Tips
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
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
Burn-In Optimization:
- Appropriate burn-in steps avoid visual noise in initial frames
- Excessive burn-in steps increase scene loading time
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 = 3Cloak-like Attractor (Five-fold Symmetry)
Template: Standard
lambda = -1.5, alpha = 1.8, beta = 0.8
gamma = 0.3, omega = 0.1, symmetry_degree = 5Pinwheel Attractor (Four-fold Symmetry)
Template: Standard
lambda = 1.8, alpha = -2.0, beta = 0.5
gamma = 0.2, omega = 0.6, symmetry_degree = 4Ribbed 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 = 3Binary Wing Attractor
Template: Standard
lambda = 1.5, alpha = -1.8, beta = 0.6
gamma = 0.3, omega = 0.2, symmetry_degree = 2More Visual Examples



Technical Details
GPU Rendering Pipeline
Symmetry Chaos uses a three-pass GPU rendering pipeline:
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
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
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:
SymmetryChaosFunctionGeneratorgenerates 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:
- Constrained Sampling: Samples according to the parameter range constraints of the random type (Shield-like, Cloak-like, etc.)
- 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)
- Scoring Mechanism: Computes score based on coverage fitness, visibility ratio, and finiteness ratio
- Maximum 180 attempts, prioritizing accepted parameter combinations
Creative Techniques
Parameter Exploration
- Start from Random Types: Select a random type of interest (e.g., Shield-like) and click "Random Visible" for a starting point
- Lock Symmetry Degree: After finding a satisfactory symmetry order, lock it and continue randomizing other parameters
- Fine-tune Parameters: Make small-range adjustments to parameters based on random results, observing subtle pattern changes
- Try Modified Equation: Switch to the modified equation and use the delta parameter to create more complex structures
Visual Tuning
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
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
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
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
Camera Movement:
- Rotation animations can showcase the pattern's symmetry
- Zoom animations can reveal fine structural details
Comparison with Map Attractor
| Aspect | Symmetry Chaos | Map Attractor |
|---|---|---|
| Equation Type | Preset symmetric equation templates | Custom iterative maps |
| Parameter System | Fixed parameter names (lambda, alpha, etc.) | Custom parameter names |
| Symmetry | Enforced rotational symmetry | No symmetry constraints |
| Dimension | Always 2D | 2D or 3D |
| Randomization | 6 symmetry type presets | General random search |
| Typical Patterns | Shield-like, Cloak-like, Pinwheel, etc. | Clifford, Peter de Jong, etc. |
| Best For | Symmetric pattern exploration | Custom map experimentation |
Important Notes
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
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
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
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
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:
- Start with a random type to obtain base parameters
- Gradually adjust gamma to observe petal rotation changes
- Introduce non-zero omega to break pure rotational symmetry
- In the modified equation, adjust delta and delta_power to create radial textures
- 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
- Wikipedia: Symmetry in Chaos
- Wikipedia: Attractor
- Michael Field's Homepage - Original researcher of symmetry in chaos theory
Software Documentation
- OpenGL Shader Programming Guide
- GLSL Language Specification
