微生物を描く Micro World (2020.03.14)

作品解説

 空の表現に一段落ついたので、 次のテーマとして微生物の世界を再び模索してみました。 つぶやき Processing を始めた頃、 ボルボックスを描こうとしていた のもありますし、 私にとっては微生物の世界というのは非常に魅力的に感じるモチーフです。

 この作品はツィートにもあるように、 微生物を模した形状が、進行方向に応じて向きを変えるように作ってあります。 実装方法については次のセクションで簡単に説明します。

ソースコードおよび解説

def setup():size(500,500);

def D(x,y,i,a):
    beginShape()
    for k in range(93):
        t=k/15.;
        r=(noise(i)*4+1)*exp(-4*t*(t-6.2))*1e-16
        vertex(r*cos(t+a)+x,r*sin(t+a)+y)
    endShape(2)

def draw():
    background(255);
    fill(250)
    stroke(200,210,200)
    f=frameCount*.0005;
    randomSeed(1)
    for i in range(100):
        t=i*f+1
        r=random(250)
        x=r*cos(t)+random(300)+75
        y=r*sin(t)+random(300)+75
        D(x,y,i,t-PI/2)

 関数 D で微生物の形状を描いています。 描画は極座標を活用し、角度を増加させつつ、半径を変化させた円として描いてます。 微生物の向きは、角度のオフセット(引数 a )にて実現しています。 a だけ回転角度をずらすことで、微生物がその方向に向くように調整しています。

 関数 D のその他の引数は、x,y が微生物の位置を、 引数 i を i 番目の微生物の形を定めるパラメータとして使用しています。