Processing雁群实验

本文利用Processing完成一个3D随机渲染案例。由于最终动画效果像大雁群徘徊飞舞,我为其取名“雁群实验”。 为了简化说明,我们先用一个正方体旋转做说明,代码如下:

TIM截图20181011151543.jpg

float angle=0;
void setup() {
  size(500, 500, P3D);
  smooth();
}
void draw() {
  background(100);
  translate(width/2, height/2, 0);
  rotateY(angle/6);
  rotateX(angle/6);
  angle+=0.05;
  noFill(); 
  box(200, 200, 200);
}

效果如下:

5.gif

在上面案例中正方体的框架作为坐标范围,填充圆形(就是我们“大雁”),最终代码如下:

float angle=0;
void setup() {
  size(500, 500, P3D);
  smooth();
}
void draw() {
  background(100);
  translate(width/2, height/2, 0);
  rotateY(angle/6);
  rotateX(angle/6);
  angle+=0.05;
  noFill(); 
  box(200, 200, 200);
  translate(0, 0, -100);
  for (int i=0; i<=1000; i++) {
    drawCircle(10, random(-100, 100), random(-100, 100));
  }
}
void drawCircle(int r, float x, float y) {
  translate(0, 0, 0.2);
  fill(random(255));
  ellipse(x, y, r, r);
}

效果如下:

6.gif

注释掉辅助边框,效果如下:

7.gif

换个颜色,效果如下:

9.gif

10.gif

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一场梦

PHP头像九宫格合并 案例

1567
来自专栏Coco的专栏

【Web动画】SVG 实现复杂线条动画

1925
来自专栏程序员叨叨叨

未来布局之星——ConstraintLayout

ConstraintLayout是Android Studio 2.2中具有亮点的新功能之一,相比于RelativeLayout、LinearLayout等传统...

602
来自专栏Android Note

[译] 带你领略 ConstraintLayout 1.1 的新功能前言带你领略 ConstraintLayout 1.1 的新功能

1902
来自专栏IMWeb前端团队

一年前的焦点bug终于找到原因了, 图标文本对齐完美了~

? 正常来说点击可编辑框末尾空白,光标默认会闪烁在末尾 , 但是闪到了倒数第二个了....当时一直以为js有问题...压根没想到是一个top属性.... 虽然...

2339
来自专栏施炯的IoT开发专栏

创建Windows Mobile上兼容性好的UI 程序

    看看上面这个Emulator的截图吧,有WM 2003se、5.0、6.0的,有pocket PC、smartphone、classic、profess...

1839
来自专栏WindCoder

用CSS让头像动起来

不知之前什么时候起,喜欢是不是玩头像的特效。现在换了主题,头像不会动了,反而有点不太习惯,于是就又找了个常用的出来。原本以为那个把头像变成圆形并可以旋转的特效会...

2521
来自专栏python3

tkinter -- Grid

实现机制是将 Widget 逻辑上分割成表格,在 指定的位置放置想要的 Widget 就可以了

933
来自专栏HTML5学堂

GIF图像转换为多张JPG

HTML5学堂:在JS效果中,有一个使用代码处理多张连续的JPG图像,显示为动态GIF图的效果。于是乎,自己不得不制作多个连续的JPG图片。既然要做素材,也就顺...

2724
来自专栏上善若水

046android初级篇之android多分辨率兼容

android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别加载xxhdpi、xhdpi、hdpi、mdpi、ldpi文件...

862

扫码关注云+社区

领取腾讯云代金券