3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)

自由变形(Free-Form Deformation, 简称FFD)方法是常用的一种与物体表示无关的变形方法,被广泛地应用于计算机动画和几何建模领域中。FFD方法不对物体直接变形,而是对物体所嵌入的空间进行变形。而Dirichlet自由变形(DFFD)算法是FFD的一种应用较广泛的FFD的改进算法。DFFD算法具有更大的灵活性,能够任意设置控制点,也不需明确定义一个控制盒。DFFD算法主要基于Delaunay和Dirichlet/Voronoi图。

 

本文使用DFFD算法对人头进行自由变形,为简单起见,这里选取了比人头的包围盒稍大的盒子的8个顶点作为控制点,如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第1张图片

下面演示移动某一控制点时,人头模型做出的相应的自由变形效果。下图是没经过DFFD变形的初始的人头:

 

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第2张图片

 

1. 将控制点0分别向右、向上和向里移动5个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第3张图片

 

2. 将控制点0分别向左、向下和向外移动5个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第4张图片

 

3. 将控制点1分别向右、向上和向里移动5个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第5张图片

 

4. 将控制点1分别向左、向下和向外移动5个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第6张图片

 

5. 将控制点1向右移动10个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第7张图片

 

6. 将控制点4向左移动10个单位,这时变形后的人头如下图所示:

3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形)_第8张图片

转载于:https://www.cnblogs.com/skyman/archive/2008/08/30/dffd.html

你可能感兴趣的:(3D Dirichlet Free-Form Deformation(三维Dirichlet自由变形))