三维空间中的Dirichlet自由变形算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第36卷 第3期 电 子 科 技 大 学 学 报 V ol.36 No.3
2007年6月 Journal
of University of Electronic Science and Technology of China Jun. 2007 三维空间中的Dirichlet 自由变形算法
郭际香,蒲晓蓉,章 毅
(电子科技大学计算机科学与工程学院 成都 610054)
【摘要】自由变形是与物体表示无关的变形方法的重要分支,被广泛地应用于计算机动画和几何建模领域中。Dirichlet 自由变形是众多自由变形方法中的一种,相比其他的自由变形方法,它有更大的灵活性,能够任意设置控制点。Dirichlet 自由变形算法在二维空间已获得了广泛的应用,但在三维空间中的应用却非常少。该文研究Dirichlet 自由变形算法在三维空间的实现问题,将Dirichlet 自由变形算法应用到三维空间中的头像变形中,获得了较好的变形效果。
关 键 词 Delaunay 三角划分; 自由变形; Sibson 局部坐标; V oronoi 图 中图分类号 TP391 文献标识码 A
Dirichlet Free-Form Deformation in Three-Dimensional Space
GUO Ji-xiang ,PU Xiao-rong ,ZHANG Yi
(School of Computer Science and Engineering, University of Electronic Science and Technology of China Chengdu 610054)
Abstract Free Form Deformations (FFDs) have been extensively applied in computer animation and geometric modeling. FFD is an important branch of deformation methods which independent of object representation. Dirichlet Free-Form Deformation (DFFD) belongs to one of the FFDs. Comparing with other FFDs, it gives deformation more flexibility and has the ability to place control points arbitrarily. DFFD has been extensively applied in two-dimensional space, but seldom in three-dimensional space. This paper studies the application of DFFD in three-dimensional space. Good deformation results have been obtained by applying DFFD to 3D head-deformation.
Key words Delaunay triangulation; free-form deformation; Sibson local coordinate; V oronoi diagrams
收稿日期:2005 − 06 − 16
基金项目:国家自然科学基金资助项目(60471055)
作者简介:郭际香(1981 − ),女,硕士生,主要从事三维物体变形方面的研究;蒲晓蓉(1969 − ),女,副教授,主要从事计算智能及生物特征识别方面的研究;章 毅(1963 − ),男,博士,教授,博士生导师,主要从事计算智能方面的研究.
自由变形[1](Free Form Deformations ,FFD)算法是目前物体变形方法中最实用的方法之一。FFD 方法不对物体直接变形,而是对物体所嵌入的空间进行变形。FFD 方法中的控制框架的形状为平行六面体,它通过移动控制框架顶点使物体产生变形,达到对嵌入的物体产生变形。Dirichlet 自由变形算法
(Dirichlet Free-Form Deformation ,DFFD)是FFD 诸多
改进算法中应用较广泛的一种,该方法剔除了对控
制框架的限制,对复杂物体的形变产生很好的效果。
目前关于DFFD 算法的二维应用已经有许多介绍,但
该算法在三维空间的使用还较少。本文结合在使用
该方法做三维人脸变形过程遇到的难点和相应的解
决方法,来论述DFFD 算法在三维空间的实现。
1 DFFD 算法的二维实现 DFFD [2]的思想是:给定控制点集合P n 和其凸包
内的一点p ,可以确定p 的Sibson 邻居集合P n ={p i |0i n ≤≤},并计算出p 相对于P n 的Sibson 局部坐标u i (0i n ≤≤)。当移动P n 中一个或多个控制点后,假设控制点的新位置(0)i i i P p p i n ′=+∆≤≤,控制点i p 的位移i p ∆可以等于0。那么凸包内点p 的
新位置P ′就由0
n
i i i p u p =∆=∆∑和p p p ′=+∆来确定。
在实际应用中,可以根据需要对物体的不同部位设置控制点,然后通过移动这些控制点对物体局部或整体产生形变。DFFD 算法的关键就是求物体点的Sibson 坐标[3]
,在计算Sibson 坐标中会用到Delaunay 三角划分[4]和求V oronoi 图[5](简称V 图)。Sibson 局部坐标[3]
也称为自然邻居坐标(Natural Neighbor Coordinate),在V 图的基础上就可以定义Sibson 局部坐标。下面以图示简单地介绍在二维空间如何求一
个点的Sibson 局部坐标。图1所示是点集P ={p 1, p 2, p 3,
p 4,}的V 图,p 是点集P 的凸包内任意一点;图2所示是加入点p 后的V 图,由于p 1, p 2, p 3, p 4所在的V 单元