【p5js/プログラミング】とうもろこし。

Art

こんにちは、たやち(tayati369)です。

p5.jsでコーディングしています。
PCD@Tokyoさんの「デイリーコーディングチャレンジ」!!に素人極まりない私も参加しております。
毎日できるかわからないけれど、リモートワークのこのご時世、通勤分の時間があるでチャレンジしていきます。(デイリーとはw)

20日目のテーマは「とうもろこし」。

私はお菓子が好きです。とうもろこしのお菓子と言えば、「とんがりコーン」!
最近食べていないなーとか、食べていたころ思い出を懐古しながら今回のコードを書きました。

あー、お腹すいた。笑😂

では、ごらんあれ〜。

var x;
var y;
var r = 50;
num = 15;
var corns = [];

function setup(){
  createCanvas(500 ,500);
  for (var i = 0; i < num; i++) {
    corns[i] = new Corn;
  }
  noLoop();
}

function draw(){
  background(255);

  push();
  translate(width/2,height/3);
  rotate(-0.1);
  noStroke();
  fill('#00AA00');
  rect(-width,80,1000,1000);
  textSize(120);
  textAlign(CENTER);
  fill('#FF0000');
  stroke(0);
  strokeWeight(5);
  text('とんがり',0,0);
  fill('#FFD700');
  // rotate(-0.1);
  text('Corn',0,100);
  pop();



  push();
  for (var i = 0; i < corns.length; i++) {
    push();
    var angle = random(-0.5,0.5);
    rotate(angle);
    translate(random(0,width),random(height*0.85,height));
    corns[i].show();
    pop();
  }
  pop();
  save('tomorokoshi.jpg');
}


class Corn {
  constructor() {
    this.x = x;
    this.y = y;
    this.r = r;
    fill('#FFCC33');
  }
  show(){
    for (var j = 0; j < 100 ; j++) { r = 100 - j; if (random(1) > 0.2) {
        noStroke();
      }else {
        stroke('#8B4513');
      }
      beginShape();
      for (var i = 0; i < TWO_PI; i+=0.1) {
        x = r/2 * cos(i);
        y = r/4 * sin(i) - j;
        vertex(x,y);
      }
      endShape();
    }
  }
}

ではでは、さようなら〜〜〜。

なにかあればTwitterまで。

コメント