计算机辅助设计几何课程论文资料_计算机辅助设计论文
计算机辅助设计几何课程论文资料由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机辅助设计论文”。
基于三角网格的网格变形综述
作者:谢育钢 学号:1400203026
摘要:网格变形作为一种几何模型交互编辑技术在几何建模和计算机动画中具有重要价值。近年来,网格变形技术得到了国内外研究者的极大关注,且在逆向工程、模拟仿真、工业品创新设计及计算机动画等领域得到了广泛应用。模型表面的细节信息是模型特征的一个重要内容,在网格变形中需要保持这些信息的局部不变性,变形才能有效,符合实际效果。从骨骼变形、曲面变形、空间变形 3个方面对各种经典的网格变形算法进行描述和比较,并提出结论。
关键词:网格变形 Laplacian坐标 空间变形 梯度场
引言
网格变形是通过用户输入编辑操作,几何模型发生相应修改的几何处理技术。随着3D 扫描技术的发展,复杂形状的网格曲面模型相关技术的研究已成为曲面编辑的主流,其在CAGD(计算机辅助几何设计)领域,具有广泛的应用。现代工业的快速发展,基于传统规则形状特征(平面和二次曲面表示的曲面)不能满足现代工业在功能及外形上的需求,自由曲面形状特征的应用在产品设计日益广泛与深入。利用自由形状特征,设计师可以设计出各种复杂多样的品模型,以满足现代工业的设计要求。显然,自由形状特征更加复杂的几何元素,更多的自由度等特点,并且实现模型的建模与处理遇到困难。
然而,目前游戏动画领域已积累了大量的三维数字化模型,利用现有的模型重通过变形处理新编辑出新的模型将大大提高设计师的建模效率,从而设计复杂的模型,提高工作率。实现自由形状特征的设计重用具有重要的意义。从早期的自由曲面变形(FFD)、骨骼蒙皮变形、到近年来流行的微分域(differential domain)网格变形,国内外研究人员不断提出新的有效的网格变形算法并将网格变形技术应用到各种应用问题中。文献
[1, 2]
对基于拉普拉斯(Laplacian)变形为主的梯度域网格变形从变形能量的相关性分析和细节保持性等角度进行了较为系统的综述。本文进一步对其他变形技术,如自由曲面变形,骨骼蒙皮变形研究进行分析,以助对网格变形处理技术更深一步的理解及研究。
1基于骨骼的蒙皮变形
蒙皮是一种基于局部操作的表面变形算法, 该方法可以通过图形化界面为每个皮肤顶点指定对应的骨骼以及对应的权重。“蒙皮”算法速度较快, 但是在指定权重时需要动画师具有一定的经验。“蒙皮”方法本质上是一种插值算法, 其基本原理可以用下式表示:
vMDiii1n1iv
i1ni(1-1)
其中, v是变形前的皮肤顶点坐标, Mi 表示在初始参考姿态下与皮肤顶点相关的第i段骨骼的由局部坐标到全局坐标的转换矩阵, Di1v表示在第i段骨骼局部坐标系中皮肤顶点的坐标值, i表示第i段骨骼对于当前顶点的权值, v表示变形后的皮肤顶点坐标。“ 蒙皮”算法的基本思想是使关节附近的皮肤顶点同时受到与关节相邻的两段骨骼的影响, 影响的大小由权值i确定。
早在1972年,Catmull就提出骨骼驱动的动画技术。1988年,Thalmann提出基于定制函数的3维骨骼蒙皮技术将皮肤的运动看成潜在骨骼的函数。关节依赖的局部变形是最早的骨架驱动的皮肤变形方法,又称骨架子空间变形(SSD)。SSD技术可以由以下公式表达:
v[3]
wtv
(1-2)
ijjij1s其中vi,vi分别表示变形前后的网格顶点,下标j表示骨架上第j个控制单元所对应的量,s代表骨架上的控制单元个数,tj代表作用于该控制单元的局部变换,可以由用户输入,也可以从运动捕获等途径输入,wij是加权权重,表示骨架对网格顶点的影响程度。SSD计算速度快,但变形效果受加权权重wij的影响,常常会出现几何丢失的情况。针对SSD方法的缺点,Lewis等综合SSD方法和形状插值提出了一种统一的皮肤变形方法,称为姿态空间变[5]形(PSD)方法。PSD方法能有效地对SSD方法变形效果进行修正,可以模拟肌肉凸起以及皮肤折皱的效果,这是SSD等光滑皮肤变形方法无法企及的。Wang等人改进公式(1.1)中的[6]权值,对权值的维度进行了扩展,由一个标量扩展为通过拟合用户给定的样本得到的12个
[7]权值。Ladislav等人通过改进式(1.1)中的线性插值计算方法,将局部变换用球形线性变换替换,得到了更好的变形效果。
2基于曲面的网格变形
2.1基于多分辨率
多分辨率变形算法是一种经典的变形算法。该算法,先把原网格分解成低频信号和若干个高频信号网格。低频信号网格相当于网格的底层光滑模型,而高频信号网格相当于模型上的细节信息。通过多分辨率算法变形,实质上是先对低频信号网格(也叫基网格)进行变形,然后将高频信号网格的细节信息重新整合在变形后的基网格上,达到最终的变形。高频网格的层数越多,模型变形后的局部细节信息就越精确。当然也会导致更多的储存数据,使得整个变形处理花销更大。[8]
图1 图1是多分辨率变形方法的算法框架图。分析可知,多分辨率变形方法实质上是线性变形方法与多层次分解方法的结合。多分辨率变形算法的鲁棒性不够,在大角度或其他特殊变形时候,变形结果不稳定,即变形不自然。主要是由于把局部信息分层来表示模型细节,网格变形是对基网格,而不是整个网格,最终的变形是间接实现,在后来的细节还原时候就会导致不连续,不自然。此外,当分层过多时候,明显增加数据的存储量,必然导致最终实现的延迟,不能很好的实现实时编辑。2.2基于微分坐标
基于微分坐标的变形技术是用微分坐标(也叫拉普拉斯坐标)表示模型的局部细节,在满足用户约束的条件下使模型编辑尽可能多的保持这些反应几何细节的微分坐标。整个变形过程,主要分为两部分:编码和解码。编码是指把欧式空间中的网格顶点的坐标转换到微分域的拉普拉斯坐标。拉普拉斯坐标本质上将模型曲面的局部细节保存起来,再进行变形。解码过程是通过拉普拉斯坐标反求顶点在欧式空间中的坐标,这过程通过求解一个稀疏线性系统来实现。
2.2.1离散拉普拉斯坐标
给定具有n 个顶点的三角网格模型M(V,E,F),V 为顶点集,E 为边集,F为三角面片集合。设v1,vn为点集V 中的点,对于每个顶点vi,用传统的笛卡尔坐标表示,记vi(xi,yi,zi);用N(i){j/(i,j)E},表示第i点的1-ring 邻域顶点构成的集合,如图2.1,定义vi处的拉普拉斯坐标为:
iL(i)ijN(i)ijj
(2-1)
i1djN(i)(ij)
(1i)dl()
图2 均匀权微分坐标和曲面的局部特征近似
其中, i为顶点vi的拉普拉斯坐标,L()为网格的拉普拉斯算子,ij为vj点相对于vi点的权值,且ij1。关于权值的计算方法很多,如均匀权值[9]、余切权值[10]、正切权值、弹簧权值等。本文只简单介绍权均匀权值、余切权值。(1)均匀权值计算公式:
ij
1(2-2)di其中,di 为顶点i 的度(邻接顶点的个数),由于这种权值只是简单的平均,故又称为均匀权值。这种权重直接采用均匀权,与顶点邻接三角面片的信息无关,往往不能满足精度要求。(2)余切权值计算公式:
ijcotijcotij(2-3)
其中,ij、ij 是边i、j的两个邻接三角面片的对角,如图2.2 所示。
图3余切权值
网格变形归结为如下位置约束的优化问题:
min(||(i)i||||piqi||2)(2-4)
2mmii1i1方程经过化简,最终只需求解如下方程问题:
L AVVb(2-5)
Hh求解以上稀疏线性系统既可以求出变形后的顶点的坐标,重新拟合成曲面,既可以实现变形操作。由于拉普拉斯坐标只具有平移和比例不变性,不具有旋转不变性(旋转后法失方向发生改变,导致重构曲面时候受到影响),容易发生扭曲变形。围绕拉普拉斯变形的许多研究工作集中于如何更好地逼近未知的拉普拉斯坐标 ,特别是处理拉普拉斯坐标的旋转问题Lipman[11]通过估计曲面的局部旋转的方式重建变形曲面,即先基于原始拉普拉斯坐标计
[12]算变形网格,基于变形网格求解每个顶点的局部旋转并用该局部旋转对最原始拉普拉斯坐标进行变换,再根据新拉普拉斯坐标重新求解变形网格。Zayer更新拉普拉斯坐标。Zhou
则沿调和场传播句柄变换以
将拉普拉斯操作从曲面扩展到其内部,用所谓的体拉普拉斯坐标的交互变形技术对由网格顶点构成的3维投影控制曲线变形,并
[15]表示几何细节,采用 Wire
[14]将控制曲线变换传播到所有网格顶点以更新体拉普拉斯坐标,求解类似的优化问题得到变形网格,可以避免体积的不自然变化和局部自交。Lipman
提出基于局部坐标架的离散形表示几何细节,相邻顶点的局部坐标架的差可用其中一个顶点的坐标架表示:
ijiijiijb1jb1i11b112b213Ni jiijiijiiji
b2b221b122b223N
(2-6)
ijiijiijNjNi31b132b233Ni
ij式中,系数kl由原始网格的离散形确定,相邻顶点构成的边向量也可用其中一个顶点的局部坐标架表示:
ji1b12b23N
i,jE
(2-7)
ijiijiiji式中系数kij可由原始网格的离散形和局部坐标架矢量决定。当用户交互指定句柄顶点及其旋转变换后,通过两步的稀疏线性系统的求解依次确定顶点的局部坐标架和变形后的顶点坐标。该方法虽然能健壮地产生高质量的变形结果,但需要用户指定句柄的旋转变换,给使用者带来了不变,限制了该方法的应用特别是不适用于那些非交互的网格变形应用。2.3基于梯度域
除了这些使用Laplacian坐标来表示网格,并以此控制网格变形的方法之外, 还有以网格梯度场来表示的网格变形。Yu等人受到二维图像上的Poion编辑通过解此方程得到变形后网格的新顶方法进行更深入的研究[18]
[16]的启发,在网格曲面上建立起三角形的梯度,要求变形后的三角形梯度的散度变化最小,从而得到Poion方程,。Xu等人将墓于Poion的三角网格梯度场的变形
。Summer等人利用变形梯度来复制网格变形及基于网格的逆向运动学变形,他们将网格上的三角形通过新增一沿法向量的虚拟顶点扩展为四面体,然后以四面体变形前后的局部变换作为变形梯度来表示网格的变形。可以证明基于三角形梯度场及变形复制的变形梯度在理论上是等价的[19]
。基于梯度场的网格变形技术,与基于Laplacian坐标的网格变形技术一样都是操作网格模型微分属性的变形技术,因此对于梯度场也需要估算其局部变换。前述的基于测地线、调和场等方法同样适用于基于梯度场的局部变换计算。2.3.1网格上的标量场
在网格M上任意顶点i处取值f(i)fi,且在M上任意其它点v处取值为其中i()是分段线性基函数,在顶点i处取值为1,其他顶点i(ji)f()fii(),i处取值为0。们称函数f为定义在域网格侧上的标量场。显然,域网格M的顶点坐标的三个分量可视为定义在其自身之上的特殊标量场。2.3.2矢量场分解
Hemlhotlz-Hdoge矢量场分解定理以分解为三个组成部分:
wvh
(2-8)其中是一个满足()0的标量势场,v是一个满足()0的矢量势场,[3][20]
深刻刻画了矢量场的内在性质,该定理被认为是上个世纪最重要的数学发现之一。这个定理描述的是位于任意区域几内的光滑矢量场w可h是一个满足h0和h0的矢量场。、v和h这三个分量又分别称为无旋(Curi Free)分量、无散(Divergence Free)分量和调和(Harmonic)分量。2.3.3梯度算子
离散梯度算子的定义依赖于域网格一上的分段线性基函数的梯度i(v),在此基础上,我们定义域网格M上的标量场f在任意一点M处的梯度为:
f(v)f(v)
(2-9)
iii在域网格M上的任意三角面片T(v0,v1,v2)内任意点v处, 其三个顶点处的分段线性基函数0、1和2的数值等价于v点相对于三个顶点的重心坐标分量。
顶点v0处的基函数0的梯度向量:
090190R(v2v1)
(2-10)2AT其中R代表以三角面片T中心为原点,绕T的法向量逆时针旋转90度, AT表示三角面片T的面积。容易看出,顶点v0的基函数的梯度向量的方向为对边(v1,v2)的高的方向,模长为高的倒数,且在整个三角面片T内取值为常数。2.3.4散度算子
给定域网格M上的一个矢量场w,它在M的任一三角形Ti上取值为常数w=w(Ti),我们定义w在顶点vi处的散度为
divw(vi)TNT(vi)w(T)i|TAT
(2-11)
其中AT指三角形T的面积,i|T为顶点vi处基函数的梯度。
2.3.5坐标重建
显式地转换成编辑后网格模型的顶点坐标,这一过程称为坐标重建,可以归结为求解如下的泊松方程:
fdiv(f)divw
(2-12)其中w来自梯度场,f为重建得到的坐标分量,依次对x,y,z三个坐标分量分别根据其对应的梯度场求解泊松方程,我们就完成了坐标重建的过程。实际上,公式(2.16)等价于如下的稀疏线性系统:
Axb
(2-13)其中方程求解的未知向量x代表了重建网格的顶点坐标,系数矩阵A由域网格M决定。由于泊松方程的系数矩阵是不满秩的,若方程未知数个数为N,其秩为N-1,因此我们必须至少固定一个顶点的坐标作为边界条件来使得系数矩阵满秩,这样泊松方程就有唯一解了。泊松方程本质上求解的是一个全局最优解。
3基于空间变形的网格变形
3.1自由变形技术
Sederberg和Parry首先提出了自由变形(FFD)的概念,其基本思想是把变形定义为从原始物体空间到目标物体空间的三维映射。具体方法是通过将网格模型嵌入到变形晶格中(Lattice),通过控制变形晶格的顶点变化,达到对嵌入其中的网格模型进行变形的操作,即,通过对控制网格的顶点的位移向量作为系数进行三变量张量积插值表示3维变形场:
d(u,v,w)[8]
ijkcijkNil(v)Nkn()
(3-1)
在此方法中存在着两个映射过程:首先将世界坐标系中网格模型上的顶点坐标映射到变形晶格所定义的局部坐标系的对应点(局部坐标);然后将变形后的局部坐标系中的点映射回世界坐标系中的顶点。后者映射采用了张量积Bemstein多项式,因此嵌入其中的网格模型变形趋势与变形晶格的形状是一致的。由于此变形方法的简单,易操作,变形效果也符合一般应用的要求,所以很早得被商业造型软件所广泛使用,一个典型的代表是Maya,见图4。
图4 此方法的基本思想成为后来众多扩展的基础,仅仅是映射函数定义上的不同,就产生了许多变种。尽管做了写改进,该方法在映射过程中需要通过复杂的数值方法求解,计算量太大,导致执行效率不高。
Coquillart 等的方法使得包围盒可以有更多的形状选择,如圆柱体、棱柱等。Ju等
[21]提出的基于广义重心坐标的网格编辑技术的思想,其主要是通过改变权值的计算方法实现的,该方法在编辑灵活性以及时间计算效率上都有很大的改进。Lipman等人提出了基于格林坐标的自由变形技术,此方法改进了均值坐标仅仅插值网格顶点,增加了三角面片上的法向插值,因此能够得到更好的自由变形效果,而且此方法有闭合的计算公式,只需线性解就能得到变形结果,因此效率上比调和坐标好。
图5
3.2基于径向基函数RBFS的网格变形
基于散乱数据插值的径向基函数插值技术可以生成光滑的插值曲面,被广泛的应用于曲面重构等应用。由一组中心点cj和相应的权wj定义的三变量径向基函数为:
f(x)w(cjjjx)p(x)
(3-2)
式中,(cjx)是定义在中心cj的径向基函数,p(x)是保证精度的低次多项式函数Chai基于空间径向基插值建立运动捕获人脸模型和虚拟人脸模型的对应以及人脸表情变
[23]形之间的对应。Botsch等人定义类似的3维径向基插值变形场,通过求解一个线性系统,得到作为未知变量的径向基混合权和低次多项式的系数,从而确定变形场对嵌入其中的形体进行变形。[22]4结论
上述变形算法各有优点,也各有自己的局限性。基于骨骼的蒙皮变形的骨架生成比较简单,操作相对也简单直观,但对于骨架不明显的模型,还需要结合其他的变形技术,而且骨架与皮肤的关系设定复杂,权重的设定往往需要反复试验和调整,在细节保持方面比较差,在实时操作中计算复杂,未能达到快速实时变形操作。现存的骨骼蒙皮绑定技术都或多或少会使模型产生形变失真,尤其是在关节处,所以提高皮肤变形真实感和动画实时性就成为绑定技术的目标。而微分表示方法具有完备的离散微分算子集合,包括梯度算子、散度算子和Laplacina算子,而基于Laplacina坐标的方法中只有Laplacina算子。因此,微分表示方法的理论基础更为坚实。梯度算子的定义使得它能够基于三角面片进行几何分析,而基于Laplacina坐标的方法则只能基于顶点的一环邻域进行分析。由于三角面片是网格的最小组成单元,所以算法分析对象的粒度更小。自由变形技术的优点是几何直观性很高,算法效率也较高。缺点是用户变形的是代理模型所代表的几何空间,而原始模型的形变是作为嵌入物体间接完成的,这导致了变形过程中容易出现几个方面的问题:其一,由于变形后的顶点坐标是逐顶点进行计算的,所以邻接顶点的变形位移增量可能并不一致,因此不能保证变形结果中的几何细节能够被有效保持;其二,由于原始模型需要参数化到代理模型所表示的空间之中,因此代理物体的选择直接影响变形效。
总而言之,空间变形技术、骨架驱动的变形技术在控制手段及形速度上,都能很好地胜任光顺网格的变形,但对于细节丰富的网格模型,其变形质量较差。基于网格曲面的变形技术解决了变形质量问题,但不便于变形控制且变形速度较慢。微分域方法以独特的优势,已经成为图形学领域的热点问题,新的扩展和应用不断涌现。虽然微分域方法的创建工作基本完成,理论基础和应用框架基本定,但是微分域方法中仍然存在一些关键难题,尚待解决。
参考文献
[1].Lipman Y, Sorkine O, Levin D, et al.Linear rotation-invariant coordinates for meshes[C]//ACM Transactions on Graphics(TOG).ACM, 2005, 24(3): 479-487.[2].许威威, 周昆.Gradient Domain Mesh DeformationVolume 1ACM, 1972.[4].Magnenat-Thalmann N, Laperrire R, Thalmann D, et al.Joint-Dependent Local Deformations for Hand Animation and Object Grasping[C]// In Proceedings on Graphics interface ’881988:26--33.[5].Lewis J P, Cordner M, Fong N.Pose Space Deformation: A Unified Approach to Shape Interpolation and Skeleton-Driven Deformation[C]// Proceedings of the 27th annual conference on Computer graphics and interactive techniquesACM Pre/Addison-Wesley Publishing Co., 2000.[6].Wang X C, Phillips C.Multi-weight enveloping: least-squares approximation techniques for skin animation[C]//Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation.ACM, 2002: 129-138.[7].Kavan L, Žára J.Spherical blend skinning: a real-time deformation of articulated models[C]//Proceedings of the 2005 symposium on Interactive 3D graphics and games.ACM, 2005: 9-16.[8].Sederberg T W, Parry S R.Free-form deformation of solid geometric models[C]//ACM SIGGRAPH computer graphics.ACM, 1986, 20(4): 151-160.[9].Tutte W T.Convex representations of graphs[J].Proceedings London Mathematical Society, 1960, 10(38): 304-320.[10].Meyer M, Desbin M, Sehroder P, et al.Diserete differential-geometry operators for triangulated 2-manifolds[C].In Visualization and Mathematies, Springer-Verlag, Heidelberg,2003..[11].Lipman Y, Sorkine O, Cohen-Or D, et al.Differential coordinates for interactive mesh editing[C]//Shape Modeling Applications, 2004.Proceedings.IEEE, 2004: 181-190.[12].Zayer R, Röl C, Karni Z, et al.Harmonic guidance for surface deformation[C]//Computer Graphics Forum.Blackwell Publishing, Inc, 2005, 24(3): 601-609..[13].Zhou K, Huang J, Snyder J, et al.Large mesh deformation using the volumetric graph laplacian[C]//ACM Transactions on Graphics(TOG).ACM, 2005, 24(3): 496-503.[14].Singh K, Fiume E.Wires: a geometric deformation technique[C]//Proceedings of the 25th annual conference on Computer graphics and interactive techniques.ACM, 1998: 405-414..[15].Lipman Y, Sorkine O, Levin D, et al.Linear rotation-invariant coordinates for meshes[C]//ACM Transactions on Graphics(TOG).ACM, 2005, 24(3): 479-487.[16].Pérez P, Gangnet M, Blake A.Poion image editing[C]//ACM Transactions on Graphics(TOG).ACM, 2003, 22(3): 313-318.[17].Yu Y, Zhou K, Xu D, et al.Mesh editing with poion-based gradient field manipulation[J].ACM Transactions on Graphics(TOG), 2004, 23(3): 644-651.[18].Dong W J Z H X, Hujun B.Sketch-Based Poion Mesh Editing[J].Journal of Computer-Aided Design & Computer Graphics, 2006, 11: 014.[19].Sumner R W, Popović J.Deformation transfer for triangle meshes[J].ACM Transactions on Graphics(TOG), 2004, 23(3): 399-405.[20].Abraham R, Marsden J E, Ratiu T.Manifolds, tensor analysis, and applications[M].Springer Science & Busine Media, 2012.[21].Lipman Y, Sorkine O, Levin D, et al.Linear rotation-invariant coordinates for meshes[C]//ACM Transactions on Graphics(TOG).ACM, 2005, 24(3): 479-487.[22].Chai J, Xiao J, Hodgins J.Vision-based control of 3d facial animation[C]//Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation.Eurographics Aociation, 2003: 193-206.[23].Botsch M, Kobbelt L.Real‐Time Shape Editing using Radial Basis Functions[C]//Computer graphics forum.Blackwell Publishing, Inc, 2005, 24(3): 611-621.
课程教改规划-----计算机辅助设计课程学院建设骨干校期间,对计算机辅助设计课程教学提出了新的任务和要求,迫使计算机辅助设计课程教学内容、教学方法、教学手段和人才培养模......
《计算机辅助设计》课程教学大纲课程名称:计算机辅助设计教学目的:《计算机辅助设计》培养具学生能利用计算机新的媒体设计工具进行艺术作品的设计和创作的能力。使学生能较好......
五、课程设计的心得体会 本学期我们开设了《计算机辅助设计(三维)》课程,本门学科属于辅助设计软件,其实用性很强,对我们的专业有很强的联系。正所谓“纸上谈兵终觉浅,觉知此事要......
计算机辅助设计1课程小结两个周的软件课程转眼即逝,学习了CorelDRAW和Photoshop两款作图软件,并做了相应的练习,如标志设计、名片设计、广告单页设计等,对我们从认识了解到接触......
计算机辅助设计课程教学方法的探讨上海理工大学机械工程学院 王新华 陈彩凤[摘要] 本文对计算机辅助设计课程的教学方法进行了详细的分析与探讨,结合实际产品设计过程中积累......
