序文 byマリウス・ワッツ
イントロダクション:有機的なものと機械的なもの
・ジェネラティブ・アートは簡単
・秩序とカオス
・詩としてのプログラミング
・カオス芸術家
Part 1 クリエイティブ・コーディング
Chapter 1 ジェネラティブ・アート:理論と実践
1.1 私たちの芸術様式
1.2 新しい考え方の歴史
1.3 デジタルなツールセット
1.3.1 絶え間ないはかなさ
1.3.2 最新の稚拙な技術
1.4 まとめ
Chapter 2 Processing:アーティストのためのプログラミング言語
2.1 Processingとは?
2.1.1 大股歩きとヨチヨチ歩き
2.1.2 ハロー・ワールド
2.2 プログラムでお絵描き
2.2.1 関数、パラメータ、色の値
2.2.2 線、スタイル、座標
2.2.3 変数
2.2.4 塗りつぶし、アルファ値、描画の順序
2.3 構造、論理、アニメーション
2.3.1 フレームループ
2.3.2 自分の関数を書く
2.3.3 演算子
2.3.4 条件文
2.4 繰り返し
2.4.1 whileループ
2.4.2 痕跡を残す
2.4.3 forループ
2.5 作品をセーブし、パブリッシュし、配信する
2.5.1 バージョン管理
2.5.2 静止画を作る
2.5.3 代替イメージとして静止画を使う
2.5.4 ビデオを作る
2.5.5 フレームレートと画面サイズ
2.5.6 モバイル装置、iPhone / iPadとAndroid
2.6 まとめ
Part 2 ランダム性とノイズ
Chapter 3 線を引く間違った方法
3.1 デタラメさとそうでもないこと
3.2 変化の繰り返し
3.3 自然な変動
3.3.1 Processingでのパーリンノイズ
3.3.2 自分のノイズを作る
3.3.3 自分だけのランダム関数
3.4 まとめ
Chapter 4 円を描く間違った方法
4.1 回転するドローイング
4.1.1 初めて円を描く
4.1.2 円をらせんに変える
4.1.3 ノイズの多いらせん
4.1.4 自分のノイズを作る。ふたたび
4.2 ケーススタディ:Wave Clock
4.3 まとめ
Chapter 5 次元を加える
5.1 2次元のノイズ
5.1.1 ノイズグリッドを作る
5.1.2 ノイズの視覚化
5.2 ノイズ・アニメーション
5.3 3次元
5.3.1 3次元空間で描く
5.3.2 3次元のノイズ
5.3.3 球を描く間違った方法
5.4 まとめ
Part 3 複雑さ
Chapter 6 創発
6.1 創発を定義する
6.1.1 アリの群れと群集アルゴリズム
6.1.2 ローカルに考え、ローカルに行動する
6.2 オブジェクト指向プログラミング
6.2.1 クラスとインスタンス
6.2.2 ローカルな知識(衝突判定)
6.2.3 インタラクション・パターン
6.3 まとめ
Chapter 7 自律性
7.1 セル・オートマトン
7.1.1 枠組みをセットアップ
7.1.2 ゲーム・オブ・ライフ
7.1.3 ヴィシュニアク・ヴォート
7.1.4 ブライアンの脳
7.1.5 波(平均化)
7.2 シミュレーションとビジュアライゼーション
7.2.1 ソフトウェア・エージェント
7.2.2 人間エージェント
7.3 まとめ
Chapter 8 フラクタル
8.1 無限の再帰
8.2 自己相似性のコーディング
8.2.1 幹と枝
8.2.2 あなたの木を動かす
8.3 指数的成長
8.4 ケーススタディ:サトクリフ五角形
8.4.1 組み立て
8.4.2 探求
8.5 まとめ
索引