Processing 逻辑 · 动态 · 过程

2019年1月3日 1,328

大家好,我是NCFZ的网站工程师,也是C+Z Studo的程序设计师 ——KaivnD。今天在这里很荣幸能为各位介绍一下Processing的工作原理,它也将是NCFZ-2019年的一堂参数化设计课程。是由我精心为大家准备的一份技术干货大餐。整个的制作过程与Skywoolf和创站团队商榷过很久,经历了锤炼和打磨,相信大家一定会喜欢它。

本篇文章先为大家简单树立一下对Processing的宏观认识,开篇用一段小动画来告别我们的2018,开启2019全新的探索之旅。

1、无所不能的建筑学专业

 建筑设计是一门包容的学科,需要了解的知识很多,当然也会因此get很多技能,就像是,画手绘、会建模、上知中外建筑历史,下晓各类设计规范、动手能力强、渲染P图、排版装帧……等等,这些都不值一提 🙂 。建筑师是一个组织者,他应当能够将一些设计片段按照自己思维逻辑合理的整合在一起,然后再将建筑设计这么一个动态而富有逻辑性的过程表达出来。学建筑的人表达欲望一般都有很强,图纸也好,模型也好,我们学习各种技能很大程度上都是用来辅助表达一种富有逻辑性动态的过程。然而,逻辑千丝万缕,这种动态的逻辑过程并不能很直观的表达,需要使用一些手段,如动画或者演示文稿等等来表达,今天由我来给大家介绍另一个强大的工具——Processing


作者自绘

筑师用来进行创造。Processing也不例外,它也是一个工具,并且也有可视化窗口,只不过它的主要功能不是通过按钮来实现,而是通过文本格式的文档来绘图的,这些文本将我们脑海中最原始的逻辑记录下来,并且稍加处理即可看到逻辑的动态过程。

  在做设计的过程中,一旦概念有了,思路清晰了,剩下的矛盾就是图面表达了,我们会画很多草图来辅助这个过程,并且记录下,这些记录就是对于这个设计的思维逻辑,这些逻辑在图面上的表现无外乎是一些点线面,以及几何体之间的逻辑。如果把设计语言翻译成Processing语言,那么整个逻辑动态的过程将跃然纸上。

  每一个工具都应该做这个工具适合做的事情,Processing可以说是脱离了任何一款软件的框架,将问题专注在二维平面或者是三维空间最基本的点线面体的关系上来,用数字来创作,对于创造而言,Processing的边界应该是我们对设计本身理解的范畴。

2、用代码直接创作的本源

 抛开数字创作来说,Processing可以做的事情还很多,自2001年以来,Processing提升了在各类设计领域内的软件技术素养。有很多的的学生,艺术家,设计师,研究人员和业余爱好者使用Processing进行学习和设计。在图形,动画,声音,视频,模拟,3D,VR,硬件,网络,网页,数据等方面都能够使用,由于Processing是基于Java而开发的,所以也继承了很多老牌编程语言Java的很多优点,甚至可以直接将你的作品直接输出为一个安卓App来使用。

2.1 计算出来的图像


作者自绘

  我们关注得比较多的就是图形了,我们经常在网上看到一些看起来很复杂,还很有规律的图,看起来很神秘,实际上类似上图的图形是很有机的,他们是有计算方法的,下图展示了这种图形的计算方法,在画布上每个小球都可以看成是一个独立的个体,并且让它按照某一个方向去移动,留下来的轨迹就是这种捉摸不透的图像了。


作者自绘

2.2 爆炸的猫咪


作者自绘

这些都是运动原理,利用这样的运动原理,我们可以很轻易的把被操作对象从空间中的点,转移到图像上的像素,比如上面这张图,你可能会觉得很疯狂,但是实际上,这张图只是把一张猫咪的照片中的像素提取出来,做了类似上面的一种运动,把轨迹留下,就变成那么疯狂的图形了。


猫咪来源网络

 然而,这都是冰山一角,我们还可以利用Processing做模拟,只要有规律可循,就可运行一个模拟,物体运动的规律由被苹果砸脑袋的牛顿提出,所以我们可以利用这个规律是画布上的图元做运动,就像上面提到的那几张图一样。

2.3 算法拟态

 图像上的像素运动规律是我们人为强加的,建筑群中的行人,是有一定规律可循的,比如在一片建筑群中做另一个建筑群的规划,总会有来来往往的行人,他们各自揣着各自的目的在这片建筑群中行进,如果用数字化的思想来考虑,每一个行人是一个独立的个体,他们各自有各自的形状尺寸,每个人有饥饿度,疲劳度,等等属性,同时也有各式各样的行为,饿了要吃饭,渴了要喝水,累了就休息等等这些都是自然规律,有了规律,我们就可以进行模拟,模拟出一个建筑群体周围空间的行人流线的可能性,如下图(图片来源于网络)。


来源 网络

2.4 简化编程


来源 网络

 编程并不可怕,建筑设计本身就是很有逻辑性的工作,先干什么,后干什么,什么时候干什么,这就是编程,可怕的是,每天都做着重复的工作而不接受编程。一方面程序能够帮助我们做一些重复的工作,上图Apple的logo周围的小球,用程序生成将会更方便些。另一方面,程序可以写成模板,外界的数据就是变量,比如下图中的变化数字就是变量,粒子效果就是模板,如果再想做这样的动画,只需要把之前学过的东西拿出来,套一下就是了。也就是说,某种固定的模式可以写成程序,换掉变量,即可得到不同的结果了。


来源 网络

 使用Processing,限制你的将不再是软件,而是你的思想。如果你也和我一样,喜欢将自己的想法通过各种各样的形式表达出来的话,那么表现出来的结果与你之间只差一个Processing了。

  所以说了那么多,Processing到底好不好学?可以这么说,如果把它当作编程语言来学,那将会很痛苦,一开始学习Processing千万不要一头扎进去看文档,那样只能被淹没在细节当中。对于没有学过编程的朋友,我的建议是,不要将Processing当成编程来学,找到乐趣,Processing是一门在视觉艺术环境中编程的语言,在学习的过程中会得到较强的视觉反馈,就像是在CAD里画线,输入线的指令,然后给两个点,那么线就画出来了,Processing也是这个道理,开发Processing的前辈已经把你在绘图过程中需要的大部分工具都准备好了,你只需要点击下载适合你电脑的安装包,就可以直接使用,不需要像Java,C#,C++等等语言的学习那样要整一堆环境配置才可以开始,Processing就像一个软件,甚至没有安装过程,下载下来解压直接就用,非常方便。

  顺便最后一波硬广,由我制作的Processing数字创作系列初级课程即将在咱们NCFZ上线,采用渐进式学习框架,不会让你一开始就淹没在细节当中,每个阶段都有一个小目标,轻轻松松学编程。

课程上线时间:预计2019年1月9日(下周三)课程详情及福利届时公布~

精选评论

0 条

去评论