Workshop report: Generative design with Clojure

Traces of a star polygon rotating around a point with a constantly modulated radius (using sine waves).

Polygons, polymorphism & graphs

Variation of the same process shown in the first image, but this time only using vertices obtained by sampling the perimeter of the polygon at a uniform distance.

Iterative systems

The de Jong Strange Attractor (3 million iterations). XY coordinates used as interpolation factors for color blending.

Noise

2D gradient noise w/ turbulence (also noise)
A regular grid of 100k lines (320 x 320). Each line’s rotation and color is controlled by the underlying 2D noise field. Color gradient created with http://dev.thi.ng/gradients/
3D noise visualized as voxel iso surface mesh and draft-rendered with Luxrender (via http://thi.ng/luxor)

Poisson disk sampling (Blue noise)

Image based Poisson disk sampling with brightness controlled local noise densities (139k samples). See c.thi.ng for build & usage instructions.

Grid based simulations, Cellular Automata

Classic 1D Wolfram automata (Rule #105), grid size 256x256, random seeding (50%)
Extended 1D CA with kernel size 3 and max. cell age of 64
3D visualization of the evolution of a 2D CA, created during toxiclibs workshop @ SAC Städelschule, Frankfurt, 2013

Agent systems

Field line visualization of 80 randomly placed & charged di-poles. Each line represents the trace of a single agent, each one spawned at one of the positive charged poles and being attracted/repelled by other poles in the system.

Design grammars, recursion, L-Systems & basic interpreters

Collection of L-Systems, clockwise from top left: Pentagon gasket, Penrose tiling, Dragon curve, Fractal tree. Color hue represents position in iteration sequence.

Update: L-System Twitter bot

Outlook

--

--

--

Computational design, data, TypeScript, Clojure/script, C

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
thi.ng

thi.ng

Computational design, data, TypeScript, Clojure/script, C

More from Medium

Masked logging system in Unity

Post Mortem of Inframundo. Part One

Saving Data in Unity3D Using BinaryReader and BinaryWriter

Simulating a Smart City using TypeScript