深蓝创客

Processing典例——3D地球

void setup() 
{
  fullScreen(P3D);  // 全屏
  textSize(32);    // 文字大小
}
float timer = 0;
void draw() 
{
  background(0);    //背景
  stroke(#74F599);  // 绿色边框
  noFill();        //不设置填充
  lights();        // 环境光
  pushMatrix();    //将当前变换矩阵推送到矩阵堆栈
  translate(width/2,height/2,200 * sin(timer));
  /* 鼠标左键拖动旋转 */
  if (mouseButton == LEFT) 
  {
    rotateX(mouseY * 0.05);
    rotateY(mouseX * 0.05);
    sphereDetail(mouseX/4);    //通过调整球体网格的顶点数量来控制用于渲染球体的细节。默认分辨率为30
  }
  rotateY(timer);  // y 轴旋转
  rotateX(PI/6);  // x 轴旋转30
  sphere(300);    //球密度
  textMode(CENTER);  // 球体中部文字
  fill(255, 0, 0);
  text("Hello world,My name is F-91", -300, 0, 0);
  popMatrix();
  timer = (timer+0.01)%TWO_PI;
  text(year()+"年"+ month()+"月"+day()+"日"+hour()+"时"+minute()+"分"+second()+"秒",50,height-50,0);
}
void mouseClicked()
{  
  if (mouseButton == RIGHT) 
  {          
    String picName = "PDE_" + year()+ "_" + month()+"_" + day()+"_" + hour()+"_" + minute()+"_" + second();  
    save(picName + ".png");  
    println(" ----> Picture saved.");
  }
} 

 

posted on 2021-07-02 11:11  深蓝创客  阅读(192)  评论(0编辑  收藏  举报

导航