(十)利用processing繪製3D圖形

3D圖形的旋轉:

//import processing.opengl.*;
void setup(){
  size(800, 600, P3D);
  noStroke();
  fill(255, 190);
}
void draw(){
  background(0);
  pushMatrix();
  translate(width/2, height/2);
  rotateX(mouseX/100.0);
  rotateY(mouseY/100.0);
  int dim = 18;
  for(int i = -height/2; i < height/2; i+=dim*1.2){
    for(int j = -height/2; j < height/2; j+=dim*1.2){
      beginShape();
      vertex(i, j, 0);
      vertex(i+dim, j, 0);
      vertex(i+dim, j+dim, -dim);
      vertex(i, j+dim, -dim);
      endShape();
    }
  }
  popMatrix();
  String time = "The time is " + hour() + ":" + minute() + ":" + second() + "\n";
  pushMatrix();
  translate(0,0,0);
  stroke(255, 255, 0);
  text(time, 20, 20);
  noStroke();
  popMatrix();
 }

程序運行結果:


函數使用說明:

size(width, height, P3D/OPENGL);    //P3D/OPENGL引入3d繪圖
rotateX(mouseX/100);    //鼠標在 x 軸移動,圖形繞着 X 軸移動 mouseX/100 弧度
rotateY(mouseY/100);    //鼠標在 y 軸移動,圖形繞着 Y 軸移動 mouseY/100 弧度
pushMatrix() - popMatrix();    //在區間中調整座標參數,不影響外面的 (0, 0)點確立


發佈了31 篇原創文章 · 獲贊 11 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章