processing proce55ing 3d

f:id:peroon:20081025200939j:image

アート用言語「Processing」は3Dを扱うのも簡単だろうと思っていたら、やっぱり簡単でした!とりあえず簡単なコードを書いてみました。

int cameraX = -100;
int cameraY = -100;
int cameraZ =  250;
int cameraR =  150;
float cameraRadian = 0;

int DEGREE = 0;

color RED   = color(255, 0, 0);
color GREEN = color(0, 255, 0);
color BLUE  = color(0, 0, 255);

void setup(){
  size(400, 400, P3D);
  background(0);
  noStroke();
}
  

void draw(){
  background(200);
  drawXYZ();
  DEGREE++;
  cameraRadian += 0.001;
  
  //lights();
  camera( cameraR*cos(cameraRadian), -100, cameraR*sin(cameraRadian), 0, 0, 0, 0, 1, 0);
  
  //draw square
  pushMatrix();
  stroke(BLUE);
  fill(BLUE, 100);
  rotateX(radians(DEGREE));
  rect(-26, -26, 52, 52);
  popMatrix();

}


void drawXYZ(){
  stroke(RED);
  line(0, 0, 0, 200, 0, 0);
  stroke(GREEN);
  line(0, 0, 0, 0, 200, 0);
  stroke(BLUE);
  line(0, 0, 0, 0, 0, 200);
}