Arantium Maestum

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

ビジュアル・プログラミング

Quilでランダムな線を引く

ジェネラティブ・アート Processingによる実践ガイドという本を買ってみた。 Processingでコンピュータを使って図形にランダム性を持たせるとすごく複雑かつ美しい結果が出る(かもしれない)という話。 まずは基礎中の基礎である、ランダム性を持たせた線を…

Quilでフラクタル Mandelbrot

「関数型オブジェクト指向AIプログラミング」に載っていなかったのでやっていなかったが、フラクタルで一番有名なものは多分マンデルブロだろう。 というわけでこれもClojure&Quilで書いてみる。 今まで書いてきたフラクタルに比べてかなり複雑な概念である…

Clojure/QuilでGame of Lifeを表示してみた

前回はn時点での生きたセルの集合からn+1時点での生きたセルの集合を算出する関数を定義した。 はっきり言ってGame of Life的なところはそれで終わりなのだが、やはりアニメーションで見てみたい、ということでQuilで表示してみる。 atomなどで状態を管理し…

Quilでフラクタル Tree

「関数型オブジェクト指向AIプログラミング」のフラクタルをscalaからclojureに書き直す続き。 ツリー状の図形をフラクタルで描画してみる。 (defn tree [n length angle switch] (q/push-matrix) (if (= 1 n) (forward length angle) (let [l (/ length (/ …

Quilでフラクタル Szierpinski

「関数型オブジェクト指向AIプログラミング」のフラクタルをscalaからclojureに書き直す続き。 フラクタルといえばマンデルブロかシェルピンスキー、というくらいにメジャーなフラクタルであるシェルピンスキー三角を描いてみる。 (defn szierpinski ([n len…

Quilでフラクタル Dragon

「関数型オブジェクト指向AIプログラミング」のフラクタルをscalaからclojureに書き直す続き。 ドラゴン曲線を描いてみる。 namespaceやらdefsketchやらはkochのものを流用して、図形のためのdragon関数とそれに引数入れて呼ぶdrawだけ再定義: (defn dragon…

Quilでフラクタル Koch

積読中だった「関数型オブジェクト指向AIプログラミング」にフラクタルの話が出ていたのを思い出したのでQuilでやってみる。 ちなみにこの本はScalaで、フラクタルに関して出てくるコードはどこをどう見ても相当オブジェクト指向なのが少し不思議。パッと見…

Quil覚書 Clojureで視覚的デザイン

昔からProcessingがやりたかったのだけど、なかなかいい機会がなく放置していた。 しかし、ClojureでもProcessingをベースにしたQuilというライブラリがあることを知り、どうせClojureを勉強しているのだから、と早速使ってみた。 基本中の基本だとこんな感…