processing 学习第二天笔记
来源:互联网 发布:网络连接不稳定 编辑:程序博客网 时间:2024/05/17 19:21
第二天 连接点第二部分
今天的例子和昨天的类似,只不过我们将使用随机点代替固定点,连接点的时候也将采用不同的方式。如果两点之间的距离小于某一个我们定义的数,我们就把这两个点连接起来。并且将连线的透明度与两点距离相关联,距离越大,连线就越透明。
我们用 dist()函数来计算两个点之间的距离。前两个参数是第一个点的x坐标和y坐标。第三,第四个参数是另外一个点的x坐标和y坐标。返回值为一个float类型的数值,代表两点之间的距离。如果距离小于255,我们就在这两点之间连线。
float dst = dist( points<i>.x, points<i>.y, points[j].x,points[j].y );if ( dst < 255 ) { stroke( 255, 255 - dst ); line( points<i>.x, points<i>.y, points[j].x, points[j].y );}
画完这些细线之后,我们稍微放大点的体量,这样会让图像更好看。以下这些代码将加入到第一个for-loop循环的结尾、内部循环之后。
stroke( 255 );strokeWeight(4);point( points<i>.x, points<i>.y );源码:
int numPoints = 10; PVector [] points = new PVector[numPoints];void setup() { size(450,400); for(int i=0;i<numPoints;i++) { points[i]=new PVector(random(width),random(height)); } noLoop(); }void draw() { smooth(); background(0); noFill(); for(int i=0;i<numPoints;i++){ for(int j=0;j<numPoints;j++) { strokeWeight(1); if(j!=i) { float dst = dist(points[i].x,points[j].y,points[j].x,points[j].y); if(dst<255) { stroke(255,255-dst); line(points[i].x,points[i].y,points[j].x,points[j].y); } } } stroke(255); strokeWeight(4); point(points[i].x,points[i].y); //节点画点 } saveFrame("images/random-connections-"+numPoints+".png"); }成果
- processing 学习第二天笔记
- processing 第四天学习笔记
- 第二天学习笔记
- 第二天学习笔记
- 学习笔记第二天
- processing 学习第一天笔记
- processing第三天学习笔记
- Processing学习笔记---基本结构
- Processing学习笔记 之 Processing简要执行过程
- Processing学习笔记--Difference of Processing from traditional programming languages
- Struts学习笔记第二天
- Android学习笔记: 第二天
- java学习笔记--第二天
- axis2 学习笔记 第二天
- Java学习第二天笔记
- muhout 第二天学习笔记
- javascript学习笔记第二天
- JAVA学习第二天笔记
- 1.3 基本调优策略和手段
- JDBC性能小贴
- nested push animation can result in corrupted navigation bar问题解决
- 2.1 善用设计模式
- loadView和viewDidLoad,即view的生命周期浅析
- processing 学习第二天笔记
- dex2jar和JD-GUI 反编译
- nyoj128 前缀式求值(栈---递归---数据结构)
- 汇编指令
- CSRF 攻击的应对之道
- processing第三天学习笔记
- VC++ win7下实现WIFI共享工具 附源代码(无线承载网络)
- Sample 3.2:exceed.cpp
- poj3087