创成式设计综述(一)起源与概念
“创成式设计”是由“Generative Design(GD)”翻译过来的一种对设计系统和方法的表达,早期通常翻译为“生成式设计”或“衍生式设计”,有些文献和书籍上称这种方法为“算法辅助设计(AAD——Algorithms-Aided Design)”或“计算性设计(Computational Design)”,建筑领域的人们习惯称之为“参数化设计”。这种方法起源于建筑领域,最近的十年中在建筑设计和视觉艺术领域得到广泛应用,但制造业领域的人还对其一无所知。
近几年,随着增材制造技术的成熟,人们发现“设计”成了制约增材制造大量应用的瓶颈。于是GD方法开始引入产品设计领域,并率先在工业设计、珠宝设计等领域开始应用。
近两年,各大CAD厂商都相继推出自己的相关产品,代表制造业产品设计已经迈进GD的时代。同时国内出现了“创成式设计”的翻译表达。这并不仅仅是噱头,而是包含了对这种方法的更深层次的理解,更明确了计算机及算法在设计过程中帮助设计师创新、探索更广泛的解决方案的能力。
起源与发展
早在文艺复兴时期,受维特鲁威(Vitruvius)(古罗马建筑师)的著作(被称为《建筑十书》)对建筑师的影响,建筑学中的计算逐渐成为人们关注的焦点。
最初的计算主要关注各种元素间的几何关系,并开发了一些方法(或称算法),在指南针和直线的帮助下,可以推演和计算几何关系。更多的因素与形状的关系(如力与形状的关系)在当时还是难题。比如,现在我们已经了解的“悬链线问题”就曾经是达芬奇苦苦思索而始终不得其解的难题,荷兰物理学家惠更斯也仅仅是用物理方法证明了这条曲线不是抛物线,但没有找到最终答案,直到几十年后(与达芬奇的时代时隔170年),雅各布•伯努利再次提出这个问题,并被他的弟弟约翰•伯努利找到了正确答案(引自百度百科)。
19世纪末的建筑领域出现的一种新方法——找形(form-finding),可以解决类似悬链线的问题。一些先驱建筑设计师试图通过研究材料、形状和结构之间复杂而关联的关系,发现新颖和优化的结构。在当时缺乏物理数学模型理论基础的条件下,“找形”是依赖于物理模拟装置来实现的,例如:通过肥皂泡发现最小表面;通过悬垂织物,发现只受压力的拱顶和分支结构等。
图 1 悬垂织物实验及优化的拱顶形状 [1]
随后的几十年中,“找形”成为确定优化结构的形状和形式的重要策略[1]。但是,这种物理实验方法模拟的结构优化往往是单参数的(比如基于重力)情况,对于更复杂的情况,这种方法并不能满足结构优化的需求。就像新月沙丘的形状是由风力和重力共同作用形成的一样,实际的优化结构形状也受多参数的影响,它是目标与各种各样的参数交互作用的结果。
图 2 单参数物理试验与多参数自然形成的形状 (左图引自[1],右图来源于互联网)
1939年,意大利建筑师路易吉•莫雷蒂(Luigi Moretti)首先提出了“参数化建筑”的定义。他认为建筑中的形式是由光影、建造肌理、体量、内部空间结构、材料的密度和品质、表面的几何关系以及诸如色彩等更为细小的参数形成的。形式的差异是由这些不同的参数差异造成的。基于此理解,加上他扎实的数学基础以及和数学家Bruno De Finetti的合作,让他得以在1940-42年就着手发展建筑参数化研究,并延续到战后。
1960年威尼斯双年展上,Moretti展出了一系列通过参数化计算得出的运动场馆原型。他还成立了城市应用数学演算研究院(IRMOU),推演城市中交通流量的变化以利控制 [豆瓣日记] 。参数化设计在20世纪80年代被倡导,如今许多CAD应用程序都提供了建立关系和使用变量的能力。
图 3 Moretti参数化体育场馆模型 [1]
从建筑设计的发展历史来看,从古代基于几何规则和关系的演算方法,到基于物理模拟和数学计算的找形方法,再到参数化方法,其中都蕴涵了计算方法,我们可称之为“算法”。算法(Algorithm)是指解题方***而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制 [百度百科] 。算法的计算不一定需要由计算机执行,实际上,很多算法的出现远远早于计算机的发明。不过,计算机的计算能力和编程技术的发展,确实为工程设计过程的算法操作和自动化提供了条件。
从20世纪80年代后期开始,学术研究和前卫实践者试图摆脱绘图软件的简单编辑限制,他们探索了“从内部”操纵软件的新方法,旨在通过编程找到未探索过的解决方案和形态。借助于计算机和算法辅助设计的建筑已经发生彻底的改变,图4 —— 图8是其中的例子,用这种方法设计的各式新奇的建筑还有很多,它们不仅仅是外观炫酷,其空间、结构力学、风载、采光、以及其他功能性也都在设计中考虑和计算。
图 4 阿利耶夫文化中心 (图片来源于互联网)
图 5 水立方、鸟巢 (图片来源于互联网)
图 6卡塔尔国家会议中心(日本设计师矶崎新设计)
图 7 澳门摩珀斯酒店 (扎哈设计)
图 8 北京大兴国际机场(图片来源于互联网)
在运用算法方面,视觉艺术领域晚于建筑领域,但是,在利用计算机程序“生成”艺术方面还要更早。上世纪 60 年代,就有人尝试用机器自发地进行艺术创作。因为艺术创作没有约束,探索的空间更大,因此生成艺术(Generative art)发展的非常快。现在我们看到各种神奇的视觉效果、影视的各种特效、图片处理软件、魔术等等,都与生成艺术相关。特别是在人与计算机的交互方面,生成艺术已经发展到很高的水平。例如,图9 就是我在Silk–Interactive Generative Art 网站随手几笔画出的一幅画。
图 9 交互式生成-对称之美
设计师和艺术家们的这些探索也反过来推动了设计方法和工具的发展,并正在使它们发生革命性进步。一些建筑设计软件也从支持简单参数化的CAD绘图软件,发展出了满足设计师通过编程方法探索设计方案的生成式设计系统,最著名的有:Rhino/GH,Revit/Dynamo,Bentley/GC;生成艺术相关软件也有Processing、Sverchok for Blender等。许多设计师和艺术家很快意识到,更复杂的程序算法,特别是与先进的计算机技术结合,将可以处理超出人类能力的复杂性,使计算机成为工程师们的智能助手。
现在生成式设计已经成为一个新的交叉学科。与计算机技术的深度结合,使得很多先进的算法和技术应用到设计中来。得到广泛应用的创成式算法包括:参数化系统、形状语法(Shape Grammars (SG))、L-系统(L-systems)、元胞自动机(Cellular Automata (CA))、拓扑优化算法、进化系统和遗传算法等。
还有很多受生物和自然系统启发而开发的算法,例如遗传进化和后天免疫系统的适应能力以及鸟类、蜜蜂、蚂蚁和细菌的觅食行为等等,也被移植过来用作仿生生成设计或优化的算法,有的已经在首饰装饰品设计、家居用品设计等方面实际应用。
图10 是模拟菌丝生长算法在实际中应用的实例(引自Nervous system)。此外,生成的数字化模型也为VR模型的创建奠定了基础,各种VR应用,如VR方案展示、VR电子沙盘、VR建筑馆等都得以实现。
图 10 菌丝算法在装饰品设计中的应用实例(引自Nervous system)
前几年生成式设计和艺术在上述各个领域已经应用的如火如荼,可是在制造业产品设计领域却几乎见不到应用。也许是因为制造工艺(特别是减材工艺)的约束限制了产品的复杂度,缺乏这方面的需求吧。但近年来随着3D打印技术的飞速发展,原来无法制造的复杂形状可以制造了。于是,设计师们想解除束缚进行创新,但却发现自己缺乏想象力。
随之,各大CAD厂商纷纷推出自己的“创成式设计”软件,并且告诉工程师:你只需要输入需求和约束,计算机就会给你成千上万个方案。很多人相信了,但也有些人心存疑问:难道设计软件已经发展到如此智能程度了?难道已经不需要工程师去设计了吗?我就是有疑惑的人之一。进一步了解后发现原来大家是把早已经有的拓扑优化算法拿来开发成了创成式设计软件,所以各家的宣传资料上显示的创成式设计的零件几乎都是同一风格的。
图 11 几家CAD厂商的创成式设计宣传图片(图片来源于互联网)
直到现在,工业领域的很多专业人士依然认为:建筑领域所用的生成式设计方法只能做一些外观设计,只有基于力学仿真的方法才是设计的正路。其实,这未免太有失偏颇了。如果这种认识占据主导,将会影响创成式设计方法在工业领域的发展速度。
概念
什么是创成式设计?要全面回答这个问题,我想还是取它起源并已成熟应用的建筑领域的理解更恰当。创成式设计方法完全不同于传统CAD的手工建模方法,创成式设计是通过编写算法和程序来设计的过程,可见的模型是执行算法和程序的结果。为了编写设计程序,设计者必须知道如何分解设计逻辑,并且必须选择适当的编程元素来表示基本部分以及这些部分之间的关系。这些程序跟其他的计算机程序一样,是按照一定的规则逻辑编写的,其中有一些基础算法或特别专业的算法可能是别人编好的,在设计师编制自己的模型生成算法时调用即可。
我们可以用黑箱、白箱、灰箱来帮助理解创成式设计的程序。黑箱算法系统对于设计师来说,内部是未知的,它通过设计师给的输入直接给出输出结果,拓扑优化算法就是比较典型的一种黑箱。白箱算法是建立在对系统的组分构成及其相互联系有透彻了解的基础上,通过揭示系统内部的结构和功能来认识包括系统输入与输出在内的整体特性,这种算法通常都是由设计师自己编写。灰箱算法对设计师来说部分已知,而其余部分则是未知的,在有些情况下,设计师可以部分地采用现有算法,而不必深入了解这种算法是怎么编写的,这时候采用灰箱设计思路往往能收到事半功倍的效果。显然,白箱方法是设计师完全掌控的设计过程,而黑箱法相反,设计师看不到也不能修改算法,只能看到结果。
图 12 白箱、灰箱、黑箱设计方法
我们可以用一个公式——创成式设计=基于规则的编码过程+结构生长过程——来表达什么是创成式设计。因为创成式设计是通过编程进行设计,程序是按照一定的规则逻辑编写的,所以程序生成的模型是所有符合所编的规则逻辑的结果,它们很多,可能是成千上万个模型。这本质地区别于CAD手工建模的方法,手工建模的结果是一个具体的模型,而程序建模包含了所有符合规则的模型,我喜欢用“物种”这种描述来比喻所有这些生成的模型。用我们非生物专业的浅显理解:一个物种会有多种表现形式,但是我们一眼能够看出他们是同类。
那么,什么决定了一个物种是这种而不是那种?我们可以理解为是基因组编码的规则、逻辑顺序、以及内部变量取值的范围。什么决定一个物种中个体的表现形式呢?我们可以理解为是外部环境条件等环境变量。基因组编码创成式设计程序,确定环境变量很像我们的优选过程。
图 13 理解创成式设计
创成式设计是通过编程进行的,设计师们的设计思维模式和工作过程也更像是一个程序员。他们不再需要在脑子里想出具体的形象,而是需要围绕任务、设计目标、功能、约束、几何关系、变形规则等等,厘清它们的关系,并且可以用规则来描述它们,这一描述规则的过程我们可以称为基于模型的系统工程(MBSE),但这比现在各家所推的MBSE方法所分解的颗粒度更细。有了这些规则模型后,就可以着手进行编程了。
对于产品设计工程师来说,写代码可能是不擅长的,可以选择可视化编程的软件。创成式设计的流程如图14所示:设计师选择生成模型的策略、编写算法;算法自动地生成模型;模型的选择依需求分为主观选择和客观选择,美学判断是通过人机交互修改参数改变模型,观察选择,客观选择是根据客观的设计目标,结合仿真、优化方法,由计算机自动完成的。仿真、优化过程本身也是通过算法实现的,因此,“最佳”是和创成式的建模程序一体化的。
图 14 创成式设计的方法流程
关于安世亚太
安世亚太具有23年的研发信息化工业软件开发和服务经验、6年的工业品先进设计和增材制造经验,是我国工业企业研发信息化领域的领先者、新型工业品研制者、企业仿真体系和精益研发体系创立者,在国内PLM、虚拟仿真及先进设计领域处于领先地位,提出了基于增材思维的先进设计和智能制造解决方案,聚焦于打造以增材思维为核心的先进设计与智能制造产业链,以全球视野和格局进行资源整合、技术转化和生态构建。