包瑞清博士从作为设计者的角度试图寻找和融合编程与建筑、风景园林、城乡规划等设计规划学科之间的关联,建立面向设计师的编程设计知识系统,力图使编程设计成为设计领域的基础环节,探索未来设计的方法。
包瑞清简介:城市规划与设计专业(风景园林方向)博士,现任教于西安建筑科技大学建筑学院,主攻计算机辅助设计应用研究,于2012年作为caDesign设计网络服务平台创始人之一,以“编程让设计更具创造力!”的信念为指引,分享研究成果,发展面向设计师的编程设计知识系统网络服务体系。
风景园林新青年(以下简称新青年):大多数景观专业的人还没有接触过参数化设计,参数化设计在建筑中应用较广,当然也有很多反对的声音。很多人认为参数化设计就是要做异形,你能简单说下你对参数化设计的理解么?
包瑞清(以下简称包):认识一个新的事物,总是从不熟悉到熟悉,从误解到理解。很偶然的是在开始接触参数化的时候也并不是从认识参数化开始。09年还在清华规划院工作的时候,要求做一个不一样的设计,涉及到“异形”。最开始是借助3DMAX实现设计三维空间的推敲,但是手工建模与繁琐的操作让人灰心,也是这个时候邻座的同事给了尝试用grasshopper实现设计推敲的建议,也由此开始了参数化道路。
大部分人在开始学习grasshopper的时候,也许和我一样,只是学习操作方法和组件的使用,因为我们这些设计者还没有意识到,grasshopper的设计更多的来源于编程语言的思路,与C#、VB、python等语言类似,只是为了方便设计领域设计的习惯,一个需要不断整合修改的设计过程,实际上设计者已经开始实践编程设计方法,只是从来没有想到过设计什么时候与编程扯上了关系。
更重要的是,尤其对于从来没有接触过编程的设计者,乍一下会被编程吓到,为什么?因为感觉那很“谣言”,是“码农”们的事。实际上grasshopper已经大大简化了纯粹的编程语言,直接面向设计者设计的节点式编程语言,是图式化的,符合设计者的设计习惯。还记得,2009年初学习的时候只是读了官方提供的两本很薄的教材,页数不多,文字很稀少那种,学了一两周就开始上手设计实践,不知不觉就渐渐步入到编程设计的领域。
参数化的核心是编程,或者说通过编程的方法能够实现参数化的目的。也许因为参数化能够解决用传统方法无法达到的“异形”建构,参数化的“异形”标签就这样被贴上了。实际上,我们很多设计者正在做的一件事是探索研究编程设计,一个未来设计的方式,这是一种设计方法的变化,对设计专业设计方法的研究有较大影响。最近caDesign设计正在推出三分钟智能化设计系列,其中很多并没有见到“异形”,例如盒体展开的程序,可以研究一个盒体展开的多种形式。
新青年:您也是景观专业出身,能否针对景观行业给我们讲讲参数化设计在景观设计的应用前景以及参数化设计较于传统设计的优点?
包:参数化或者用意义更深远的“编程设计”来代替“参数化”这个名词更加适合,但是此编程设计不是彼编程设计,编程是一个类似数学的基础工具,可以在很多领域应用编程来解决实际问题,那么在设计行业中则是面向设计师的编程设计。风景园林学科已经发展相对成熟,涵盖的方向也很多元,而且规划设计尺度跨度很大,编程设计的方法可以渗透到不同方向不同区域尺度中。在《编程景观》一书中,阐述了编程设计在风景园林规划设计中的部分应用,例如编程地形部分涉及到智能化地形生成的方法,编写高程、坡度、坡向和起伏度以及重分类的程序,水文分析、提取山顶点、可视区域分析等,这些程序组可以随意配合使用,并能够拓展出更多的研究分析的内容;通过编写辅助种植的程序、道路和建筑的程序,建立智能化设计的体系,这个体系是设计者自己编写,具有更大的适应性和可控制性。
编程设计不仅包括grasshopper节点式编程语言和python的配合,也包括《ArcGIS下的python编程设计》中阐述在ArcGIS下使用编程脚本处理地理信息系统的方法,其中初步探索了自然村落选址因子权重评定的遗传算法,基于景观感知敏感度生态旅游光路线自动选址等问题。
另外利用复杂系统模型来分析研究景观规划设计内容也是未来发展的一个趋势,那么所使用的NetLogo也是一门编程语言,例如可以通过NetLogo建立随时间变化的复杂系统模型分析水文、自然演替和生态系统等内容,是自下而上涌现宏观形式的一种研究方法。
编程设计与传统设计好比智能化与铅笔头的博弈,设计的本质并没有变化,变化的只是设计过程的方法,是换种思维探索设计的本质,当设计者具有了编程的能力,那么编程则让设计更具有创造力!
当然,除此之外,尤其编程设计下的参数化设计也能够大幅度提升设计和制图的效率,例如前文提到的地形程序能够在瞬间完成一个适宜场地边界条件的三维地形设计结果,作为进一步设计的参考;又例如参数化是构建一个前后联动的有机系统,而设计最大的特点就是不断的修改,那么在参数化下通过调整建立的参数就能够实现整体的变动,而无须从头再建立一次模型,过去修改模型对设计师而言是件很痛苦的事,那么现在要好很多。
国外在编程设计方向上已经走的很远,很多有价值的设计创造和解决规划设计问题的方法都是出自欧美国家的设计者,例如使用进化计算的方法实现结构优化的程序模块,以及很多生态分析的程序模块辅助设计的方法等。国内的设计者,尤其大部分景观设计者其实已经知道参数化,只是还不知道如何学习和应用到设计上,有一部分设计者已经走在前面,这也为后来者提供很有价值的经验。
新青年:谈到设计的高效性,您能否举一些具体的设计中的例子说明景观设计中参数化设计的高效性?
包:编程设计(包含参数化)是对设计方法的一种根本性变革。在传统设计中更多是感性的思维,尤其空间感知、艺术审美等,这些是设计者应该具备的专业能力。然而当通过编程的方法来构建空间替代铅笔头的时候,这个过程增加了一层的转变,即在逻辑思维与感性思维之间不断的跳跃。举一个很简单的例子,例如设计者在设计模型空间推敲的时候,需要建立很多自然随机的桅杆,传统上是直接摆放,很考究设计者的空间设计能力,但是从编程设计角度出发,我们倒不是去直接摆,而是考虑如何使用程序来实现这个过程。也许开始的时候不习惯,但是当编程的技术熟练后,这个过程却很惬意。
当编程设计变为设计者自身的能力之后,传统方法不易解决甚至无法解决的问题可以通过编程的方法去解决,例如复杂形体分割的板块展平在二维平面中,当分割的板块达百千万时,程序可以自动化瞬间处理,这是一种高效性。
另外传统设计地形是从等高线开始设计再建立地形三维表面,本身的设计方式囿于传统工具的限制,也违背了设计的正常思维方式。等高线是表达地形的一种方式,需先有地形再有等高线,那么设计直接从三维地形着手,顺应过程,设计才会顺畅。手工设计与绘制等高线不是容易的事,不仅违背了设计的思路也让设计者陷入无止境等高线调整繁琐的工作中。地形设计程序的编写让这个过程变的简单,通过生成的无数种可能结果为设计者提供适宜于设计区域的参考,并直接获取可控制高程间距矢量的等高线和标注高程等,这又是一种高效性。
新青年:您觉得推广景观行业参数化的困难之处在哪?
包:这是一个大家都关注的问题。编程设计是学习一种利用编写程序解决设计问题的方法,显而易见的首要条件是需要具备程序编写的能力。目前设计专业高校教育中基本没有开设编程的课程,更何况面向设计者编程设计的课程,或者说高校就没有嫁接编程与设计之间的桥梁,这为这个时代的设计者埋下了不易逾越的鸿沟。习惯了感性思维思考设计方法的设计者,面对需要具有较强逻辑思维的编程系统,心理自然的形成了一种障碍,这个障碍由于习惯性的工作繁忙变得更加坚固。
另外,编程的学习需要投入精力和时间,好比要学习一门课程,一门类似物理和高数的课程,学习了基本的规律、定理之后,并不一定能够顺利解题,还需要不断的实践练习。即使这样,很多构建中出现的问题仍然需要花费较大精力寻找解决的途径。较高的学习门槛也令很多设计者望而却步。然而实际上,这些都不是问题,通过过往的经验和其他学习者的经历,基本在几周学习之后都能够在设计中实践,然后逐渐的熟练。其实最大的障碍是你敢不敢踏出第一步,踏出了,一切都变得豁然开朗;未踏出,就仍然觉得很神秘,其实那没什么。
编程设计的普及需要更多勇于开拓的设计者,令人欣慰的是已经有很多这样的设计者一直致力于编程设计的实践,尤其更多90后在校的学生成为了编程设计推动的主力,编程设计是未来设计,编程设计逐渐的成为设计学科领域的基本内容,是已经开始的以后设计领域发展的趋势。
新青年:说说你们的caDesign网站吧,这个网站现在已经有一些知名度了
包:caDesign是一个融合学术研究和设计服务的网络平台,希望能够将最新的研究与大家在第一时间内分享。caDesign设计网络服务平台从2012年开始建设,至今已经快三年时间。期间与很多专业领域的设计者构建联系,不仅有景观设计师,更多的反而为建筑设计师,还包括规划师、幕墙设计师、结构师等,有设计师,也有学生和高校教师,有在国内的,也有在国外的。知识总是能够将大家联系在一起,这也是caDesign设计团队所希望的,并继续以“编程让设计更具创造力!”为信念,继续caDesign设计的使命。
新青年:听说明年年初会有一本新书出版,能否谈谈这本书以及后续出书的计划?
包:是的,与出版社签订了协议。目前已经完成了《参数化逻辑构建过程》、《参数模型构建》、《编程景观》、《学习Python-做个有编程能力的设计师》、《ArcGIS下的Python编程》和《折叠的程序》6本书,将最近出版。
其中大部分都是面向初学者,例如,如果你希望学习基于grasshopper的参数化,可以先看《参数化逻辑构建过程》、,并配合《参数模型构建》,学的差不多时,如果希望继续深入编程设计就可以学习《学习Python-做个有编程能力的设计师》,这是一个连续的系列,由浅入深的过程。进而就可以看《编程景观》和《折叠的程序》等专项领域的编程设计方法。而《ArcGIS下的Python编程》需要具备基本的GIS知识,《地理信息系统(GIS)在风景园林和城乡规划中的应用》这本书还没有修订完成,正在加紧修订中。另外正在修订的还有《参数设计方法》。并将开始《数字化与机器》和《复杂系统设计体系》的研究和编写。
景观设计偏向艺术和美学,但是毕竟还是在建筑学的范畴内,建筑早有参数化设计,景观参数化设计还是头一次听说,非常关注啊。
没有编程基础看不懂怎么办啊?该如何学习?
包先生是否有聯絡的email呢 我對”學習python做個有編成能力的人” 一書中 摺疊的部分 很感興趣 請問您是否有相關視頻呢??