NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 35621|回复: 29
打印 上一主题 下一主题

[网络资源] Processing 连接点和线

[复制链接]
跳转到指定楼层
1m
发表于 2011-10-21 00:27:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们今天来看一个稍微复杂一点的例子。依旧是连接点和线。但是这次我们要在画面中随机放置点,并且只连接相距在一定范围之内的两个点。然后越长的连线,颜色越淡,越透明。听上去是不是已经有点复杂了?让我们来看看一步步该怎么做。 首先,我们要生成随机位置的点:
1 points = new PVector( random(width), random(height) );
random(x)是Processing提供的函数,可以生成一个在0和参数x之间的随机数。这里用width和height做参数,保证了生成的点,在我们的画面大小之内。 接下去,我们要画线。和之前的例子一样,我们用两个嵌套在一起的循环来画每一对点之间的连线。连线取决于点之间的距离。计算距离用的是Processing的dist()函数。参数是两个点的坐标,返回的就是点之间的距离了。
1 float dst = dist( points.x, points.y, points[j].x, points[j].y );
当距离小于255时,我们才连线。同时,距离越大,线越透明。
1 2 3 4 if ( dst < 255 ) { stroke( 255, 255 - dst ); line( points.x, points.y, points[j].x, points[j].y ); }
在上一次的例子里我们知道了画线的函数是line()。 这里我们再次用到这个函数。至于线的透明度,用到的函数是stroke(),当传给stroke两个参数的时候,第一个是灰度,第二个则是透明度(alpha通道)。在这里,alpha的值和距离成反比,所以用的是255-dst。这里我们还用到了strokeWeight()函数来设置线的粗细。 最后我们来画点。记住要重新设置stroke()。我们还设置了strokeWeight()。用更粗的线来画原点可以让节点更明显。
1 2 3 stroke( 255 ); strokeWeight(4); point( points.x, points.y );
结果可以尝试改变numPoint的值来改变点的数目。 下载Processing源代码

评分

参与人数 1强度 +2 照度 +5 收起 理由
SURE轻松 + 2 + 5 感谢分享!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
2m
 楼主| 发表于 2011-10-21 00:28:16 | 只看该作者
下载Processing源代码

processing_month_day_002.zip

1.65 KB, 下载次数: 101, 下载积分: 照度 -1 lux

3m
 楼主| 发表于 2011-10-21 01:22:49 | 只看该作者
4m
 楼主| 发表于 2011-10-21 01:47:03 | 只看该作者
年度最佳媒体信息可视化作品是怎样炼成的? 我们前不久介绍了媒体可视化的年度大奖Malofiej 19。纽约时报的可视化How Mariano Rivera dominates hitters”获得了年度最佳在线信息图的奖项。他们用一段视频告诉读者为什么Mariano Rivera投的球那么厉害。最近InfographicsNews访问了这个可视化的制作者之一,纽约时报信息可视化组专职体育新闻的Joe Ward。了解了整个制作过程和其中的一些信息设计上的选择。 首 先主题是非常重要的,一个可视化成功与否,它所表示的数据,传递的信息,和要讲述的故事是否有意思,吸引人是最关键的。纽约时报的编辑选择了 Mariano Rivera,是因为他是历史上最好的投手之一,而且他的快速切割球纵横球场很多年,依然天下无敌。美国有大量的棒球迷,都非常想知道这是为什么。就像大 家都想一窥上乘武功的秘密一样。 下一步就是分析数据了。他们从专业数据公司得到了Mariano在2009年所有1300个投球的数据。这个数据描述了每个球在三维空间里的轨迹。 他们用Processing写了一个可视化系统,把所有的轨迹画出来,然后提供了一些过滤选项来对数据进行分析。 通过这样的分析,他们得到了结论。也同时理清了要向读者传递哪些信息。起初,他们并没有要制作视频。他们做了一个互动可视化,让读者能和他们一样通过简单的互动,对这些投球数据做分析,并得出结论。 但 是他们很快意识到这样的可视化是远远不够的,只有非常专业的棒球迷才会花大量时间去使用这个可视化进行数据分析。一般的纽约时报读者只是要很快的了解到有 意思的资讯。我想这也是应用于媒体的可视化与其他可视化的区别。比如商业智能里的可视化系统和我们以前在学校开发的很多可视化系统,更多的是用作一种数据 分析平台。目的是帮助数据分析师或者科学家进行数据分析。所以提供强大的分析功能,不限制用户对数据的解读是非常重要。而对于媒体来说,主要目的是把新闻 故事告诉读者,把观点清晰的传递给读者。可视化数据分析系统并不完全适合这样的应用。在采访中,Joe提到设计可视化的时候最重要的是抛开自己作为一个信 息设计师的观点,从真正用户的角度出发。你的可视化作品并不是要让你的同事觉得好,而是要让对可视化一无所知的一般读者觉得好。 要 讲一个故事,电影自然是最好的办法之一。于是纽约时报的信息设计师们决定制作一段影片并配上解说。他们和电影导演一样画了分镜头和场景的草图。在这个设计 过程中,他们觉得让读者体会Mariano投球威力的最好办法,是让读者觉得自己正面对Mariano,要击打他的投球。这就像想要真正体会上乘的武功, 你就要和高手过过招一样。因此,他们的影片采取了第一人称的视角。 为了能在影片中,用3D动画表现Mariano的投球动作,他们还和纽约大学Movement Lab合作,通过分析投球录像,构造了Mariano投球的三维动画模型。 NYT / NYU Rivera Video Motion Capture from GreenDot Project on Video. 经过这么多工作之后,本年度最佳信息设计作品才终于完成了。所以一个好的可视化作品真的不是拍拍脑袋想出来的。背后有很多很多的设计和程序实现要完成。
5m
发表于 2011-10-21 02:45:44 | 只看该作者
楼主觉对是牛人啊啊
6m
发表于 2011-10-21 03:40:19 | 只看该作者
我看了半天还是看不懂~~!
7m
发表于 2011-10-21 14:04:05 | 只看该作者
哈哈 终于找到了…………!!!
8m
发表于 2011-10-21 14:37:25 | 只看该作者
下下来学习~~~~~~
9m
发表于 2011-10-21 14:55:17 | 只看该作者
下来学习~~~~~~~~~
10m
 楼主| 发表于 2011-10-23 15:48:33 | 只看该作者
pro到gh的数据转换到现在还不是很明白。希望回的朋友给知道下哈!
11m
发表于 2011-10-24 13:35:10 | 只看该作者
xie louzhu
12m
发表于 2011-10-25 12:35:15 | 只看该作者
haha xiexi了啊
13m
 楼主| 发表于 2011-10-27 12:17:05 | 只看该作者
pro到gh的数据转换到现在还不是很明白。希望会的朋友给指导下哈
14m
发表于 2011-11-25 20:32:19 | 只看该作者
{:3_53:}学习学习
15m
发表于 2011-11-25 20:32:41 | 只看该作者
{:3_53:}学习学习
16m
发表于 2011-12-2 15:02:48 | 只看该作者
牛逼啊!谢楼主!!!
17m
发表于 2012-2-7 17:06:25 | 只看该作者
我也做了很多Processing的例子 但是没有一个有艺术感的 惭愧啊
18m
发表于 2012-2-7 17:07:50 | 只看该作者
别人回帖加照度 我回帖减照度 晕啊
19m
发表于 2012-2-12 09:56:38 | 只看该作者
processing 是最强大的语言!支持!
20m
发表于 2012-2-16 16:06:44 | 只看该作者
wwwwwwwwwwwwqqqqqqqq

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-23 22:34 , Processed in 0.103656 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表