tags : Quil
Tyler Hobbs と Quil のコード例まとめ (2025-08-26)
Tyler Hobbs は Clojure の Quil ライブラリを使って数多くのジェネレイティブアートを制作しており、 彼自身が Quil を活用したコード例を複数公開しています。以下に主な記事と内容をまとめます。
1. Creating Soft Textures Generatively
- Quil を使ったテクスチャ生成の例。
- 透明レイヤーの重ね方、確率分布を使った形状の幅のランダマイズ、 `begin-shape`〜`vertex`〜`end-shape` を用いたポリゴン生成のコード例が掲載。
- 記事リンク
2. Working with Color in Generative Art
- Quil での色彩表現に関するコード例。
- HSB カラーモードの活用、確率的な色選択(`weighted-choice`)などが紹介。
- 記事リンク
3. Utilizing Random Number Generator Seeds
- 再現性を確保するための乱数シード活用。
- Quil の `random-seed` 使用例、シード生成や描画保存の流れを解説。
- 記事リンク
4. その他の記事
- Code Goes In, Art Comes Out: Quil を使ったアート制作の一般的アプローチ。 記事リンク
- How to Hack a Painting: 水彩風のジェネラティブアートの手法解説。 記事リンク
- What Programming Brings to Art: Quil を用いた作品シリーズ生成の事例。 記事リンク
結論
Tyler Hobbs の Quil コード例は以下の記事が特に参考になる:
- Creating Soft Textures Generatively
- Working with Color in Generative Art
- Utilizing Random Number Generator Seeds
実際のコードを学びつつ、自分の Quil プログラムにも応用できる。
補足: 最初に書いた Quil コードについて
Tyler Hobbs 本人が「これが最初の Quil コード」と断言して公開している資料は見つかっていない。 ただし、2015年以降の記事や講演で示された初期例から、彼の初期スタイルがうかがえる。
- 2015年の記事では透明矩形や確率分布を用いた幅のゆらぎのコード例が公開されている。
- 2016年の記事では `color-mode :hsb` を使った色彩表現や、重み付き選択のサンプルがある。
- 2019年の講演テキストでは `(begin-shape) → (vertex …) → (end-shape)` を核にしたシンプルなスケッチが紹介されている。
本人の「最初のコード」そのものは未公開だが、以下のような最小例が当時のスタイルに近いと考えられる。
(ns sketch.core
(:require [quil.core :as q]))
(defn setup [] (q/frame-rate 1) (q/no-loop))
(defn draw []
(q/background 255)
(q/no-fill)
(q/stroke 0)
(q/begin-shape)
(doseq [i (range 0 360 15)]
(let [r (+ 120 (q/random -10 10))
x (+ 200 (* r (Math/cos (q/radians i))))
y (+ 200 (* r (Math/sin (q/radians i))))]
(q/vertex x y)))
(q/end-shape q/CLOSE))
(q/defsketch demo
:title "minimal-hobbs-like"
:setup setup
:draw draw
:size [400 400])追記: 「最初の Quil コード」について (2025-08-26)
- 本人が「これが最初の Quil コード」と特定して公開している一次情報は見つかりませんでした。
- 公開されている初期のコード例としては、2015年前後の記事に掲載された Quil/Processing のサンプルが最古級のものとして参照できます。
- Creating Soft Textures Generatively: https://www.tylerxhobbs.com/words/creating-soft-textures-generatively
- Working with Color in Generative Art: https://www.tylerxhobbs.com/words/working-with-color-in-generative-art
- これらから読み取れる初期スタイルは、`begin-shape` → `vertex` → `end-shape` を核に、乱数や重み付き選択、HSB カラーモードなどを併用する手法。
参考: Hobbs の初期スタイルに近い最小スケッチ(再構成 / Clojure + Quil)
(ns sketch.core
(:require [quil.core :as q]))
(defn setup [] (q/frame-rate 1) (q/no-loop))
(defn draw []
(q/background 255)
(q/no-fill)
(q/stroke 0)
(q/begin-shape)
(doseq [i (range 0 360 15)]
(let [r (+ 120 (q/random -10 10))
x (+ 200 (* r (Math/cos (q/radians i))))
y (+ 200 (* r (Math/sin (q/radians i))))]
(q/vertex x y)))
(q/end-shape q/CLOSE))
(q/defsketch demo
:title "minimal-hobbs-like"
:setup setup
:draw draw
:size [400 400])- ※上記は本人の「最初のコード」そのものではなく、公開情報から読み取れる書きぶりを踏まえた最小例です。