常用的参数曲线讲解
(1
t ) n1i
t=0: i=0: Bi-1,n-1(t)=0; Bi,n-1(t)=1。
i=1: Bi-1,n-1(t)=1; Bi,n-1(t)=0。
·
(均出现 0 的非 0 次幂)
t=0
P' (0) P' (t 0) n(P1 P0 )
同理可得,当 t=1 时
P1
二次贝塞尔曲线的图形
P(t)=(1-t)2P0+2t(P(11/2-) t)PP'1(1+/2)t2 P2
P’(tP)0 =2(t-1)P0+2(1-2t)P1+2tP2
Pm
P2
P(1/2)=1/2[P1+1/2(P0+P2)] P(0)=2(P1-P0) P(1)=2(P2-P1) P(1/2)=P2-P0
Pik Fk ,n (t )
k 0
在上式中,0 ≤ t ≤ 1; i= 0, 1, 2, …, m 所以可以看出:B样条曲线是分段定 义的。如果给定 m+n+1 个顶点 Pi ( i= 0, 1, 2,…, m+n),则可定义 m+1 段 n 次的参数曲线。
在以上表达式中:
F k,n ( t ) 为 n 次B样条基函数,也称B 样条分段混合函数。其表达式为:
i0
对于某个t值P(t)是特征多边形各顶点 的加权平均,权因子是 BEZi,n(t) 。 在几 何图形上,P(t)是各控制点的凸线性组合, 并且曲线各点均落在Bezier特征多边形构 成的凸包之中。
(7)直线再生性:
若控制顶点P0 ,P1 ,···,Pn在同一直线上,该
Bezier曲线必为一条直线段
伯恩斯坦基函数的表达式为:
Bi,n (t )
n! i!(n
ti i)!
(1
t) ni
假如规定:0=1,0!=1,则 t=0: i=0 ,Bi,n(t)=1
i0 ,Bi,n(t)=0
P(0)
n! 00 1 n!
(1 0)n
P0
P0
P(0)=P0
t=1: i=n ,Bi,n(t)=1 in ,Bi,n(t)=0
3 3
1
0
0 0
0 0
PP32
***
贝塞尔曲线在运用中的不足之处
缺乏灵活性 一旦确定了特征多 边形的顶点数(m个),也就决定了曲 线的阶次(m-1次),无法更改;
控制性差 当顶点数较多时,曲 线的阶次将较高,此时,特征多边形 对曲线形状的控制将明显减弱;
不易修改 由曲线的混合函数可以看出, 其值在开区间 ( 0 , 1 ) 内均不为零。因此, 所定义之曲线在 ( 0 < t < 1)的区间内的任 何一点均要受到全部顶点的影响,这使 得对曲线进行局部修改成为不可能。
(2) 四个顶点 P0、P1、P2、P3 可 定义一条三次 Bezier 曲线:
P(t) (1 t)3 P0 3t(1 t 2 )P1 3t 2 (1 t)P2 t 3P3
1 3 3 1 P0
t3
t2
t
1
3
6
3
0
P1
B样条基函数
B
i ,1
(t)
1,当t [ti 0, 其它
,
ti1
),
B B B
(t) t ti
i,k
tik1 ti
(t) tik ti
i,k 1
tik ti1
(t),i 0,1,, n
i1,k 1
Bi,k(t)的双下标中第二个下标k表示次数,第 一个下标i表示序号。欲确定第i个k次样条Bi,k(t), 需要用到ti、ti+1、,---,ti+k+1共k+2个点
B样条曲线的方程可表示为
n
P B P(t)
i
i,k (t ), t [tk 1,tn1 ]
i0
B样条曲线的性质
(1)局部性
由定义可知,样条基函数Bi,k只在[ti,ti+1]区间不为 0,该段曲线只与控制顶点Pi-K+1,pi-k+2, ……Pi 有关
(2)递推性
可根据递推公式由低次的B样条得出高次的B样
P ' (1) n(Pn Pn1 )
这两个式子说明:Bezier曲线在两端 点处的切矢方向与特征多边形的第一 条边和最后一条边相一致。且末端切矢 的模长分别等于首末边长的n倍,n为贝塞 尔曲线的阶次
Bezier曲线的性质:
(1)端点位置: P(0) P0 , P(1) Pn
(2)端点的切线:曲线与P0P1, Pn-1Pn相切,
(而在外形设计中,局部修改是随时要 进行的)
二、B样条曲线
为了克服 Bezier 曲线存在的问题, Gordon 等人拓展了 Bezier曲线,就 外形设计的需求出发,希望新的曲线 要: 易于进行局部修改;
更逼近特征多边形; 是低阶次曲线。 于是,用 n次B样条基函数替换了伯 恩斯坦基函数,构造了称之为B样条 曲线的新型曲线。
Bezier曲线的形状由其控制多边形的形 状作较好的刻划,在设计时,一般以 控制多边形的设计与修改为基本手段
2.二次和三次Bezier曲线
(1) 三个顶点:P0,P1,P2 可定义一条 二次(n=2) Bezier曲线: 其相应的混合函数为:
B0,2 (t )
2! t 0 0!2!
(1 t)20
P P P P P'(0) n( ),P '(1) n( )
1
0
n
n1
(3)端点的曲率:
P(t) P(t)
k(t) P(t) 3
k (t ) t 0
n 1 n
(P1
P0 ) (P2 P1 P0 3
P1 )
k (t ) t 1
n 1 n
( Pn 1
1 2
(2t 2
2t
1)
F2,2 (t)
1 t2 2
有了基函数,因此可写出二次B样条 曲线的分段表达式为:
Pi (t) F0,2 (t) Pi F1,2 (t) Pi1 F2,2 (t) Pi2
( i= 0,1,2,…,m ) m+1段
写成一般的矩阵形式为:
(4)直线再生性
若控制顶点落在一条直线上,则该段曲线为直 线
(5)连续性 (6)几何不变性。 曲线形状由控制点决定,与坐标系的选取无关
(7)磨光性 由同一组控制点定义的B样条曲线,随着k的增
加,越来越光滑。
2.B样条曲线的数学表达式
B样条曲线的数学表达式为:
n
Pi,n (t)
P(1)=Pn
P(1)
n! 1n n!1
(1 1)0
Pn
Pn
所以说,“只有第一个顶点和最后一个 顶点在曲线上”。即Bezier曲线只通过 多边折线的起点和终点。
下面我们通过对伯恩斯坦基函数求导, 来分析两端切矢的情况。
B' i,n
(t)
n[Bi1,n1 (t)
Bi,n1 (t )]
得:
n 1
P ' (t ) n Pi [Bi1,n1 (t ) Bi,n1 (t )] i0
讨论:
Bi1,n1 (t )
(i
(n 1)! t i1 1)!(n i)!
(1 t ) n1i
Bi,n1 (t )
(n 1)! t i i!(n 1 i)!
Bezier曲线 和 B样条曲线
如何表示象飞机、汽车、 轮船等具有复杂外形产品 的表面是工程中必须解
决的问题。
1、1963年美国波音(Boeing)飞机公司的佛格森 (Ferguson)最早引入参数三次曲线,将曲线曲面表 示成参数矢量函数形式,构造了组合曲线和由四角点 的位置矢量、两个方向的切矢定义的佛格森双三次曲 面片。 2、1964年,美国麻省理工学院(MIT)的孔斯Coons )用封闭曲线的四条边界定义一张曲面。同年,斯恩 伯格(Schoenberg)提出了参数样条曲线、曲面的形 式。
(8)平面Bezier曲线的保凸性: 如控制顶点为凸,则相应的Bezier曲 线也为凸
(9)变差缩减性:
平面内任一条直线与Bezier曲线的交点数,不多 于此直线与控制多边形的交点个数
该性质说明:Bezier曲线 比控制多边形波动得少, 比控制多边形光顺。
(10)拟局部性(见程序) 当移动控制顶点Pi 时,对应参数 t=i/n 的曲线上的点变动最大,远离 i/n 的曲线上的点变动越来越小
3.二次B样条曲线 在二次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)
条。
B
i ,1
(t)
1,当t [ti 0, 其它
,
ti1
),
B B B
(t) t ti
i,k
tik1 ti
(t) tik ti