4.2.1
“所想即所得”:3D设计的新境界

3D设计分为两大类:实体建模和曲面建模。实体建模Solid Modelling)主要面向工业设计和制造领域,如将一个圆柱体零件和一个正方形零件合并在一起,或在一个球体零件上钻一个方孔。而曲面建模Surface Modelling),正如字面意思所揭示的,只考虑形状的表面(内部可认为是个空壳),主要面向影视动漫、游戏娱乐领域(这些领域只要求形状的外表看着逼真就行,内部是空的也没有关系)。

实体建模一般用来设计规则的几何形状,对于不规则的几何形状则有些力不从心。而3D打印的特色就在于制造那些独特的不规则形状物体。因此,实体建模工具以后可能会慢慢过时。另一方面,曲面建模可以胜任复杂、精细的不规则形状(这从好莱坞大片中细节越来越逼真的怪兽、变形金刚就可窥豹一斑),然而它的缺点是形状内部是空的,无法描述形状内部的“满园春光”或“内藏乾坤”,比如复杂精巧的内嵌结构。

目前大多数3D设计软件都既可以做实体建模,也可以做曲面建模。因此,最简单的建模方法就是手工使用这些3D设计工具,如SolidWorksAutoCAD3ds MaxMayaRhino3DZbrush等,像在沙滩上玩沙雕一样堆积/组合/掏空实体、或像裁缝一样将一块曲面反复裁剪/拉伸/变形成最终的形状。

提示:

曲面有很多种表示方法,常见的有三种:NURBS曲面、多边形曲面和细分曲面。

NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,它的优点是只需操纵少数的一些样条控制点就可以拟合各种光滑的形状,如图4.2.1-1所示。

4.2.1-1  NURBS曲面拟合零件形状 (图片来源:Rhino

多边形polygon) 曲面一般为三角形曲面,使形状由许多个三角形面片来表示,可表现复杂形状的精细细节。如图4.2.1-2所示是NURBS曲面转换成多边形曲面的例子。 此外在工业界,人们更偏向于使用四边形网格(Quad Mesh),而不是三角网格,这是因为四边形网格的边更能反应物体表面的流线方向(Edge Flow),从而便于建模工具进行细节的生成和编辑。

4.2.1-2  NURBS曲面(左)转换成多边形曲面(右) (图片来源:Autodesk

细分Subdivision)曲面,又被称为子分曲面。你只需制作一个粗糙的控制网格,然后指定一个细分规则(如Catmull-Clark规则、Loop规则),就可以自动将粗糙网格不断细化成任意光滑的曲面。好莱坞的皮克斯工作室(Pixar,现属于迪士尼)的创始人之一Edwin Catmull就是细分曲面的主要发明者,因此不难理解Pixar3D动画片大量采用了细分曲面来表现圆润平滑的形状边缘,如图4.2.1-3所示。

 

4.2.1-3  细分曲面可表现圆润平滑的细节 (图片来源:Pixar

手工建模是一件比较繁琐、费时的工作。比如设计一把椅子,设计完成后,如果发现中间的某个地方尺寸短了,那我们不光要修改这个地方,还要修改与之相连的两端,否则这把椅子就合拢不上了。参数化建模解决了这个问题。所谓参数化建模Parametric Modelling,也被称为基于特征的建模),就是将原有设计中的某些尺寸特征,如形状、定位或装配尺寸,设置为参数变量(所谓变量,也即不是定死的,而是可灵活调整的)。如果修改这些变量的值,计算机就会自动变动其他相关的尺寸,由此得到不同大小和形状的零件模型。参数化设计的本质是在可变参数的作用下,系统能够自动维护所有的不变参数(如椅子腿长必须为0.5米,椅子后背的长宽比必须为2:1等),以保持形状的固有特征。有了参数化设计,我们只需简单指定长宽高这三个参数,就能快速获得一大堆定制的茶杯形状模型,而无需费时费力地对每个茶杯的几何细节(壁厚、手柄、底座等)尺寸逐一作手工更改。

参数化设计固然灵活,但需要手工设置特征变量和约束关系,所以也不是一件特别轻松愉快的活儿。于是,新一代的直接建模Direct Modelling),奉天承运、应运而生了。所谓直接建模,就是不管原有模型是有特征还是无特征(比如从其它CAD系统读入的非参数化模型),都可以直接进行后续模型的创建,而无需关注模型的建立过程,也无需维护模型树和历史树(以创建的时间顺序列出零件的参数特征和约束关系)。这样就使得我们可以在一个自由的3D设计环境下工作,以直观的方式对模型直接进行编辑。直接建模使我们可以自然流畅地直接在模型上动态操作、实时预览,所有交互都直接对模型本身进行,修改模型也变得非常简单,如图4.2.1-4所示。

 

4.2.1-4  直接建模(动态尺寸编辑与特征位置编辑) (图片来源:PTC

人类追求机器智能化的努力是无止境的(当然,原始的初衷大部分是为了让自己得以偷闲)。于是,更加智能化一点的编程式设计出现了。计算机把形状的设计过程描述成一系列有特定顺序的操作步骤,这有点像按照食谱而不是最终的外观来制作蛋糕。编程式智能设计可以轻易地在这个蛋糕上绘制几百万个规则的精美图案,而这对于手工设计来说犹如噩梦(设计师可能会被活活累瘫)。

为了生成更加丰富多变的个性图案,还可采用复杂的生长式智能系统。按照一套既定的生长规则加上随机扰动,随着时间的推移发展,将一颗种子形状不断迭代分裂,不断长出新的枝叶,最终生长成独一无二的特定形状。这种方式的建模方法,专业术语叫做过程建模Procedural Modeling),也就是说形状的建立有一个生长的过程,代表性的方法有用于植物建模的L系统(L-Systems,如图4.2.1-5所示)以及大名鼎鼎的分形(Fractal)等。

4.2.1-5  基于L系统(L-Systems)的3D植物生长建模(图片来源:同济大学)

提示:

我们通常喜欢设计有规则的图形。而分形(Fractal,则反其道而行之,研究的是复杂不规则的、支离破碎的形状,如图4-8所示,例如,弯弯曲曲的海岸线、起伏不平的山脉、变幻无常的浮云等。有趣的是,按照分形的观点,这些复杂对象虽然全局上看起来杂乱无章,但它们却具有自相似性(Self-Similarity:局部的形态放大后与整体的形态是相似的!以海岸线为例,在空中拍摄的100公里海岸线与放大了10倍的10公里海岸线的两张照片,看上去会十分相似!此外,分形的分数维Fractional Dimension,通常为豪斯多夫维数Hausdorff Dimension)一般大于拓扑维数,用来度量形状复杂性和不规则性的程度:如下图最左边的科赫(Koch)雪花曲线,如果等比例放大3倍,周长变为4倍而不是3倍,则它的分数维,大于线的拓扑维数1(另:面的拓扑维数为2,体的拓扑维数为3),同时可注意到其不是一个整数。

  

4.2.1-6  各式各样的分形图案 (图片来源:维基百科)

智能化达到一定层次后,更可让设计的形状根据未知环境实时调整,以适应各种物理或美学约束条件。因为,设计师是不可能提前知道最终的设计是什么样子的。例如,在崎岖不平的月球表面让3D打印机自动设计并制造房子,就需要根据所处的物理环境进行自适应性调整,以此来动态获得一个最优的设计形状,以保证在当前环境下建筑结构的稳定性。

采用人工智能进行设计的另一个途径是增强人和计算机之间的交互性,用户根本不需要了解计算机内部的运行原理、甚至不需要了解3D设计方法,只需从计算机推荐的参考形状中不断地作出挑选和评价(“满意”或“不满意”),然后计算机根据用户的反馈来分析用户的设计偏好,以此对参考形状进行优化调整,再重新推荐一个新的参考形状。如此反复,直到人和计算机共同合作完成一个满意的设计。在这个过程中,对人的设计水平要求大大降低,因为依托于计算机强大的分析能力和所存储的海量模型数据库(含有上百万个3D模型),用户的设计方式简单到只需告诉计算机某个设计细节“满意”还是“不满意”即可,剩下的一切都交给智能的计算机算法了。

虽然3D数字化设计技术越来越先进,但目前唯一不变的还是大家手里握着的鼠标。鼠标是2D屏幕上的人机交互工具,面对3D空间的应用越来越力不从心。这里给大家介绍一款名叫“鸟标”的交互工具。在CES2013展会上,出现了一款虚拟现实(Virtual Relaity,简称VR)系统:Leonar3Do VR suiteLeonar3Do让用户能够在逼真的3D环境中设计形状。该技术的核心在于一款颠覆传统模式的3D鼠标:鸟标,其具有6个自由度(包括三维平移加三维转动),用于在3D空间中随心所欲地拖拽和移动3D模型,选取工具、颜色和纹理,挖除或雕刻塑像,添加或删除材料等等,如图4.2.1-7所示。

为了达到精确逼真的视觉效果,鸟标需要配备头部运动跟踪装置和3D眼镜,以使计算机生成的3D场景跟使用者的视角相匹配。这样使用者就能像置身于一个真实的世界里那样编辑虚拟的3D物体,当编辑完成之后,可输出模型并将其3D打印成真正的物体。

103312z5dg1xxngrr3nxvu.jpg

4.2.1-7  鸟标在6自由度空间中自由操作,包括三维平移加三维转动 (图片来源:Leonar3Do