6.5自由变形(FFD)技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


EFFD允许FFD型网格作为它结构的一部分,许多个FFD型网格可合并成 EFFD型网格。
EFFD(扩展的FFD方法)
EFFD(扩展的FFD方法)

变形步聚: 1.给定物体上的一点Q,首先利用超曲面的凸包性质找到Q所在的超 曲面,然后对方程进行牛顿迭代,求得Q在相应超曲面的局部坐标系 (u,v,w)。其中Pi,j,k为该超曲面变形前的控制顶点。 2.移动EFFD块的控制顶点 3.根据曲面方程,求得Q变形后的位置
自由变形方法FFD

设FFD块的三个坐标方向为(S,T,U)
一个FFD块由(3l + 1) * (3m + 1) * (3n + 1)个控制顶点定义 等价于:由l*m*n个三三次超曲面构成。
FFD块对物体变形的步骤: 1. 确定物体的顶点(或控制顶点)在网格空间的位置。建立FFD块的局部坐标系: X(s,t,u) = X0 + Ss + tT + Uu
B

1
B
2
BT
直接操纵的FFD

边界控制顶点的重数为3,且要保 证重数为3的顶点必须重合 则添加一个矩阵S =》ΔP = (BS+)+ ΔQ
0 0 S 0 0
0 1 0 0 1 0 0 1 0 0 0 1
0 b1

对于多个点的约束问题:
Q0 b 0 0 Q1 0
自由变形(FFD)技术
柴学梁
自由变形方法FFD
1986年,Sederderg等提出的适用于柔性物体动画的更为一般方法。 不直接操作物体,而是将物体嵌入一空间,随所嵌空间的变形而变形。 对于二维情况(双三次Bezier曲面):
自由变形方法FFD
对于三维情况(三三次Bezier超曲面):



将一正方体映射为弯曲的体物。 Bezier体由64个控制顶点Pi,j,k来指定,当物体嵌入正方体时,物体随Q(u,v,w) 的变形而变形。 多个Bezier超曲面可拼接生成一分段光滑的Bezier体,即FFD体 由三根互相垂直的坐标轴排形的长方体结构的控制顶点网格,称Lattice
细分体的边界控制

三变量Catmull-Clark细分方法应用于任意拓扑的网格时,得到的可变 形空间与网格的形状不一致,通常从网格的边界向里收缩。
细分体的边界控制

具有边界和边控制的Catmull-Clark体
可变形空间及变形过程

空间点P相对于单元C的相对位置。 对于类3单元,用三线性插值也计算P点的相对位置 对于类n单元,首先把单元分割成四面体,然后用分片三线性插 值来调整点P在变形后单元的位置。 变形过程: 1.构造控制网格,把物体放于网格内。 2.网格相对于物体冻结。 3.计算可变区域内每一点P对于该单元的相对位置。 对于类n单元,算得三线性插值参数(u,v,w)
基于任意拓扑网格的FFD方法

三变量三次均匀B样条体的细分方法: 给定一个定义三变量B样条体的控制网格L,细分方法生成一个新的 控制网格L1,L1包含了L一次细分后的所有顶点。可分为 1.单元点(Cell point) 网格中构成该单元所有点的平均 2.面点(Face point)

百度文库

3.边点(Edge point)
直接操纵的FFD变形方法

移动控制顶点的FFD变形方法存在的问题:

1.难是得到精确的变形形状。 2.难以使得物体上的某些点到达指定的位置。 3.难以了解控制顶点的移动和物体变形结果之间的关系。 4.当控制顶点数目多或被变形物体遮挡时,移动控制顶点困难。
1992年,Hsu等人提出直接操纵FFD变形方法。 核心思想:用户从物体上选择一个点,并把该点移动到变形后的位置, 系统自动反求导致这种变化的FFD控制顶点的变化。

即求解P(u,v,w) = P0 + u(P1-P0)+ v(P2-P0) + w(P3-P0) 4.移动原始网格的顶点,使它产生变形,并把变形后的细分n次。 对于可变形区域内物体上点P,根据上一步求得的索引号找到 变形后网格对应的单元,再根据该点P的参数(u,v,w)计算P变 形后的点。



基于任意拓扑网格的FFD方法

1996年,MacCracken提出一种允许网格为任意拓扑形状的更一般的 FFD方法。 变形空间曲细分(Subdivision)方法来定义生成体。 用网格定义变形空间:
一个网格(L)定义为由一系列顶点集{P0,P1,…,Pn}和一指定它们连 接关系的单纯形组成。 网格的组成:



边(Edge):网格单纯形中连接的两个顶点 面(Face):顶点的最小连接环 单元(Cell):由一系列面包围的空间区域
基于任意拓扑网格的FFD方法

基于任意拓扑网格的性质:

1.网格具有好的连接性质,即没有顶点位于不包含该顶点的边上。 2.所有的单元都是闭的,即构成单元的面不包含任何洞。 3.任何两个单元互不相交,即不考虑自交的网格。
X0为局部坐标系的原点(FFD块的一个角点) (S,T,U)为网格三条互相垂直的边 设网格为正方体,则控制顶点为:
自由变形方法FFD
2.变形FFD块。即移动控制顶点Pi,j,k
3.确定顶点变形后的位置。
自由变形方法FFD
EFFD(扩展的FFD方法)

FFD只适用于平行六面体的网格形状 1990年,Coquillart提出一种扩展的FFD方法,适用于非平行六面体 的网格形状。 EFFD构造:
b0 2 b1 1
0 b3
b1 0
b1 2
P0 P1 0 P2 1 b3 P3 P4
直接操纵的FFD

核心问题:单个点直接操纵的约束问题 (物体上一点Q从源位置Q1到目标位置Q2,求网格控制顶点的某种布 局)



根据FFD方程:Q1 = BP Q2 = B(P + ΔP) =》 ΔQ = Q2 - Q1 = BΔP 根据矩阵论知识:可推出 ΔP = (B+)+ ΔQ (B+)为B的广义逆
4.顶点点(Vertex point)

基于任意拓扑网格的FFD方法
价:单元C中包含顶点V的边的数目。 类n单元:给定网格L中一个单元C,考虑C中价为n的顶点V。经过一 次细分后,生成一个从V开始的新单元,它包含2n个四边形,两个价 为n的顶点和2n-2个价为3的顶点。


基于任意拓扑网格的FFD方法
相关文档
最新文档