Arantium Maestum

プログラミング、囲碁、読書の話題

Clojure/QuilでShepherding Random Numbersその1

昔からすごく好きなジェネラティブ・アーティストのAnders Hoffのウェブサイトに、いくつかチュートリアル的な記事が載っている。

inconvergent.net

ClojureとQuilで試していきたい。

まずは非常に簡単なボール一つが上下に動くもの:

Quil -L8r5DqZjda9OSxY6QWR

複数並べる:

Quil -L8rErWMcv1wJ-PZcdR7

Single ballからMutiple ballへと移行するときに、かなりいろいろなところのコードをいじる羽目になった。プログラムとして上手く書けていない証拠だ。

どうしたらよりモジュール化された形で再利用・変更しやすいデザインにできるのか。Processingだったらオブジェクトを定義するところだろうが、関数型プログラミングでどう解決するのが最善なのか。いろいろ試行錯誤していきたい。

とりあえずgithubにあげてみた:

github.com

追記:

動きが違うな、と思って修正してみた。まだ不満はあるが、オリジナルと挙動が近くなっていると思う。

Quil -L8rNokYSKl9QQpDsnwX