My attempt to learn Clojure (and Processing!) by going through the code of Generative Design and porting them to Clojure with Quil.
I'll try to keep it as similar to the original as possible, for easy reference (and progress :P). So if you're looking for mind-blowing Clojure code, you might want to look somewhere else.
When I've finished porting all of them, or when I'm confident enough, I'll probably go through each one again and write more elegant versions of each. (But that will be a long ways off.)
Install Leiningen 2.
Download and unzip the generativedesign library and then perform the following:
$ cd generative-design-clojure
$ mkdir repo
$ mvn deploy:deploy-file -DgroupId=local -DartifactId=generativedesign \
-Dversion=1.0.3 -Dpackaging=jar \
-Dfile=unzipped/generativedesign/library/generativedesign.jar \
-Durl=file:repo
$ lein deps
...
Uploading: file:repo/local/generativedesign/1.0.3/generativedesign-1.0.3.jar
Uploaded: file:repo/local/generativedesign/1.0.3/generativedesign-1.0.3.jar (29 KB at 3515.5 KB/sec)
Uploading: file:repo/local/generativedesign/1.0.3/generativedesign-1.0.3.pom
Uploaded: file:repo/local/generativedesign/1.0.3/generativedesign-1.0.3.pom (394 B at 128.3 KB/sec)
Downloading: file:repo/local/generativedesign/maven-metadata.xml
Downloaded: file:repo/local/generativedesign/maven-metadata.xml (301 B at 147.0 KB/sec)
Uploading: file:repo/local/generativedesign/maven-metadata.xml
Uploaded: file:repo/local/generativedesign/maven-metadata.xml (301 B at 147.0 KB/sec)
...
$ lein run `part` `chapter`
# e.g.
# to run the sketch in generative_design_clojure/principles/P_1_0_01
$ lein run principles P_1_0_01
See Quil's page for more info.
P_2_0_01
P_2_0_02
P_2_0_03
P_2_1_1_01
P_2_1_1_02
P_2_1_1_03
P_2_1_1_04
P_2_1_2_01
P_2_1_2_02
P_2_1_2_03
P_2_1_2_04
P_2_1_3_01
P_2_1_3_02
P_2_1_3_03
P_2_1_3_04
P_2_1_3_05
P_2_2_1_01
P_2_2_1_02
The same license as the ones found in Generative Design's code. See below.
Generative Gestaltung, ISBN: 978-3-87439-759-9
First Edition, Hermann Schmidt, Mainz, 2009
Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni
Copyright 2009 Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni
http://www.generative-gestaltung.de
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.