Convert reaction-diffusion mathematics into manufacturable 3D geometry using OpenVCAD's volumetric modeling capabilities.
This project transforms Gray-Scott reaction-diffusion equations into 3D printable geometry. Instead of just simulating chemical patterns on screens, we create physical objects where the reaction-diffusion mathematics becomes solid topology.
- Ready simulation data → 3D manufacturable geometry
- Chemical concentrations → Material distributions
- Pattern evolution → Spatial structures
- Mathematical surfaces → Printable objects
- Parametric control over pattern characteristics
- 3D printing optimized with manifold geometry options
- Direct implementation of Gray-Scott equations from Ready format
- Real-time parameter adjustment for design exploration
- Automatic boundary closure for watertight geometry
- 0.2: Dense, coral-like structures (lots of geometry)
- 0.4: Medium density (balanced)
- 0.6: Sparse, minimal structures (little geometry)
- 0.0: Early-stage patterns (simple, nucleated)
- 0.5: Mid-evolution (complex interactions)
- 1.0: Mature patterns (fully developed)
- 0.5: Large, macro-scale features
- 1.0: Natural scale
- 2.0: Fine, micro-scale details
- 0.1: Subtle, gentle patterns
- 0.8: Strong, dramatic patterns
- 0.5: Slow spatial changes
- 2.0: Rapid spatial variation
- True: Manifold, watertight geometry with boundary closure
- False: Pure mathematical surfaces (artistic/exploration)
Try these parameter combinations for different aesthetic results:
threshold = 0.25
time_param = 0.3
frequency_scale = 0.8
amplitude = 0.4threshold = 0.45
time_param = 0.7
frequency_scale = 1.5
amplitude = 0.6threshold = 0.35
time_param = 0.5
frequency_scale = 1.0
amplitude = 0.4threshold = 0.55
time_param = 0.8
frequency_scale = 2.0
amplitude = 0.3threshold = 0.3
time_param = 0.2
frequency_scale = 0.8
amplitude = 0.4
evolution_rate = 1.0
make_printable = True- Dense, branching coral-like structure; good starting point.
threshold = 0.5
time_param = 0.8
frequency_scale = 1.5
amplitude = 0.5
evolution_rate = 0.8
make_printable = True- Regular, geometric patterns with solid connectivity.
threshold = 0.4
time_param = 0.6
frequency_scale = 1.2
amplitude = 0.6
evolution_rate = 1.5
make_printable = True- Building-like structures with smooth flow; ideal for architectural exploration.
threshold = 0.45
time_param = 0.7
frequency_scale = 2.0
amplitude = 0.3
evolution_rate = 1.8
make_printable = True- Fine, intricate motifs suited for small prints.
threshold = 0.35
time_param = 0.4
frequency_scale = 0.9
amplitude = 0.5
evolution_rate = 1.2
make_printable = True- Hollow, vessel-like forms with organic walls.
threshold = 0.25
time_param = 0.9
frequency_scale = 0.6
amplitude = 0.7
evolution_rate = 2.0
make_printable = False # visualization only- Complex, expressive geometry for renderings or experimentation.
threshold = 0.6
time_param = 0.3
frequency_scale = 1.8
amplitude = 0.2
evolution_rate = 0.5
make_printable = True- Clean silhouettes with restrained detailing.
- Too dense: increase
threshold(0.4 → 0.5) or decreaseamplitude(0.6 → 0.4). - Too sparse: decrease
threshold(0.5 → 0.3) or increaseamplitude(0.3 → 0.5). - Pattern too large: increase
frequency_scale(1.0 → 1.5). - Pattern too small: decrease
frequency_scale(1.0 → 0.7). - Not printable: set
make_printable = True
-
Install OpenVCAD Studio from OpenVCAD releases
-
Load the script:
- Open VCAD Studio
- Load
gray_scott_parametric.py
-
Adjust parameters:
- Edit parameter values at the top of the file
- Reload to see changes
-
Export for 3D printing:
- Set
make_printable = True - Export as STL/OBJ from VCAD Studio
- Set
This implementation converts the Gray-Scott reaction-diffusion system:
∂u/∂t = Du∇²u - uv² + F(1-u)
∂v/∂t = Dv∇²v + uv² - (F+k)v
Into spatial material distributions using trigonometric approximations of the steady-state solutions. The time_param controls which "snapshot" of the temporal evolution becomes the 3D geometry.
- Biomimetic structures: Tissue scaffolds, bone-like gradients
- Architectural elements: Organic facades, structural optimization
- Art and design: Sculptural objects, jewelry, decorative elements
- Metamaterials: Programmable material properties
- Research: Reaction-diffusion visualization, educational models
| Traditional RD Tools | This Implementation |
|---|---|
| Screen visualization | Physical 3D objects |
| Time-domain simulation | Spatial geometry |
| Single chemical display | Multi-material structures |
| Research/analysis focus | Manufacturing focus |
- OpenVCAD Studio (Windows/Mac/Linux)
- 3D Printer (optional, for physical output)
- Slicer software (for 3D printing workflow)
This implementation is provided for academic and research use. Please cite appropriately if used in publications.
Contributions welcome! Areas for enhancement:
- Additional reaction-diffusion systems (Turing, FitzHugh-Nagumo)
- Parameter optimization algorithms
- Multi-material printing support
- Animation/morphing capabilities
This work builds upon several key contributions to reaction-diffusion research and simulation:
Tim Hutton, Robert Munafo, Andrew Trevorrow, Tom Rokicki, Dan Wills. "Ready, a cross-platform implementation of various reaction-diffusion systems." GitHub: https://github.com/GollyGang/ready arXiv: http://arxiv.org/abs/1501.01990
Pearson, J. E. (1993). "Complex patterns in a simple system." Science, 261(5118), 189-192. DOI: https://www.science.org/doi/10.1126/science.261.5118.189
Matter Assembly Computation Lab, University of Colorado Boulder. "OpenVCAD: Systems and Processes for Volumetric Multi-Material 3D Models" GitHub: https://github.com/MacCurdyLab/OpenVCAD-Public
- Ready development team for the foundational reaction-diffusion simulation framework
- OpenVCAD development team at University of Colorado Boulder for volumetric modeling capabilities
- Gray-Scott system researchers for the mathematical foundation
