打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
开源软件推荐:Processing -- 可视化编程语言和开...
官方网站 http://processing.org/
豆瓣小组 http://www.douban.com/group/processing/
下午讨论的时候有不少人表示对processing这个软件有兴趣,这里简单介绍一下,详情请访问官方网站和豆瓣小组。
Processing (http://processing.org/)是"一个开源的程序语言及开发环境,提供给那些想要对影像、动画、声音进行程序编辑的工作者。此外,学生、艺术家、设计师、建筑师、研究员以及有兴趣的人,也可以用来学习,开发原型及制作"。
Processing由MIT媒体实验室美学与计算小组(Aesthetics & Computation Group)的Ben Fry(http://benfry.com/)和Casey Reas发明 [八卦一下,这个小组的头头是John Maeda(约翰·前田,http://plw.media.mit.edu/people/maeda/),传奇的平面设计师、视觉艺术家与计算机科学家]。Processing现在已有一个活跃的开源社区在支持,发展前景很好。
Processing是基于java写的,运行时需要java虚拟机,从网站下载时可选择带java的或不带java的版本(http://processing.org/download/)。如果你的机器用windows,且已经安装了java,那么下载windows(without java)版本(http://processing.org/download/processing-0135-expert.zip),如果没有安装java,请下载windows版(http://processing.org/download/processing-0135.zip),另外还可选择linux和mac版。
下载后解压缩,直接双击processing.exe即可运行。File-->Examples下有一些简单的例子,选择一个,打开,点击工具栏里最左边的按钮(run),就可以看到运行结果了。建议把例子挨个运行一遍,这样就可以大概了解processing能用来干什么了。另外,http://processing.org/exhibition/ 里也有很多演示。
前一阵,jQuery的创造者John Resig在自己的生日那天向开发者们赠送了一个礼物,公开了自己刚完成的一个项目: Processing.js,也就是将Processing可视化语言移植至Javascript。这是Javascript成为Flash竞争对手的第一步。作者的blog(http://ejohn.org/blog/processingjs/)提供了许多非常棒的演示。[P.S.今天下午讨论的时候我把Javascript说成是Flash了,整个搞颠倒了,sorry :)] 总之,喜欢Javascript的现在也可以享用processing的强大功能了。
http://processing.org/learning/index.html 提供了学习资源,电子书下载可参见豆瓣processing小组的几个帖子,如
http://www.douban.com/group/topic/2096995/
http://www.douban.com/group/topic/2076516/
最后,给一个简单但强大的例子:在processing里,模拟一个细胞自动机,只需要敲入下面的代码(代码来自File-->Examples-->Topics-->Cellular Automata --> Conway )
int sx, sy;
float density = 0.5;
int [][][] world;
void setup()
{
size(200, 200);
frameRate(12);
sx = width;
sy = height;
world = new int[sx][sy][2];
stroke(255);
// Set random cells to 'on'
for (int i = 0; i < sx * sy * density; i++) {
world[(int)random(sx)][(int)random(sy)][1] = 1;
}
}
void draw()
{
background(0);
// Drawing and update cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
if ((world[x][y][1] == 1) || (world[x][y][1] == 0 && world[x][y][0] == 1))
{
world[x][y][0] = 1;
point(x, y);
}
if (world[x][y][1] == -1)
{ world[x][y][0] = 0; }
world[x][y][1] = 0;
}
}
// Birth and death cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
int count = neighbors(x, y);
if (count == 3 && world[x][y][0] == 0)
{ world[x][y][1] = 1; }
if ((count < 2 || count > 3) && world[x][y][0] == 1)
{ world[x][y][1] = -1; }
} } }
// Count the number of adjacent cells 'on'
int neighbors(int x, int y)
{
return world[(x + 1) % sx][y][0] +
world[x][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][y][0] +
world[x][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + sy - 1) % sy][0];
}
强大吗?试试吧!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Processing简介(编程语言)
在C#中 从一个picturebox中 按住鼠标左键不放 画一块区域后,另外一个picturebox(在一个winform 窗体上有两个picturebox )上马上把对应的截取图像显
[CODE FESTIVAL 2017 Final H]Poor Penguin
Codeforces 1365D Solve The Maze
2019年海淀区青少年程序设计挑战活动复赛小学组C++试题第5题题解
清北NOIP训练营独家内部训练试题!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服