Skip to main content
Simulation / JS

3D genetic plant evolution with L-systems

Procedural 3D plant generation using L-systems and voxel rendering. Plants grow from DNA-encoded rules, get evaluated for fitness based on sunlight exposure and terrain interaction, then breed via genetic algorithm. Watch evolution happen in real-time in the browser.

Links Coming Soon
Tech Stack
JavaScriptThree.jsViteL-systemsGenetic AlgorithmWebGL
Key Features

01

L-system string rewriting for procedural plant morphogenesis

02

DNA-encoded growth parameters that mutate across generations

03

3D voxel-to-mesh conversion rendered in Three.js with realistic lighting

04

Fitness evaluation based on sunlight exposure and terrain fit

05

Genetic algorithm breeds top performers with crossover and mutation

06

ACESFilmic tone mapping and soft shadow maps for visual quality

Architecture

Vite dev server serves Three.js WebGL scene. Each generation: L-system rules expand DNA strings into 3D voxel structures. Voxels converted to meshes and rendered. Fitness function evaluates sunlight capture (height, leaf spread) and terrain adaptation. Top N plants selected, crossover + mutation produce next generation. GPU-accelerated rendering with Three.js.

Screenshot / Demo Coming Soon