曲面造型(Surface Modeling)是计算机辅助几何设计 (Computer Aided Geometric Design,CAGD)和计算机图形学(Computer Graphics)的一项重要内容,主要研究在计算机图象系统的环境下对曲面的表示、设计、显示和分析。它起源于汽车、飞机、船舶、叶轮等的外形放样工艺,由Coons、Bezier等大师于二十世纪六十年代奠定其理论基础。如今经过三十多年的发展,曲面造型现在已形成了以有理B样条曲面(Rational B-spline Surface)参数化特征设计和隐式代数曲面(Implicit Algebraic Surface)表示这两类方法为主体,以插值(Interpolation)、拟合(Fitting)、逼近(Approximation)这三种手段为骨架的几何理论体系。
1.对曲面造型的简要回顾
形状信息的核心问题是计算机表示,即要解决既适合计算机处理,且有效地满足形状表示与几何设计要求,又便于形状信息传递和产品数据交换的形状描述的数学方法。1963年美国波音飞机公司的Ferguson首先提出将曲线曲面表示为参数的矢函数方法,并引入参数三次曲线。从此曲线曲面的参数化形式成为形状数学描述的标准形式。1964年美国麻省理工学院的Coons发表一种具有一般性的曲面描述方法,给定围成封闭曲线的四条边界就可定义一块曲面。但这种方法存在形状控制与连接问题。1971年法国雷诺汽车公司的Bezier提出一种由控制多边形设计曲线的新方法。这种方法不仅简单易用,而且漂亮地解决了整体形状控制问题,把曲线曲面的设计向前推进了一大步,为曲面造型的进一步发展奠定了坚实的基础。但Bezier方法仍存在连接问题和局部修改问题。到1972年,de-Boor总结、给出了关于B样条的一套标准算法,1974年Gordon和Riesenfeld又把B样条理论应用于形状描述,最终提出了B样条方法。这种方法继承了Bezier方法的一切优点,克服了Bezier方法存在的缺点,较成功地解决了局部控制问题,又轻而易举地在参数连续性基础上解决了连接问题,从而使自由型曲线曲面形状的描述问题得到较好解决。但随着生产的发展,B样条方法显示出明显不足棗不能精确表示圆锥截线及初等解析曲面,这就造成了产品几何定义的不唯一,使曲线曲面没有统一的数学描述形式,容易造成生产管理混乱。为了满足工业界进一步的要求,1975年美国Syracuse大学的Versprille首次提出有理B样条方法。后来由于Piegl和Tiller等人的功绩,终于使非均匀有理B样条(NURBS)方法成为现代曲面造型中最为广泛流行的技术。NURBS方法的提出和广泛流行是生产发展的必然结果。
NURBS方法的突出优点是:可以精确地表示二次规则曲线曲面,从而能用统一的数学形式表示规则曲面与自由曲面,而其它非有理方法无法做到这一点;具有可影响曲线曲面形状的权因子,使形状更宜于控制和实现;NURBS方法是非有理B样条方法在四维空间的直接推广,多数非有理B样条曲线曲面的性质及其相应算法也适用于NURBS曲线曲面,便于继承和发展。由于NURBS方法的这些突出优点,国际标准化组织(ISO)于1991年颁布了关于工业产品数据交换的STEP国际标准,将NURBS方法作为定义工业产品几何形状的唯一数学描述方法,从而使NURBS方法成为曲面造型技术发展趋势中最重要的基础。
2.曲面造型的现状及发展趋势
随着计算机图形显示对于真实性、实时性和交互性要求的日益增强,随着几何设计对象向着多样性、特殊性和拓扑结构复杂性靠拢这一趋势的日益明显,随着图形工业和制造工业迈向一体化、集成化和网络化步伐的日益加快,随着激光测距扫描等三维数据采样技术和硬件设备的日益完善,曲面造型近几年得到了长足的发展,这主要表现在研究领域的急剧扩展和表示方法的开拓创新。
(1) 从研究领域来看,曲面造型技术已从传统的研究曲面表示、曲面求交和曲面拼接,扩充到曲面变形、曲面重建、曲面简化、曲面转换和曲面等距性。
曲面变形(Deformation or Shape Blending)
传统的NURBS曲面模型仅允许调整控制顶点或权因子来局部改变曲面形状,至多利用层次细化模型在曲面特定点进行直接操作;一些简单的基于参数曲线的曲面设计方法,如扫掠法(Sweeping)、蒙皮法(Skinning)、旋转法和拉伸法也仅允许调整生成曲线来改变曲面形状。计算机动画业和实体造型业迫切需要发展与曲面表示方式无关的变形方法或形状调配方法,于是产生了自由变形(FFD )法、基于弹性变形或热弹性力学等物理模型的变形法、基于求解约束的变形法、基于几何约束的变形法等曲面变形技术,以及基于多面体对应关系或基于图象形态学中Minkowski和操作的曲面形状调配技术。
曲面重建(Reconstruction)
在精致的轿车车身设计或人脸类雕塑曲面的动画制作中,常先用油泥制模,再作三维型值点采样。在医学图象可视化中,也常用CT切片来得到人体脏器表面的三维数据点。从曲面上的部分采样信息来恢复原始曲面的几何模型,称为曲面重建。采样工具为激光测距扫描器、医学成像仪、接触探测数字转换器、雷达或地震勘探仪器等。根据重建曲面的形式,它可分为函数型曲面重建和离散型曲面重建。前者的代表工作有Eck于1996年建立的任意拓扑B样条曲面自动重建法和Sapidis于1995年创造的离散点集拟和法。后者的常用方法是建立离散点集的平面片逼近模型,如Hoppe于1992年和1994年先后创造的分片线性或分片光滑的曲面模型。对于离散型重建,要求输出曲面具有正确的拓扑结构并且随着采样密度的增加而收敛到原始曲面。当重建曲面为闭曲面时,Miller等人发展出一种基于可变形模型的曲面重建方法。1998年Amenta等人又提出了基于计算几何中Voronoi图和Delaunay三角化的全新的曲面重建算法,称为外壳(Crust)算法。这种算法的优点在于输出的离散曲面在细节区域具有密集点,而在无特征的区域具有稀疏点。最近几年,曲面重建的研究形成了热潮,这几年的SIGGRAPH会议上有多篇文章对此进行了专门报告。
曲面简化(Simplification)
与曲面重建一样,这一研究领域目前也是国际热点之一。其基本思想在于从三维重建后的离散曲面或造型软件的输出结果(主要是三角网络)中去除冗余信息而又保证模型的准确度,以利于图形显示的实时性、数据存储的经济性和数据传输的快速性。对于多分辨率曲面模型而言,这一技术还有利于建立曲面的层次逼近模型,进行曲面的分层显示、传输和编辑。具体的曲面简化方法有网格顶点剔除法、网格边界删除法、网格优化法、最大平面逼近多边形法以及参数化重新采样法。
曲面转换(Conversion)
同一张曲面可以表示为不同的数学形式,这一思想不仅具有理论意义,而且具有工业应用的现实意义。例如,NURBS这种参数有理多项式曲面虽然包括了参数多项式曲面的一切优点,但也存在着微分运算繁琐费时、积分运算无法控制误差的局限性。而在曲面拼接及物性计算中,这两种运算是不可避免的。这就提出了将一张NURBS曲面转化成近似的多项式曲面的问题。同样的要求更体现在NURBS曲面设计系统与多项式曲面设计系统之间的数据传递和无纸化生产的工艺中。再如,在两张参数曲面的求交运算中,如果把其中一张曲面的NURBS形式转化为隐式,就容易得到方程的数值解。近几年来,国际图形界对曲面转换的研究主要集中在以下几方面:NURBS曲面用多项式曲面来逼近的算法及收敛性;Bezier曲线曲面的隐式化及其反问题;CONSURF飞机设计系统的Ball曲线向高维推广的各种形式比较及互化;有理Bezier曲线曲面的降阶逼近算法及误差估计;NURBS曲面在三角域上与矩形域上的互相快速转换。
曲面等距性(Offset)
它在计算机图形及加工中有着广泛的应用,因而成为这几年的热门课题之一。例如,数控机床的刀具路径设计就要研究曲线的等距性。但从数学表达式中容易看出,一般而言,一条平面参数曲线的等距曲线不再是有理曲线,这就超越了通用NURBS系统的使用范围,造成了软件设计的复杂性和数值计算的不稳定性。为解决这一问题,十几年来国际图形界提出了用简单曲线来逼近等距曲线的种种算法,这又带来了收敛性考核、计算不稳定、误差难控制等问题。那么,是否存在具有精确有理等距曲线的某种参数曲线(OR曲线)呢?1990年美国学者Farouki首次找到某一类特殊的平面参数多项式曲线具有这种性质,称之为PH曲线。而到1993年,浙江大学的吕伟利用复分析法、重新参数化和代数几何技术,完整地给出了OR多项式和有理参数曲线的一般形式,彻底解决了平面曲线的等距线的有理化问题。在曲面等距性问题上,吕伟于1996年证明了常用二次曲面的有理等距曲面均可用有理参数样条精确表示的结论;同年他与奥地利学者Pottmann等揭示出有理直纹面的等距面可以有理参数化,同时证明了脊线为有理样条曲线的管道曲面可以精确表示为有理样条曲面。曲线曲面的等距性还与机械学中的形位公差理论及几何设计中的区间曲线曲面有着密切的关系。
(2) 从表示方法来看,以网格细分(Subdivision)为特征的离散造型与传统的连续造型相比,大有后来居上的创新之势。
这种曲面造型方法在生动逼真的特征动画和雕塑曲面的设计加工中如鱼得水,得到了高度的运用。在1998年SIGGRAPH会议的报告中,有十篇有关曲面造型的论文,除了有一篇是介绍几何体的变形方法以外,其余九篇均是关于曲面离散造型的算法或者在离散型曲面上精确求值及进行参数化的工作。特别是,有三篇论文都与Catmull和Clark在1978年所创立的用网格细分产生离散曲面的方法(以下简称C-C法)紧密相关。从这里我们可以看出当今国际图形界在曲面造型理论研究和实际应用中的热点所在。
这三篇论文是J.Stam的“C-C细分曲面在任意参数上的精确求值”、T.Sederberg和浙江大学郑建民的“对C-C细分曲面作推广的非均匀递归细分曲面”及T.DeRose的“特征动画中的C-C细分曲面”。下面我们从介绍第三篇论文的写作背景和主要思想入手,剖析网格细分的离散型曲面目前在国际上受到重视的原因。
在1998年荣获奥斯卡大奖的电影作品中,有一个短篇赫然在列,这就是美国著名的Pixar动画电影制片厂选送的作品“Geri’s Game”。动画片描述了一个名叫Geri的老头,在公园里自己对自己下国际象棋,千方百计想取胜的诙谐故事。动画中人物和景色的造型细致生动,与故事情节浑然一体,使观众得到真正的视觉美的享受。而这部动画片制作中的曲面设计者就是T.DeRose。
DeRose在SIGGRAPH’98大会上报告的论文中,讲到选用C-C细分曲面作为Geri老头特征造型模型的背景。他指出,NURBS尽管早已被国际标准化组织作为定义工业产品数据交换的STEP标准,在工业造型和动画制作中得到了广泛的应用,但仍然存在着局限性。单一的NURBS曲面与其他参数曲面一样,仅限于表示在拓扑上等价于一张纸、一张圆柱面或一张圆环面的曲面,不能表示任意拓扑结构的曲面。为了表达特征动画中更复杂的形状,如人的头、手或服饰,我们面临着一场技术挑战。当然,我们可以用最普通的复杂光滑曲面的造型方法,例如对NURBS的修剪来对付。目前确实已经存在一些商用系统,诸如Alias-Wavefront和SoftImage等可以作到这一点,但是它们至少会遇到以下困难:修剪是昂贵的,而且有数值误差;要在曲面的接缝处保持光滑,即使是近似的光滑也是困难的,因为模型是活动的。而细分曲面有潜力克服以上两个困难,它们无须修剪,活动模型的平滑度被自动地保证。
DeRose成功地应用了C-C细分曲面造型法,同时发明了构造光滑的变半径的轮廓线及合成物的实际技术,提出了在服饰模型中碰撞检测新的有效算法,构造了关于细分曲面的光滑因子场方法。凭借这些数学和软件基础,他形象逼真地表现了Geri老头的头壳、手指和衣服,包括茄克衫、裤子、领带和鞋。这些都是传统的NURBS连续曲面造型所不易做到的。那么,C-C细分曲面是怎样构造的呢?它与传统的Doo-Sabin(1978年) 细分曲面异曲同工,都是从一个被称之为控制网格(网格多半可用激光从手工模型上输入)的多面体开始,递归地计算新网格上的每个顶点,这些顶点都是原网格上某几个顶点的加权平均。如果多面体的一个面有n条边,细分一次后,这个面就会变成n个四边形。随着细分的不断进行,控制网格就被逐渐磨光,其极限状态就是一张自由曲面。它是无缝的,因而是平滑的,即使模型是活动的。这种方法显著地压缩了设计和建立一个原始模型的时间。更重要的是允许原始模型局部地精制化。这就是它优于连续曲面造型方法之处。
C-C细分是基于四边形的,而Loop曲面(1987年)、蝶形曲面(1990年)都是基于三角形的。它们都受到当今图形工作者的重用。
3.几种新的曲面造型方法简介
(1) 基于物理模型的曲面造型方法
现有的CAD/CAM系统中的曲面造型方法建立在传统的CAGD 纯数学理论的基础之上,借借助控制顶点和控制曲线来定义曲面,具有调整曲面局部形状的功能。但这种灵活性也给形状设计带来许多不便:
典型的设计要求既是定量的又是定性的, 如“逼近一组散乱点且插值于一条截面线的整体光顺又美光的曲面”。 这种要求对曲面的整体和局部都具有约束,现有曲面生成方式难以满足这种要求。
设计者在修改曲面时,往往要求面向形状的修改。通过间接的调整顶点、权因子和节点矢量进行形状修改既繁琐、耗时又不直观,难以既定性又定量地修改曲面的形状。局部调整控制顶点难以保持曲面的整体特性,如凸性或光顺性。
基于物理模型的曲面造型方法为克服这些不足提供了一种手段。用基于物理模型的方法对变形曲面进行仿真或构造光顺曲面是CAGD和计算机图形学中一个重要研究领域。
1987年加拿大学者 Terzoulos等率先将基于能量的弹性可变形自由曲面造型技术引用到计算机图形学领域,受到了国际上众多学者的重视。Willians 以虚拟弹性薄板总能量作为能量泛函用有限插分法构造光顺曲面。Celniker 和Gossard 提出了基于有限元分析的自由曲面设计系统。Moreton 和Seqin提出了设计光顺曲面的函数优化方法。他们首先建立使用曲面插值给定点、法矢和曲率的几何约束方程,然后再利用非线性优化技术使反映曲面形状的光顺函数最小。使用这种技术,可以较好地将形状约束和几何约束结合在一起,克服传统上的不足。该方法可以产生高质量的曲面,但其计算耗费较大。Welch 和Witkin提出了变分曲面设计方法。这种方法也是从设计的角度出发,将整张曲面看作是一张有弹性的曲面,可以用曲面上任意一些点或曲线控制其形状,或者要求曲面在一些关键点插值于给定的法矢或高斯曲率。同时,要求曲面满足设计者的定性要求,如形状光顺而美光等。根据这些要求建立优化的约束方程,然后用数值方法求解得到所要求的曲面。所采用的能量泛函与Celniker和Gossard的工作类似,但在曲面表达上作了改变:采用了Forsey和Bartels的分层B样条曲面表达形式以提高局部控制能力,但使用起来仍不方便。
1994年,Terzopoulos等在NURBS曲面的定义中增加了一个时间变量,又提出了基于能量模型的动态NURBS(D_NURBS)曲面。Terzopoulos的基本思想是根据Lagrange 动力方程建立一个偏微分方程,按照曲面的变形要求施加一个外力,以给定偏微分方程的边界条件建立曲面的几何边界约束,通过方程中表示形状变化的能量函数的内部参数来反映曲面的物理属性,最后由数值计算方法得到这张曲面离散或精确形式的解。
这些方法具有如下特点:
① 曲面形状的改变服从物理准则,通过计算仿真可以动态地显示模型在某个外力作用下的变形;
② 在给定的约束条件下,这种动态模型的平衡状态具有势能最小的特点,可以建立满足局部或整体设计要求的势能函数和规定与形状设计有关的几何约束;
③ 能量模型建立在传统的标准纯几何模型的基础上。这意味着尽管交互或自动的形状设计可以在基于能量模型的物理层进行,但在几何层上仍然可以调用现在的几何操作库。
基于物理模型的曲面造型方法在具体实施上有以下三种不同的方式:
力学原理的选择:在不考虑时间因素时,可用梁或板的平衡方程或相应能量泛函的变分原理来建立曲线、曲面的控制方程。当考虑时间因素时,则用Langrange 方程建立运动方程作为曲线、曲面的控制方程。
能量泛函的选择:i)由曲线、曲面的第一和第二基本形式构造;ii)由曲面主曲率平方和或主曲率变化率的平方和的积分构造;iii)由曲面的一阶和二阶偏导数的加权平方和构造。前两种方法完全从几何概念出发,他们是曲面物理坐标的非线性函数,计算耗费较大。
曲线、曲面的表达方式:可采用各种不同的曲面表达形式。因NURBS曲面符合STEP标准, 是各种CAD/CAM系统广泛采用的曲线、曲面的几何表达形式,故具有重要的意义。但由于权因子的存在,其控制方程是非线性的,降低了计算效率。对权因子取值范围的约束也存在一定的问题。尽管Terzopoulos提出并研究了NURBS表达式的变形曲面,但在实际应用中,一般仍取权因子为1,即从NURBS简化为非有理B样条。
基于物理模型的变形曲线、曲面造型研究已经取得了巨大的成就,但还有许多问题需要解决,其中包括:计算效率问题,采用有限元方法限制了交互速度的提高;交互控制问题,如何交互地选择物理参数仍有待研究;能量泛函的选择,如何在提高计算效率和保证曲面质量之间的平衡。
(2) 基于偏微分方程(PDE)的曲面造型方法
PDE 曲面使用一组椭圆偏微分方程产生曲面, 由Leeds 大学的Bloor等人于80 年代末将之引入CAGD领域。其思想起源于将过渡面的构造问题看作一偏微分方程的边值问题, 而后发现使用该方法可以方便地构造大量实际问题中的曲面形体。 他们探索了PDE方法在构造过渡面、自由曲面及N边域中的应用。 同时也探索了这种方法在功能曲面设计中的应用。船体、飞机外形、螺旋浆叶片等外形都可由PDE方法构造。
PDE曲面的形状由边界条件和所选择的片微分方程确定。该方法具有以下特点:
① 构造过渡面简单易行, 只需给出过渡线并计算过渡线处的跨界导矢;
② 所得曲面自然光顺。曲面由曲面参数的超越函数,而不是简单的多项式;
③ 确定一张曲面只需少量的参数, 并且对设计者的数学背景要求较少:用户只需给出边界曲线和跨界导矢即可产生一张光顺的曲面。因此,用户的输入工作量较小;
④ 可通过修改边界曲线和跨界导矢即方程中的一个物理参数来调整曲面形状;
⑤ 便于功能曲面的设计。 功能曲面设计最终归结为一些泛函的极值问题,这些泛函的自变量是形状参数,形状参数的多少直接关系到求泛函极值问题时计算量的大小。PDE 曲面形状完全由边界条件确定,所需形状参量较少,从而可以降低计算耗费。
PDE方法是一种新型的曲面造型技术, 该方法仅是一种曲面设计技术,而不是一种曲面的表达方式。
(3) 流曲线曲面造型
在CAD领域,许多曲线曲面的设计涉及到运动物体的外型设计,如汽车、飞机、船舶等。这些物体在空气、水流等流体中相对运动。由于流体对运动物体产生阻力,运动物体的外型设计将变得十分重要。运动物体外型的光滑与否将直接影响其运动性能。人们常常希望所设计的运动物体的外型具有“流线型”,因为具有“流线型”外型的运动物体不仅外观漂亮宜人,而且能极大地减少前进过程中流体对物体的阻力。
针对这些运动物体的外型设计,一种以流体力学为背景的流曲线曲面的造型方法被提出。由流体力学理论可知,流曲线曲面上任一点的切线与该点的水流或气流的流动矢量方向吻合,因此,用流曲线曲面设计的外型具有良好的物理性能,同时外型也十分美观。该方法的思想以流体力学中的平面定常理想不可压缩无旋动为力学背景,将流体力学中流函数的概念引人到CAD中,从而建立流曲线曲面的数学模型。
该方法的研究刚刚起步,造型方法的理论和流函数的建立尚不完善,故目前也处于探索阶段,其基本理论、数学模型和一些相关算法还有待进一步研。
另外,其他方法还有:散乱点的曲线曲面的造型方法、小波曲线曲面的造型方法等。
3/7/2005
|