Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Processing雁群实验(续)

Processing雁群实验(续)

作者头像
一石匠人
发布于 2018-11-07 06:40:15
发布于 2018-11-07 06:40:15
61100
代码可运行
举报
文章被收录于专栏:儿童编程儿童编程
运行总次数:0
代码可运行

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

本案例要点:

(1)旋转复杂不规则图形;

(2)运用二维数组定义图形;

(3)鼠标左右移动控制物体沿 Y 轴旋转;

(4)点击鼠标线条变色。

效果图如下:

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

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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坐标中定义坐标点,如上例中的坐标点由随机变为规则,变化的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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旋转演示

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.10.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Processing雁群实验
本文利用Processing完成一个3D随机渲染案例。由于最终动画效果像大雁群徘徊飞舞,我为其取名“雁群实验”。 为了简化说明,我们先用一个正方体旋转做说明,代码如下:
一石匠人
2018/10/12
7050
Processing雁群实验
可视化工具solo show-----Processing Prefuse show
本文介绍了可视化工具Solo Show和Prefuse,以及它们在编程社区中的应用。Solo Show是开源的,而Prefuse是商业的。Solo Show支持多种数据类型,包括网络、游戏、社会网络、股票和贸易数据。Prefuse提供了更丰富的交互式可视化,包括各种图表、地图、仪表盘等,用户可以通过简单的编程快速创建自定义的可视化界面。
JackieZheng
2018/01/08
1.5K0
可视化工具solo show-----Processing Prefuse show
太极与流体Taichi & PixelFlow
Processing 的 PixelFlow 是一个高性能的流体粒子物理仿真库,为数不多的代码可以呈现出非凡的视觉效果,在互动交互中使用比较广泛。
ChildhoodAndy
2021/07/15
1.8K0
太极与流体Taichi & PixelFlow
Processing玩转国庆头像生成
国庆节了,抖音上各种国庆头像生成器,有的在 Web 端使用,有的是使用微信小程序进行制作,这事咱 Processing 也能做嘛。说撸就撸一个,简单粗暴。
ChildhoodAndy
2021/10/14
6960
Processing之完美循环的艺术
我们经常在社交网站上会看到一些生成艺术使用的视频或者 GIF 展示,不过不知道读者有没有仔细观察过有些视频和 GIF,他们的开头和结尾是无缝衔接的,或者说在某个时间点又开始重复循环。
ChildhoodAndy
2021/11/09
2.1K0
p5.js 3D图形-立方体
前面写了几篇 p5.js 文章 都还没涉及到3D图形,但其实 p5.js 是提供了基础的3D图形的。
德育处主任
2023/03/19
2.3K0
p5.js 3D图形-立方体
Arduino和processing实现串口通信
由于串口流通的数据都是bytes而没有字符串概念,所有发送数据都会按一个byte一个byte缓存,不论是否是连续字符串;而读取时会取走所有缓存bytes,不论它们是否是一个、半个还是多个字符串。
luxuantao
2021/02/24
2.2K0
Processing之矢量SVG用法一览
本文是小菜的一篇关于在 Processing 中使用 SVG 的学习笔记,一起来跟着小菜来看看吧:)
ChildhoodAndy
2021/11/09
2.4K0
Processing沙画的笔触模拟
其实沙画的笔触模拟是非常复杂的,本篇我们来实现一个非常简单的笔触形式,也就是通过randomGaussian()来模拟沙子的笔触分布情况。
ChildhoodAndy
2022/01/20
8740
Processing沙画的笔触模拟
win2d 画出好看的图形
本文告诉大家,win2d 不需要从零开始做,以前做出来的很多库其实只需要做很小修改就可以做出好看的效果,而且用在 UWP 上。本文修改原先 大神写的 GDI 图形到 win2d 上,而且可以运行起来。
林德熙
2018/09/19
7190
win2d 画出好看的图形
Processing速写Day007-摄像头与物理世界
本篇是 Processing 速写100天计划 的第7天Day_007。Processing速写100天计划是小菜的一个命题作业,所谓速写,简单的在5-10分钟,复杂点的在1-2个小时,主要就是敦促小菜能够对 Processing 的基本功进行扎实练习。
ChildhoodAndy
2021/07/15
6000
在编程中发现数学之美——使用python和Processing绘制几何图形
在几何课上,你学的所有东西都是关于空间里的形状和尺寸。一般来说你先学习一维的直线,然后学习二维的圆、正方形或三角形,然后学习三维的物体如立方体和球体。当今时代,利用很多先进的技术和免费的软件可以很容易地创建几何图形,但是要处理和改变你的图形,可能就有点挑战性了。
fanzhh
2020/04/24
6.7K0
在编程中发现数学之美——使用python和Processing绘制几何图形
Processing像素密度?啥玩意?
在后面的源码分析中,会涉及到像素密度这个概念,想着怕部分读者有困惑,先做个铺垫文。
ChildhoodAndy
2021/10/14
7080
生成艺术之递归-小白也能看的懂系列
为啥突然来讲这个主题,源自于小菜的交流群中有朋友问到了一个效果的实现思路,这个效果在https://www.patrik-huebner.com/ideas/60s-swiss-recursive-poster-series/[1]这里。它的具体效果是这样的:
ChildhoodAndy
2021/10/26
7640
生成艺术之递归-小白也能看的懂系列
基于单片机超声波测距系统的设计_单片机类毕业设计
Hi,大家好,这里是丹成学长,今天向大家介绍一个超级炫酷的单片机项目,非常适合用于毕设
全栈程序员站长
2022/10/01
9421
基于单片机超声波测距系统的设计_单片机类毕业设计
canvas入门,就是这个feel!
Canvas 是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图。也就是说我们将通过JS完成画图而不是css。
Daotin
2019/11/27
6050
如何给vs2022导入图形库“graphics.h“
目录 问题: 下面是解决办法: 效果图 代码: ---- 先看看我们用图形库做的一个三维旋转球体💡💡💡 三维球体 切记,切记,在做这一些列操作之前一定要把vs2022关掉。 问题: 找不到其中的文件 原因是:graphics.h头文件在我们的头文件中并不存在。需要官网下载。 下面是解决办法: esayx的官方网址: EasyX 2022 版 (2022-9-1 更新) - EasyX 找到vs2022需要下载的版本 找到vs2022的下载地址 crtl+j找到你下载的文件
用户10271432
2022/12/19
2.4K0
如何给vs2022导入图形库“graphics.h“
老师,我再也不怕Processing动图啦 - 深度解析Processing图片序列帧动画
一文带你彻底了解 Processing 中常见的几种处理动图方式。看完直呼,老师,我再也不怕 Processing 动图啦!
ChildhoodAndy
2021/11/16
3.8K0
老师,我再也不怕Processing动图啦 - 深度解析Processing图片序列帧动画
老鸟带你画tiled lines
老鸟:tile 是瓷片的意思,就是在瓷片中画线,最终形成的线条具有一定的艺术美感。我在用 processing 绘制瓷片线,这就是 tiled lines,咋样,好看不?
ChildhoodAndy
2021/05/11
5800
HTML5 Canvas的简单使用
参考这里 https://www.runoob.com/w3cnote/html5-canvas-intro.html
不愿意做鱼的小鲸鱼
2022/09/24
1.5K0
HTML5 Canvas的简单使用
相关推荐
Processing雁群实验
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验