ws-ldn-10 icon indicating copy to clipboard operation
ws-ldn-10 copied to clipboard

Generative design workshop (Clojure/ClojureScript)

  • Workshop: Generative design w/ Clojure & thi.ng

There is a [[https://medium.com/@thi.ng/workshop-report-generative-design-with-clojure-7d6d8ea9a6e8][related article]] which covers the examples found in this repository in more detail.

** Examples

*** Namespace: ws-ldn-10.ex01

  • Repetition & parameterization of basic processes
  • Coordinate systems (cartesian vs polar)
  • Custom shape generation
  • Shape sampling

| [[./assets/ex03.png]] | [[./assets/ex04.png]] |

*** Namespace: ws-ldn-10.ex02

  • Iterative systems #1
  • SVG vs bitmap outputs
  • Mapping parameters to colors

[[./assets/dejong.png]]

*** Namespace: ws-ldn-10.ex03

  • Noise & octaves
  • Turbulence
  • Tonemapping noise values
  • Using noise to drive design parameters

[[./assets/noise-lines.png]]

*** Namespace: ws-ldn-10.ex04

  • Agent systems
  • Di-pole field lines
  • =deftype= & =defprotocol=
  • SVG image sequence output & MP4 conversion

[[./assets/agents.png]]

*** Namespace: ws-ldn-10.ex06

  • L-Systems
  • Recursive rule expansions
  • Writing simple interpreter (using =defmulti=)
  • Implementing branching (state stacks)
  • Visualizing recursion depth

| [[./assets/lsys-gasket.png]] | [[./assets/lsys-penrose.png]] | | [[./assets/lsys-tree.png]] | [[./assets/lsys-dragon.png]] |

** License

This project is open source and licensed under the [[http://www.apache.org/licenses/LICENSE-2.0][Apache Software License 2.0]].