見出し画像

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

#つぶやきProcessing の場合は、1 tweet 中に全プログラムを詰め込むので、必然的にプログラム(ソースコード)は公開されることになる。しかし、文字数削減の作業は(私にとっては)なかなか難しく、いつも #つぶやきProcessing できる訳でもない。

 このシリーズでは、#つぶやきProcessing 化できなかった作品のソースコードを掲載していきたいと思う。まずは、先日発表した次の作品のソースコードを示す:

この作品は tweet にもあるとおり 10 行程度で記述されている。

def setup():size(510,510);noStroke()
W,s=255,sin
R=180
M=random
def draw():
 background(-20);p=0;randomSeed(0)
 for k in range(2,899):
    h=2*k/899.-1;t=acos(h);p+=3.6/sqrt(900)/sqrt(1-h*h);f=frameCount
    fill(M(300),120,random(300),M(150));circle(R*s(t)*cos(p+f*.01)+W,R*cos(t)+W,M(35)*s(t))
 filter(BLUR,2)

とはいえ、Python の場合はマルチステートメントが許されるので、あまり行数には意味がないのかもしれない。上記のプログラムも本質的には 8 行まで圧縮できる。

 使用している技術は昨日書いた記事に記した、球面上に一様に分布する螺旋を用いたものである。この螺旋上に適当にランダムに(といっても毎回 randomSeed を設定しているので、実は同じ値が出てくるのだが)設定した色で円を配置しているだけである。

この特殊な螺旋に興味のある方は、こちらの記事からリンクを辿っていただければ幸いである。


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?