マガジンのカバー画像

ジェネラティブアートのプログラムを公開するマガジン

12
[ 全部無料 ] 短いプログラムでもジェネラティブアートは生成できます。究極的には 1 tweet に収まる #つぶやきProcessing というものがありますが、このマガジン… もっと読む
運営しているクリエイター

記事一覧

ひと工夫の試み:ノイズを使った曲線描画

 先日、少し時間ができたので、ノイズを使った曲線描画を試してみた。なかなか良い感じだったし、#つぶやきProcessing 化もできたので、Twitter にて発表した。 忘れないうちに、この時に考えたよしなしごとついて記しておこうと思う。 文字数削減前のコード  まず、このコードを読みやすくするために、圧縮前のプログラムを掲載する: def setup(): size(500,500) colorMode(HSB) noStroke()def dr

280 文字以下で実現する、レイマーチングを用いた立体的な雲画像の生成方法

 車を走らせていると、青空を背景に白い雲がぽっかりと浮いていた。下の方は灰色の影を有していて、上の方は太陽に照らされ白く輝いている。なんとも立体感が凄い。  こういう雲を描いてみたいんだよなぁ…などと思いつつ、そういえば、立体感のある雲を CG で生成する場合、レイマーチングを使うんだっけか、と昔勉強していた日々を思い出す。  なお、レイマーチングについては、以下のページ "(1/2) Behind The Scene: Cloud Raymarching Demo" h

ジェネラティブアート制作時の頭のなか - 番外編 ストレンジアトラクタ作品の場合

 年度末・年度初めは仕事が多くなる。年度末には、その年度の締めくくりに関する書類や報告会への参加などがあり、年度初めには新たに始める様々な試みに関する準備などに追われてこととなる。  そんな訳で、最近は以下のリンクに示すプログラム(といっても、正確にはこれを更に改良したもの)で生成したストレンジアトラクタをぼちぼちと発表する程度となってしまっている。今日は、予定していた事柄が 1 時間ほど早く終わったので、ここ最近発表しているストレンジアトラクタに関する作品をどのように作っ

木を描く

 年度末進行で今日も忙しいので、過去作より棚つか。再帰で木を描く、よくあるプログラムである。このプログラムを作った当時のメモには「失敗」の文字が添えてあった。おそらく、乱数による変動が酷いためであろう。 たまたま randomSeed(0) と指定すると、(私の環境では)冒頭のような木が描かれる。しかし、これを外して実行すると全く安定しない。酷いものである。 乱数ではなくノイズを使うと改善するのかもしれないが、その点については今後の課題である。 size(500,500

Processing でシダを描く

 過去作より棚つか的に紹介。今日は IFS - Iterated Function System 反復関数系によるシダの描画である。図形の一部を縮小して貼り付けるという操作はアフィン変換行列で表されるが、その変換の収束値として表されるという定理が有る。確かバーンスレイの収束定理とか言った気がするが、記憶が曖昧である。詳しい説明についてはバーンスレイの Fractals Everywhere を読んで欲しい(今は新版も出ているようであるが相変わらず値段が高い)。  IFS

魔法使いの実験室的な何か

 今日もなかなかに忙しい - というか、年度末なので書類仕事が増えるのは致し方ないのだが、実は、昨日見つけた Sprott 氏のストレンジアトラクタに関する論文や書籍を読んでみたく、何だかあまり落ち着かないというのが現状である。 というわけで、今日も棚つか的に作品紹介。これは文字数が多すぎて #つぶやきProcessing 化できなかった作品である。この作品を作る時に思い描いていたのは、魔法の秘薬を魔法使いが作っているところであった。青白く怪しく発光する液体の中で、何かが沸

ノイズのエッジ

 今日もなかなか忙しいので、新作ではなく、これまでに作成した作品から棚つか的に紹介したいと思う。私は作品を作ると Google Docs に文字数圧縮前のソースコードと、圧縮した #つぶやきProcessing 用のコードを共に保存している。本日紹介する作品は「ノイズのエッジ(失敗作)」というタイトルが付いていた。この作品はかなり最初の方にメモされているので、おそらく 2 年前の作品なんだと思う。そのため、何が失敗だったのか、全く思い出すことができない。 とにかく、どんな作

銀河の作りかたと究極の疑問の答え

 今日は銀河の作りかたである。これだけ書くと、なんだか SF 小説の一部のようである。残念ながら Processing でのプログラミングに関する話であり、ジェネラティブアートの話である。 なので、とち狂ったマッドサイエンティストも出てこないし、スペースオペラでもない。創作 SF を期待された方に対しては申し訳ないとしか言いようがない。  銀河を模した作品は過去にも何作か作っているので、作りかたについてもどこかに書いた気もするが、どうも書いていないみたいだ。 プログラム

夕焼けと三日月の作りかた

 Twitter には素晴らしい写真が数多く掲載されている。先日拝見した John Kraus さん( @johnkrausphotos さん)の写真もそのような美しい写真のひとつである。 なんとも言えない、味わい深い黄昏時の風景である。暖かくなったら、私もこのような写真を撮ってみたいものである。  さて今日は、この美しい写真をお手本として、プログラムで模写してみようと思う。 実際の夕焼け空を模写するのは、実は初めてではない。既に実施した経験がある。 この作品は、次の

ボルボックス的な何か

 猫もそうであるが、生物をプログラムにより描画したいという欲求を私は持っている。猫のような高等生物をアルゴリズミックに描くことはおそらく難しいのではないだろうか。一方、微生物については猫よりも単純な形をしているものも多い。アルゴリズムによる生物の描画も、個体発生は系統発生を繰り返すという言説が当てはまるのかもしれない。  そこで、今回は引き続きボルボックスをテーマとしてプログラムを作ってみよう。ボルボックスの写真はもとより、それを模式的に描画するイラストを眺めて構想を練る。

プログラムでボルボックスを作る(習作)

 昨日 #つぶやきProcessing した、こちらの作品は、もう少し色が付いているものであった。 こちらの作品のオリジナル版は以下の通りである。昨日の作品に引き続き、球面上を一様に覆う螺旋を活用したものである。 def setup():size(510,510);noStroke()W=255s=sinN=20000def draw(): background(-1);p=0 for k in range(2,N-1): h=2*k/(N-1.)-1; t=

ジェネラティブアートのプログラム公開

 #つぶやきProcessing の場合は、1 tweet 中に全プログラムを詰め込むので、必然的にプログラム(ソースコード)は公開されることになる。しかし、文字数削減の作業は(私にとっては)なかなか難しく、いつも #つぶやきProcessing できる訳でもない。  このシリーズでは、#つぶやきProcessing 化できなかった作品のソースコードを掲載していきたいと思う。まずは、先日発表した次の作品のソースコードを示す: この作品は tweet にもあるとおり 10