美文网首页我爱编程程序员
Processing雁群实验(续)

Processing雁群实验(续)

作者: 一石匠人 | 来源:发表于2018-10-19 16:40 被阅读4次

本文在前一篇《Processing雁群实验》进行延伸扩展,进行“实验性”探索。

本案例要点:

(1)旋转复杂不规则图形;
(2)运用二维数组定义图形;
(3)鼠标左右移动控制物体沿 Y 轴旋转;
(4)点击鼠标线条变色。

效果图如下:

复杂图形3D旋转演示.gif

代码如下:


int [][]myArray;
//define angle of rotation
float angle_1; 
void setup() {
  size(500, 500, P3D);
  smooth();
  //Define two dimensional array 
  myArray=new int[200][3];
  for (int i=0; i<100; i++) {
    for (int j=0; j<3; j++) {
      myArray[i][j]=int(random(-100, 100));
    }
  }
}
void draw() {
  background(200);
  translate(width/2, height/2, 0);
  rotateY(radians(angle_1));
  noFill();
  //draw the shape to rotate
  box(200);
  beginShape();
  for (int i=0; i<myArray.length; i++)
  {
    vertex(myArray[i][0], myArray[i][1], myArray[i][2]);
  }
  endShape();
}

void mousePressed() {
  stroke(random(255),random(255),random(255));
}
void mouseMoved() {
  angle_1=map(mouseX, -width/2, width/2, 0, 360);
}

注意:

因为要是一个固定的图形进行旋转,不同于上一篇《Processing雁群实验》中的变动图形,这要求3D位点坐标要在setup()函数中提前赋值。如果在draw()中赋值则每次循环都重新随机画图,不符合本例要求。

拓展1:用坐标点画规则图形

规则图形可以在3D坐标中定义坐标点,如上例中的坐标点由随机变为规则,变化的代码如下:

int [][]myArray={
{0,0,0},
{200,0,0},
{200,0,200},
{0,0,200},
{0,0,0},
{0,100,0},
{100,200,0},
{200,200,0},
{200,0,0},
{200,0,200},
{200,200,200},
{200,0,200},
{200,0,0},
{200,200,0},
{100,200,0},//
{0,200,100},
{0,100,0},
{0,200,100},
{0,200,200},
{0,0,200},
{0,200,200},
{200,200,200},
{200,200,0},
};

动态效果如图:


规则图形3D旋转演示

相关文章

  • Processing雁群实验(续)

    本文在前一篇《Processing雁群实验》进行延伸扩展,进行“实验性”探索。 本案例要点: (1)旋转复杂不规则...

  • Processing雁群实验

    本文利用Processing完成一个3D随机渲染案例。由于最终动画效果像大雁群徘徊飞舞,我为其取名“雁群实验”。为...

  • 《DAX权威指南》简体版 (第九章)02

    续:实验收费。

  • Spark Structured Streaming2.3两种计

    micro-batches Processing & Continuous Processing Structur...

  • Fiori-like Prototype (Parallel P

    Parallel Processing. SAPSPTA Parallel Processing Framewor...

  • COMP9311 Database Systems WEEK11

    1.Query Processing query processing is the study of techn...

  • Annotations 1

    Annotations Processing 概念 Annotation processing-javac在编译时...

  • 雁群的逝去

    为了那个遥远而温暖的梦,我们不远万里的飞翔,追逐着水草丰美的天堂。 歇宿 飞了长长的一天,终于找到了一个能...

  • 群山与雁群

    图文/芳心可期 一直以来,我的画工并不精湛。但是我仍在坚持,今天偶然在抖音看到了一幅犹如仙境一般的画,简单大方,却...

  • 远去的雁群

    工作餐后,走上公司的楼顶。 抬头望一眼将要将要熄灭的白天,天色渐变。 在好高好高的淡淡的云下面,突然发现一排小黑点...

网友评论

    本文标题:Processing雁群实验(续)

    本文链接:https://www.haomeiwen.com/subject/ymnyzftx.html