常用的参数曲面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六、Bezier曲面
基于Bezier曲线的讨论,我们可以方便地可以给出Bezier曲面的定义和性质,Bezier 曲线的一些算法也可以很容易扩展到Bezier曲面的情况。
1.定义
设为个空间点列,则次张量积形式的Bezier曲面定义为:
其中,是Bernstein基函数。依次用线
段连接点列中相邻两点所形成的空间网格,称之为特征网格。Bezier曲面的矩阵表示式是:
在一般实际应用中,不大于4。
2.性质
除变差减小性质外,Bezier曲线的其它性质可推广到Bezier曲面:
(1)Bezier曲面特征网格的四个角点正好是Bezier曲面的四个角点,即
,,,。
(2)Bezier曲面特征网格最外一圈顶点定义Bezier曲面的四条边界;
Bezier曲面边界的跨界切矢只与定义该边界的顶点及相邻一排顶点有关,且
P00P10P01、、和(图打上斜线的三角形);其跨界二阶导矢只与定义该边界的顶点及相邻两排顶点有关。
(3)几何不变性。
(4)对称性。
(5)凸包性。
3.Bezier曲面片的拼接
如图所示,设两张m×n次Bezier曲面片
分别由控制顶点和定义。
如果要求两曲面片达到连续,则它们有公共的边界,即:
于是有。
如果又要求沿该公共边界达到连续,则两曲面片在该边界上有公共的切平面,因此曲面
的法向应当是跨界连续的,即:
下面来研究满足这个方程的两种方法。
(1)鉴于式
,最简单的取解是:
这相当于要求合成曲面上v 为常数的所有曲线,在跨界时有切向的连续性。为了保证等式两边关于v 的多项式次数相同,必须取
(一个正常数)。于是有:
即
。
(2)方法一使得两张曲面片在边界达到
连续时,
只涉及曲面
和
的两
列控制顶点,比较容易控制。用这种方法匹配合成的曲面的边界,u 向和v 向是光滑连续的。但实际上它的限制是苛刻的。
为了构造合成曲面时有更大的灵活性,Bezier 在1972年应用了更具普遍性的连续
条件:
这仅仅要求
位于
和
所在的同一个平面内,也就是曲面片
边界上相应点处的切平面,这样就有了大得多的余地,但跨界切矢在跨越曲面片的边界时就不再连续了。
同样,为了保证等式两边关于v 的多项式次数相同,须为任意正常数,是v 的
任意线性函数。
4.Bezier 曲面的de Casteljau 生成算法
Bezier 曲线的递推(de Casteljau)算法,可以推广到Bezier 曲面的情形。若给定Bezier 曲面特征网格的控制顶点
和一对参数值(u0,v0),则递推公式为:
⎪⎩
⎪⎨⎧==+-==+-===-+--+-)
,,2,1,()1()0;,,2,1()1()0(1
,1,01,,00,1,10,1,,n l m k vP P v l m k uP P u l k P P l m j l m j k j
i k ij ij l
k j
i
或
上面给出了确定Bezier 曲面上一点的两种方案。当按第一种方案执行时,先以u 参数值对控制网格u 向的n+1个多边形执行曲线de Casteljau 算法,m 级递推后,得到沿v 向由n+1
个顶点 构成的中间多边形。再以v 参数值对它执行曲线的de Casteljau 算法,n 级递推以后,得到一个 ,即所求曲面上的点 。也可以按第二式方案执行,
先以v 参数值对控制网格沿v 向的m+1个多边形执行n 级递推,得沿u 向由m+1个顶点
构成的中间多边形。再以u 参数值对它执行n 级递推,得所求点 。
七、 B 样条曲面 1.定义
基于B 样条曲线的定义和性质,可以得到B 样条曲面的定义。给定)()(11+⨯+n m 个空间点列n ,,,j m;,,,i ,, 1010==j i P ,则
)()(),(0,,0
,∑∑===
m
i l
j k i n
j j
i w N
u N w u P
S 定义了l k ⨯次B 样条曲面, )(,u N k i 和)(,w N l
j 是k 次和l 次的B 样条基函数,u 和w 为B
样条基函数)(,u N k i 和)(,w N
l
j 的节点参数,由j i ,P 组成的空间网格称为B 样条曲面的特征
网格。上式也可以写成如下的矩阵形式:
[][]
k n s k m r w u T
l
T
l kl k k s r -+∈-+∈=2,1,2,1),(,W M P M U S
上式中r ,s 分别表示在u ,w 参数方向上曲面片的个数。
[
][
]
[][]
21 21 1
12
1
2
1
-+-∈-+-∈===----l s s j k r r i w w
w
u u
u
j i kl l l l k k k ,,,][,,...,,,,,...,,,P P W U
kl P 是某一个B 样条曲面片的控制点编号。
⎪⎩
⎪⎨⎧==+-==+-===-+--+-);,,2,1()1()
,,2,1;0()1()0(,10,1,101
,01,1,0,n l m k uP P u n l k vP P v l k P P n k i n k i l j i l ij ij l k ij ),,1,0(0
0n j P m j
=),(v u P mn
P 00),,1,0(00m i P n
i =mn P
00