Creative Coding
Where algorithms become art
Origins & Ideas
The Creative Coding Philosophy
Creative coding treats the computer not as a tool for problem-solving, but as a medium for artistic expression — where logic and aesthetics become one.
A Brief History
Code as Medium
In creative coding, the algorithm is the brush, the canvas is a framebuffer, and the studio is a text editor. Unlike traditional programming that optimises for correctness, creative coding embraces happy accidents, emergent patterns, and the unexpected beauty of mathematical systems pushed to their limits.
Three fundamental forces drive generative aesthetics: mathematics gives us perfect curves and infinite precision; randomness adds organic texture and the illusion of nature; iteration reveals complexity that no single mind could design.
Math → Beauty
Randomness → Texture
Iteration → Complexity
Generative Systems
Algorithmic Patterns Lab
Eight classic pattern-generating algorithms, each tuneable in real time. Every slider uses exponential lag-smoothing for fluid control.
Visual Thinking
Color & Composition Tools
Place geometric primitives on canvas, explore color harmonies, and get real-time compositional analysis.
Composition Analysis
Harmony Suggestions
Recently Used
Letters in Motion
Typography as Art
Three generators that treat letterforms as raw visual material — kinetic, spatial, and symbolic.
Controlled Chaos
Noise & Randomness
Custom implementations of six noise functions used in generative art. Tweak parameters live and test your knowledge with the identification quiz.
Noise Identification Quiz
Which noise type is shown below?
Live Demos
Interaction Patterns
Six classic creative-coding interaction archetypes. Click any tile to expand it — then play.
Pioneers & Practitioners
Artists & Inspirations
Eight figures who shaped the field — from early plotter pioneers to contemporary generative artists.
Reference
Glossary
Key terms and concepts in creative coding, generative art, and algorithmic aesthetics.
- Algorithm
- A finite, deterministic sequence of instructions that transforms an input into a defined output. In creative coding, algorithms become generative engines — their logic is the art.
- Attractor
- A set of values toward which a dynamical system converges over time. Strange attractors (Lorenz, Rössler) trace infinitely complex, never-repeating paths and are icons of generative art.
- Autonomous Agent
- A simulated entity with its own local state, perception, and behavioral rules. Agents sense their environment and act independently, producing emergent collective behavior.
- Boids
- Craig Reynolds' 1986 flocking algorithm: three simple rules (separation, alignment, cohesion) applied to autonomous agents produce lifelike swarm behavior from no central control.
- Cellular Automata
- A grid of cells that evolve through discrete time steps according to local neighbor rules. Conway's Game of Life and Wolfram's 256 elementary CA rules are canonical examples.
- Domain Warping
- A noise technique where the input coordinates are displaced by another noise function before sampling. Produces organic, fluid distortions — pioneered in Inigo Quilez's shader work.
- Emergent Behavior
- Complex patterns arising from simple local rules, with no central coordination. The global pattern is not explicitly programmed — it arises spontaneously from interactions.
- fBm (Fractional Brownian Motion)
- Layered noise: multiple octaves of the same noise function at increasing frequencies and decreasing amplitudes, summed together. Produces natural textures like clouds, terrain, and turbulence.
- Flow Field
- A vector field assigning a direction to every point in space. Particles released into the field follow the locally sampled direction, tracing organic streamline paths through the field.
- Generative Art
- Art created via an autonomous system — an algorithm, process, or set of rules — that takes decisions with minimal human input at each step. The artist designs the system, not the output.
- L-System
- A parallel rewriting system invented by biologist Lindenmayer. A grammar of symbols and production rules expands iteratively into strings that can be interpreted as drawing commands, producing fractal plants and trees.
- Lissajous Curve
- The path traced by a point undergoing two independent sinusoidal oscillations at right angles. The shape depends on the frequency ratio and phase offset, producing figures from lines to complex knots.
- Noise Function
- A mathematical function producing smoothly varying pseudo-random values. Unlike raw randomness, noise is spatially coherent — neighboring samples are similar — making it ideal for organic textures and motion.
- Parametric Design
- Design driven by parameters rather than fixed values. Changing the parameters changes the output — everything is a relationship. This makes exploration, variation, and animation intrinsic to the process.
- Perlin Noise
- Ken Perlin's 1983 gradient noise algorithm, created for the film Tron. It generates smooth, natural-looking random textures by interpolating random gradients at lattice points. The basis of countless terrain generators.
- Poisson Disk Sampling
- A method for distributing points so that no two are closer than a minimum distance. Produces "blue noise" — uniform yet irregular distributions that mimic the distribution of photoreceptors in the eye.
- Reaction-Diffusion
- A system of coupled PDEs (Turing, 1952) modeling two chemical species diffusing and reacting. Produces leopard spots, coral patterns, and labyrinthine forms — complex biology from two simple equations.
- Recursion
- A function that calls itself with a smaller version of its own problem. In generative art, recursion produces self-similar, fractal structures: trees, ferns, and Sierpiński patterns.
- Seed
- The initial value given to a pseudo-random number generator. The same seed always produces the same sequence, enabling reproducible randomness — critical for generative art that should look different each run but be reproducible.
- Truchet Tiles
- Square tiles decorated with quarter-circle arcs, each rotated randomly 0° or 90°. First described by S. Truchet in 1704 and rediscovered for computer graphics. Simple local randomness, complex global patterns.
- Vector Field
- A function assigning a vector (magnitude and direction) to every point in space. In creative coding, sampling and following vector fields — often generated from noise — produces fluid, organic motion.
- Voronoi Diagram
- A partition of space into regions, each containing all points closest to one particular seed point. Named after Georgy Voronoy. Found throughout nature: giraffe patterns, cell structure, dragonfly wings.
- Wave Function Collapse
- A procedural generation algorithm inspired by quantum mechanics. Local tile-adjacency constraints propagate through a grid until every cell has a deterministic assignment, producing globally coherent patterns from local rules.
Creative Coding World · Built with Canvas2D + WebAudio · Zero dependencies
Particle attractors · Algorithmic patterns · Generative noise · Interactive systems