processing 学习1~5.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
processing 学习第一天笔记Processing?Month第一天?连接点?第一部分这篇文章中,我们来看一下如何计算一个圆周上的点的坐标,并将他们连接起来。我们将用灵活的方式来实现基于6个点和18个点的图像计算要计算这些点的坐标,必须知道圆上的点数量和圆的半径。本例中,我们将画12个点。int?numPoint?=?12;float?radius?=?150;下一步,我们来算一下每个点之间的角度。众所周知一个整圆的角度是360度或2π弧度,所以用360度除以圆上的点数,就得到两点之间的角度。例子中使用了弧度而不是角度,是因为?cos()?和?sin()?函数的形参是弧度数,不是角度数。Processing中有一些关于圆和半圆的常量,?TWO_PI?就代表了常量PI*2。(这里的PVector其实是类型,代表这一个点)float???angle?=?TWO_PI?/?numPoint;for(int?i=0?;?inumberPoints;i++){?float?x?=?cos(angle?*?i?)?*?radius;?float?y?=?sin(angle?*?i?)?*?radius;?point[i]?=?new?PVector(x,y?);}我把计算的部分放在了setup()里面,把结果存在了PVector数组里,这样我们就不用在draw函数里一遍又一遍的计算点的x、y坐标。我还用了一个for循环,用来计算每个点的坐标,**angle*i**?会在每个循环中计算出一个点的坐标。绘制接下来我们说一下,如何将圆上的点两两连线,我们需要用一个嵌套for循环,来遍历数组中的每一个点。if语句用来比较i和j的数字,如果他们不相等,电脑就在这两个点之间画一条线。如果i和j相等,说明是同一个点,那么就不用画线了。for?(int?i?=?0;?i??numPoints;?i++)?{?for?(int?j?=?0;?j??numPoints;?j++)?{?if?(?j?!=?i?)?{?line(?pointsi.x,?pointsi.y,points[j].x,points[j].y?);?}?}}源码:折叠Java 代码复制内容到剪贴板int?numPoints?=?10;???PVector[]?points?=?new?PVector[numPoints];???float?radius?=150;??void??setup()??{???size(450,400);????float?angle?=?TWO_PI/numPoints;???for(int?i=0;inumPoints;i++)???{???float?x?=?cos(angle?*?i?)?*?radius;???float?y?=?sin(angle?*?i?)?*?radius;???points[i]?=?new?PVector(x,y);???}???noLoop();??}???void?draw()??{???smooth();????PImage?img;??img?=?loadImage(images/laDefense.jpg);??background(img);???//??background(0);?//background(0,0,255);????//fill(0,0,255);???//?fill(255,102,255);???stroke(0,0,255,60);???translate(width/2,height/2);???for(int?i=0;inumPoints;i++){???for(int?j=0;jnumPoints;j++)???{???if(j!=i)?{???//??line(?pointsi.x,?pointsi.y,points[j].x,points[j].y?);???line(?points[i].x,?points[i].y,points[j].x,points[j].y?);?}???}???}??saveFrame(images/circle-connection-+numPoints+.png);??}??成果:processing 学习第二天笔记第二天?连接点第二部分今天的例子和昨天的类似,只不过我们将使用随机点代替固定点,连接点的时候也将采用不同的方式。如果两点之间的距离小于某一个我们定义的数,我们就把这两个点连接起来。并且将连线的透明度与两点距离相关联,距离越大,连线就越透明。我们用?dist()函数来计算两个点之间的距离。前两个参数是第一个点的x坐标和y坐标。第三,第四个参数是另外一个点的x坐标和y坐标。返回值为一个float类型的数值,代表两点之间的距离。如果

文档评论(0)

yanpan1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档