Generates organic 3D creatures using 5 merged Gielis supershapes.
./run_pentad.sh # 1 creature
./run_pentad.sh 10 # 10 creatures
./run_pentad.sh 5 --screenshot # 5 with screenshotsPENTAD is based on the Gielis superformula (Johan Gielis, 2003) which can describe almost all natural forms: starfish, shells, leaves, bacteria.
Each PENTAD creature consists of:
- 5 overlapping Gielis forms (supershapes)
- Fractal outgrowths at each level
- Randomly generated "DNA" with 48 parameters
The result is organic, asymmetric forms suitable for 3D printing or glass casting.
pentad/
├── run_pentad.sh # Run script
├── generate_pentad.py # Main script
├── lajfi/ # Support library
│ ├── gielis.py # Superformula implementation
│ └── config.py # Parameters
├── output/ # Generated STL files
└── examples/ # Example creatures
STL files are saved to output/ with naming convention:
pentad_{NAME}_gen1_{TIMESTAMP}.stl
Example: pentad_BOKA_gen1_20260320_234100.stl
- Blender 3.0+ (flatpak or standard installation)
- Python 3.10+
r(theta) = ( |cos(m*theta/4)|^n2 + |sin(m*theta/4)|^n3 ) ^ (-1/n1)
Parameters:
- m = symmetry (number of "arms")
- n1 = roundness (low = angular, high = rounded)
- n2, n3 = curvature
Gielis, J. (2003). A generic geometric transformation that unifies a wide range of natural and abstract shapes. American Journal of Botany, 90(3), 333-338.
This is a standalone generator. For the full evolutionary simulation with mating, mutation, and natural selection, see LAJFI.
LAJFI uses TRIAD (3 segments) by default but can be configured for PENTAD (5) or HEPTAD (7) by editing lajfi/dna.py in that repository.
MIT