日常の進捗

主に自分のための,行為とその習慣化の記録

#Codevember day01 : Infinity

Codevemberは11月1日から30日までの1ヶ月間,毎日設定されているお題に合わせてプログラミングでスケッチするという一種のコーディングチャレンジ.お題はウェブサイトから確認できる.NovemberとCode Dev.あたりが掛かってるのかな.日本語だとついコーデンバーって言いそうになる.コーデベンバー.初日はInfinity(無限大)なのでサインのカーブをつかって形を描いてみた.しかしp5.jsは気軽に書けてとても良い.

codevember.xyz

function setup() {
  createCanvas(windowWidth, windowHeight);
  blendMode(ADD);
  angleMode(DEGREES);
  colorMode(HSB,360,100,100,100);
}

function draw() {
  let x_ratio = map(mouseX,0,width, 0.5,2.5);
  let y_ratio = map(mouseY,0,height,0.5,2.5);
  
  
  blendMode(NORMAL);
  background(0,0,0,85);
  blendMode(ADD);
  randomSeed(100);
  let f = frameCount * 0.25; //書くの楽なので

  push();
  translate(width / 2, height / 2);
  rotate(90);
  for (let i = 0; i < 360; i += 0.5) {
    let hue = random(180,360);
    let saturation = random(70,100);
    let brightness = random(20,100);
    stroke(hue,saturation,brightness);
    strokeWeight(1.5);
    noFill();
    let x = sin((i + f) * 2) * (width * 1 / 8)* y_ratio;
    let y = sin((i + f)) * (height * 1 / 4)* x_ratio;
    ellipse(x, y, 20, 20);
  }
  pop();
}