【Processing】3D空間内でのカメラの切り替え

youtu.be




background()を消すだけでこんなことになるのか、、!
知らんかった。

カメラの切り替え雑〜。


float X = random(2000);
float Y = random(2000);
float Z = random(2000);

void setup() {
  size(500, 500, P3D); //3Dに
}

void draw() {
  //background(0);  //背景を黒にしておく
  directionalLight(0, 0, 255, 0, -1, 0);//青のライトを下から上に
  directionalLight(0, 255, 0, 1, -1, 0); //緑のライトを右下から左上に
  directionalLight(255, 0, 0, -1, 0, -1);//赤のライトを右下から左上に

  if (frameCount%100 == 0) {    X = random(2000);  }   
    if (frameCount%200 == 0) {    Y = random(2000);  }   
      if (frameCount%300 == 0) {    Z = random(2000);  }   
  camera(X*sin(frameCount*0.03), Y, Z*cos(frameCount*0.02), 
    0, 0, 0, //カメラを中心に向ける
    0, 1, 0);  //yを天にする

  noStroke();           //線なし
  fill(255);            //白に
  sphereDetail(30);     //球体のなめらかさ
  //sphere(1000);          //大きい球体をかく

  //球体を100こかく
  for (int i =  1; i <= 100; i++) {
    pushMatrix();                             //座標保存
    translate(i * 50 * cos(frameCount*0.01 * i), //座標を移動
      i * 50 * sin(frameCount*0.01 * i), //回す
      i * 50 * sin(frameCount*0.02 * i)); 

    sphere(50);     //球体をかく
    popMatrix();    //座標を戻す
  }
}