Daily Creative Coding

元「30 min. Processing」。毎日、Creative Codingします。

3次元空間における四角形

/**
* rectangle in 3D
*
* @author aa_debdeb
* @date 2016/04/16
*/

float bg, sat, bri;

void setup(){
  size(500, 500, P3D);
  rectMode(CENTER);
  strokeWeight(30);
  mousePressed();
}

void draw(){
  background(bg, sat, bri);
  translate(width / 2, height / 2);
  rotateY(map(mouseX, 0, width, -PI / 3, HALF_PI / 3));
  rotateX(map(mouseY, 0, height, PI / 3, -PI / 3));
  rect(0, 0, 300, 300);
}

void mousePressed(){
  colorMode(HSB, 360, 100, 100);
  bg = random(360);
  sat = random(30, 100);
  bri = random(50, 100);
  fill(bg + 60 < 360? bg + 60: bg + 60 - 360, sat, bri);
  stroke(bg + 120 < 360? bg + 120: bg + 120 - 360, sat, bri);
}