B样条曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点的方法。 P0
Q0 Q(0-1)
P1
Q1
Q2
P2
Q3
Q4
赤峰学院计算机系
计算机图形学
08-09第二学期
• 三重角点
若要使B样条曲线产生一个尖点,可运用三重角
点的方法。
Q2 Q3 Q4
P1
P2 P3
Q1
P0
P4
Q5
Q0
赤峰学院计算机系
计算机图形学
Q6
08-09第二学期
• 三角点共线
若要使B样条曲线产生反向弧切接的效果,可运用三
三次B样条曲线则达到二阶导数连续
• 角点的修改对曲线形状的影响
Bezier曲线:修改一个角点将影响整条曲线的形状。
B样条曲线:修改一个角点只影响该角点所在位置前后
三段曲线的形状。
赤峰学院计算机系
计算机图形学
08-09第二学期
角点重叠和角点共线(*)
• 二重角点
若要使B样条曲线与特征多边形相切,可运用二重角
(i 0,1, , n) 和 P0 j , P1 j , , Pnj( j 0,1, , m) 组成的网格 称为 P(u, v)的控制网格,记为{Pij} ,如图9.15所示。
P14
P04
P03 P02 P01
P11 P21
P31
P(0,v)
P10 P20
P41 P30
P00
P(u,0)
P40
图9.15 Bézier曲面的控制网格
赤峰学院计算机系
计算机图形学
08-09第二学期
不易修改 由曲线的混合函数可
看出,其值在开区间 ( 0 , 1 ) 内均不为
零。因此,所定义之曲线在 ( 0 < t < 1)
的区间内的任何一点均要受到全部顶
点的影响,这使得对曲线进行局部修
改成为不可能。
(而在外形设计中,
局部修改是随时要进行的)
赤峰学院计算机系
Cnr
n! r!(n r)!
赤峰学院计算机系
计算机图形学
08-09第二学期
连接全部曲线段所组成的整条曲线称
为 n 次B样条曲线。依次用线段连接
点 Pi+k (k=0,1,…,n)所组成的多边折 线称为B样条曲线在第i段的B特征多
边形。
赤峰学院计算机系
计算机图形学
08-09第二学期
3.二次B样条曲线 Fk,n (t)
• 贝塞尔曲面表达式如下:
nm
P(u,v)=∑ ∑bi,jBi,n(u)Bj,m(v) 0≤u,v≤1
i=0 j=0
• 贝塞尔曲面中应用最广泛的是双3次贝塞尔曲面, 它由给出的4*4个网格点唯一决定.
赤峰学院计算机系
计算机图形学
08-09第二学期
一般称 Pij为 P(u, v)的控制顶点,把由Pi0 , Pi1, , Pim
P3 P1
P0
赤峰学院计算机系
P4 P2
F282.c 二次 B-样条曲线
计算机图形学
08-09第二学期
4.三次B样条曲线
分段三次B样条曲线由相邻四个顶点
定义,其表达式为:
P(t)=F0,3(t)•B0+F1,3(t)•B1+F2,3(t)•B2 +F3,3(t)•B3 (0≤t≤1)
可见,由 n 个顶点定义的完整的三次
P0,3
P3,1(Q0,1) Q3,0
P(u,v)
Q(u,v) P3,0(Q0,0) 边界线
P0,0
Beziet曲面片的拼接
赤峰学院计算机系
计算机图形学
08-09第二学期
曲面片2
6.5.2 B样条曲面的定义和性质
uv v v u u u 设节点向量 U
08-09第二学期
二次B样条曲线的性质
先对 P(t)求导得:
P(t) t
111
2 1
1 0
B0 B1 B2
然后分别将 t=0,t=0.5,t=1 代入 P(t)
和 P’(t),可得:
P(0)=1/2(B0+B1), P(1)=1/2(B1+B2); P’(0)=B1-B0, P’(1)=B2-B1; P(1/2)=1/2{1/2[P(0)+P(1)]+B1} P’(1/2)=1/2(B2-B0)=P(1)- P(0)
计算机图形学
08-09第二学期
为了克服 Bezier 曲线存在的问题,
Gordon 等人拓展了 Bezier曲线,就
外形设计的需求出发,希望新的曲线
要:易于进行局部修改;
更逼近特征多边形;
是低阶次曲线。
于是,用 n次B样条基函数替换了伯
恩斯坦基函数,构造了称之为B样条
曲线的新型曲线。
赤峰学院计算机系
i0
将u,v向曲线方程合并得:
3
33
u
b(u,v) bi (v)Bi,3(u)
Bi,3(u)Bj,3(v)b(i, j) v
i0
i0 j0
赤峰学院计算机系
计算机图形学
08-09第二学期
Bézier曲面的定义
在空间中给定(n+1)×(m+1)个点,称以 下张量积形式的参数多项式曲面为n×m次的 Bézier曲面:
给定空间16个位置点bij,可以确定 一张三次Bezier曲面片。
rij
u
首先生成四条v向的三次Bezier曲线:
v
3
bi (v) bijBj,3(v)i 0,1,2,3
j0
根据“线动成面”的思想,按设定间
隔取v* [0,1] ,在四条v线上取点,沿u
u
向生成三次Bezier曲线:
v V*
3
b(u) bi (v* )Bi,3 (u)
赤峰学院计算机系
计算机图形学
08-09第二学期
n
Pi,n (t)
Pik Fk ,n (t )
k 0
B: P1,P2,P3 P3
P1 i=1 P1,2(t)
n=2,二次B样条曲线 m+n+1个顶点,三 点一段,共m+1段。
P4
i=0
P2
P0,2(t)
P0
B: P0,P1,P2
赤峰学院计算机系
计算机图形学
计算机图形学
08-09第二学期
2.B样条曲线的数学表达式 B样条曲线的数学表达式为:
n
Pi,n (t)
Pik Fk ,n (t )
k 0
控制顶点 B样条基函数
在上式中0≤t≤1 , i= 0, 1, 2, …, m
所以可以看出:B样条曲线是分段定
义的。如果给定 m+n+1 个顶点 Pi ( i=
赤峰学院计算机系
计算机图形学
08-09第二学期
与以上这些式子所表达的性质相符的 曲线是何种形状:(见下图)
B1
P(1/2)
P'(1/2)
P(0)
M
P(1)
B0
赤峰学院计算机系
是什么曲线?
与Bezier曲线有
B2
何差别?
计算机图形学
08-09第二学期
结论:分段二次B样条曲线是一条抛 物线;有n个顶点定义的二次B样条曲 线,其实质上是n-2段抛物线(相邻三 点定义)的连接,并在接点处达到一 阶连续。(见下图)
• 双一次Bezier曲面:取m=n=1。这是 一张双曲抛物面(马鞍面) ;
• 双二次Bezier曲面:取m=n=2。该曲 面的四条边界是抛物线。 ;
• 双三次Bezier曲面:取m=n=3;
注:矩阵表示见课本
赤峰学院计算机系
计算机图形学
08-09第二学期
曲面片1
P3,3(Q0,3) Q3,3
P3,2(Q0,2)
Q00 Q 10
B=
Q01 Q 11 Q02 Q12
Q03 Q13
赤峰学院计算机系
Q20 Q30 Q21 Q31 Q22 Q32 Q23 Q33
计算机图形学
u
Q30 Q20
Q10 Q00
Q01
w
Q31
Q11Q21
Q32 Q22 Q33
Q02 Q12Q13Q23
08-09第二Q学0期3
由曲线拓展为Bézier曲面
0, 1, 2,…, m+n),则可定义 m+1 段 n
次的参数曲线。
赤峰学院计算机系
计算机图形学
08-09第二学期
在以上表达式中:
Fk,n( t )为n次B样条基函数,也称B 样条分段混合函数。其表达式为:
Fk,n (t)
1
nk
(1) j
n! j0
Cj n 1
(t
nபைடு நூலகம்
k
j)n
式中: 0≤t ≤ 1 k = 0, 1, 2, …, n
使曲线与特征多边形相切; 使曲线通过指定点; 指定曲线的端点; 指定曲线端点的约束条件。
赤峰学院计算机系
计算机图形学
08-09第二学期
B样条曲线的适用范围
对于特征多边形的逼近性
二次B样条曲线优于三次B样条曲线
三次Bezier曲线优于二次Bezier曲线
• 相邻曲线段之间的连续性
二次B样条曲线只达到一阶导数连续
赤峰学院计算机系
计算机图形学
08-09第二学期
Bézier曲面的矩阵表示是:
P(u, v) [J0,n (u) J1,n (u)
P00 P01
J
n,n
(u)]
P10
P11
Pn
0
Pn1
P0m J0,m (v)
P1m
J1,m
(v)
Pnm
J
m,m
(v)
赤峰学院计算机系
计算机图形学
P03
P02 P01
P1 P2
11
P31
P(0,v)
P20 P10
P41
P30
P00
P(u,0) P40
赤峰学院计算机系
Bézier曲面的端点和边界线
计算机图形学
08-09第二学期
(2) 边界线的位置
P(u, v)的4条边界线P(0,v),P(u, 0),P(1,v) ,P(u,1)
是Bézier曲线,它们分别以 P00 P01 , P0m P00 P10 Pn0 Pn1 Pnm ,P0m P1m Pnm为控制多边形。
计算机科学与技术系
第6章 曲 线 曲 面
(B样条曲线)
二、B样条曲线
1.从 Bezier 曲线到B样条曲线
(1) Bezier 曲线在应用中的不足:
缺乏灵活性 一旦确定了特征多 边形的顶点数(m个),也就决定了曲 线的阶次(m-1次),无法更改;
控制性差当顶点数较多时,曲 线的阶次将较高,此时,特征多边形 对曲线形状的控制将明显减弱;
08-09第二学期
Bézier曲面具有以下性质:
(1) 端点位置
控制网格的四个角点 P00, P0m, Pn0, Pnm 是曲面P(u, v) 的四个端点。决定了曲线的形状,位置。
P(0, 0) P00, P(0,1) P0m
P(1, 0) Pn0,
P(1,1) Pnm
P04 P14
P44
1 2
(2t 2
2t
1)
F2,2 (t)
1 t2 2
赤峰学院计算机系
计算机图形学
08-09第二学期
有了基函数,因此可写出二次B样条 曲线的分段表达式为: Pi (t) F0,2 (t) Pi F1,2 (t) Pi1 F2,2 (t) Pi2
( i= 0,1,2,…,m ) m+1段
B样条曲线是由 n-3 段分段曲线连接
而成的。很容易证明,三次B样条曲
线在连接处达到二阶连续。 ***
赤峰学院计算机系
F281.c
计算机图形学
三次 B-样条曲线 08-09第二学期
B样条曲线是一种非常灵活的曲线,曲线 的局部形状受相应顶点的控制很 直观。这 些顶点控制技术如果运用得 好,可以使整 个B样条曲线在某些部位满足一些特殊的技 术要求。如:可以在曲线中构造一段直线;
赤峰学院计算机系
计算机图形学
08-09第二学期
写成一般的矩阵形式为:
2
P(t) Fk,2 (t) Bk t 2
k 0
t
1
1
1 2
2
1
2 2 1
1B0
0
B1
0B2
式中,Bk为分段曲线的B特征多边形 的顶点:B0,B1,B2。对于第i段曲线的 Bk 即为:Pi,Pi+1,Pi+2 连续的三个顶 点。 (见下图)
P04 P14
P44
P03
P02 P01
P11 P21
P31
P41
P(0,v)
P20
P10
P30
Pn0 ,
P00
P(u,0) P40
赤峰学院计算机系
Bézier曲面的端点和边界线
计算机图形学
08-09第二学期
n m1
nm
P(u, v)
Bi,n (u)B j,m (u) pij
i0 j0
u, v [0,1]
角点共线的方法。
Q4
Q1
P1
。
P0
Q2
Q0
P2 Q3
赤峰学院计算机系
计算机图形学
08-09第二学期
• 四角点共线
若要使B样条曲线段之间切接入一段直线,可运用四
角点共线的方法。 Q5
Q1
Q2 。P1
P0
Q0
P2
P3
。
Q3 Q4
赤峰学院计算机系
计算机图形学
08-09第二学期
6.5 Bézier曲面和B样条曲面
• 6.5.1 Bézier曲面
赤峰学院计算机系
计算机图形学
08-09第二学期
Bézier曲面及控制网格演示动画
曲面的形状、位置由边界上的四个角点决定。中间角点只
反映曲面的凹凸程度。
赤峰学院计算机系
计算机图形学
08-09第二学期
Bezier曲面
Bezier曲面是Bezier曲线的扩展, Bezier曲面的边界线就是由四条Bezier曲 线构成的。三次Bezier曲线段由四个控制 点确定,三次Bezier曲面片则由4× 4 控制点确定。16个控制点组成一个矩阵:
1
nk
(1) j
n! j0
Cj n 1
(t
nk
j)n
在二次B样条曲线中,n=2,k=0,1,2
故其基函数形式为:
F0,2 (t)
1 2!
2
(1) j
j0
C3j
(t
2
j)2
1 [3! (t 2) 2 3! (t 1) 2 3! t 2 ] 1 (t 1) 2
2 3!
2!
2!
2
F1,2 (t)