like coffeeの進捗ダメです

Unity, Processingとか

MENU

Processingでスライムを描画してみた

Hello New Year !! (挨拶)

新年一回目の更新です!


今回は, 先日投稿したツイートが思いのほかいいねがあったのでソースコードを紹介しておきたいと思います!


ソースコード

float verNoise;
float vertex = 8; //最大頂点数
float viscosity = 30; //粘度
color col = #03B9FF;

void setup() {
  size(500, 500);
  noStroke();
}

void draw() {
  background(255);
  slime((int)(1*vertex-1)+1, abs(sin(frameCount*0.1)-0.5)*viscosity);
  verNoise+=.005;
}

void slime(int ver, float vis) { //ver頂点数 vis粘度
  pushMatrix();
  translate(width/2, height/2);
  rotate(frameCount*.01);
  fill(col);
  beginShape();
  for (int theta=0; theta<360; theta++) {
    float r = 150+sin(radians(theta*ver))*vis;
    vertex(cos(radians(theta))*r, sin(radians(theta))*r);
  }
  endShape(CLOSE);
  popMatrix();
}


主にはslime関数により描画処理が行われており, グローバル変数の値を変えることでスライムの描画を調節します.

変数vertexはスライムが伸びた際の最大頂点数を示し, 変数viscosityの値を大きくすると伸び具合 (粘度)が設定できます.


f:id:Eddie_Le_Garden:20200109232847p:plain
↑viscosity=60の場合



割と単純なソースコードですが, プロパティを変えるだけで色々な描画結果になるのでぜひお試しください~!!