论文部分内容阅读
三维图形主要是通过三维建模软件创作或者通过三维扫描仪进行扫描来获取的。如果用三维建模软件制作复杂的三维模型,则需要较熟练的技能以及细致耐心的操作,是耗时、费力和繁复的工作:通过三维扫描仪获取的三维模型只能是现实中存在的,而三维图形编辑能实时地产生自然界中不存在的虚拟模型和一些现有模型的不同姿态,甚至是一些极其夸张的姿态,并且经过插值可以得到动画效果。广义的三维图形编辑分为剪切-粘贴、形变、形变传递和融合,狭义的三维编辑只是指形变。
三维图形具有真实感,用户特别希望能对其进行操纵、处理,需要对三维图形进行编辑。随着一些学者对三维图形压缩和在网络上的传输技术的研究,使得用户在网上获取三维图形更加方便,从而对三维图形进行编辑的要求变得更为迫切。反过来,对三维图形数据进行编辑也能促进其在网络中进行传输及用户的使用,使未来网络上的三维图形数据像文本、声音、图像、视频一样普遍。
基于以上的需求,本文对三维图形的剪切-粘贴和形变编辑进行了研究。三角形网格是目前最常用的三维图形模型表示方式,所以本文的研究对象是三角形网格表示的三维图形。
本文提出一种三维网格直接剪切一粘贴算法。在确定源网格的特征区域(剪切区域)和粘贴区域后,采用最小二乘法建立两个对应平面,不仅能将源网格特征区域移动和旋转到要粘贴的位置,而且能使粘贴处失真减小,然后连接源网格的特征区域和目标网格,使二者结合成一个模型。但由于某些粘贴结果有些失真,所以本文对该剪切-粘贴算法进行了改进。在将源网格的特征区域移动到要粘贴的位置后,利用线性旋转不变的局部表示方法重建源网格的特征区域,这样会使粘贴后在连接处的失真在源网格的特征区域上均匀分布;当源网格特征区域的几个顶点都映射到目标网格的同一个三角形内时,要对这个三角形进行一分四划分,避免产生退化的三角形,使粘贴后的表面更光滑。本方法适用于任意拓扑结构的源网格,算法简单、能达到实时交互的效果,并且粘贴结果比较自然,失真较小,保留了源网格特征区域的细节。
本文提出一种基于骨骼线的旋转不变局部坐标表示的三维网格形变算法。通过选点的方法确定三维网格感兴趣区域的骨骼线,将感兴趣区域上的顶点映射到骨骼线上,然后采用线性旋转不变的局部表示方法表示骨骼线上的点的局部坐标系和坐标值,以用户指定的目标点的坐标系和坐标值为约束,在最小二乘意义下得到骨骼线上点的坐标值,然后经过逆映射得到形变后感兴趣区域顶点的坐标,达到形变的效果。根据骨骼线可以方便地对三维网格进行局部缩放和扭转编辑,也可以对目标点和骨骼点进行插值得到新的目标点,然后进行形变得到动画效果。本算法实现简单,易于操作,能达到实时交互的效果,并且形变后的表面自然,失真很小,保留了感兴趣区域的细节。
本文还提出一种网格形变算法,是基于保持整个网格的任意两个相邻顶点的距离和两条邻边的夹角不变的,形变后能保持网格的局部细节和体积细节。网格模型的形变是在一些指定的顶点的位置约束下进行的,任意两个相邻顶点的距离、两条邻边的夹角和这些约束条件联立构成网格模型的重建方程组,这个方程组是超定的,在最小二乘意义下进行求解,它们的解就是形变后的网格模型顶点的位置。重建方程组是非线性的,采用牛顿迭代法进行求解。
本文的主要创新点如下:
1.提出一种采用最小二乘法建立两个对应平面的直接剪切-粘贴方法,通过对应平面不仅能很方便地将源网格的特征区域放置在要粘贴的位置,而且使粘贴结果的失真变小;
2.提出一种基于骨骼线的旋转不变局部坐标表示的三维网格形变方法,采用线性旋转不变的局部表示方法表示骨骼线上的点,在最小二乘意义下产生形变,形变后能保持局部细节;
3.提出一种基于保持整个网格的任意两个相邻顶点的距离和两条邻边的夹角不变的网格形变方法,形变后能很好地保持局部细节和体积细节。