Upload
erasmus-karsten
View
34
Download
3
Embed Size (px)
DESCRIPTION
计算机图形学. 武汉大学电子信息学院 王泉德 [email protected]. 第四章 曲线和曲面. 一、曲线、曲面研究的发展过程 二、曲线、曲面参数表示的基础知识 三、 B é zier 曲线和曲面 四、样条曲线. 一、曲线、曲面研究的发展过程. 曲线和曲面是计算机图形学中研究的重要内容之一,它们在实体造型技术、几何造型设计中有着广泛的应用。近二十年来,曲线、曲面的发展层出不穷。 1963 年,波音 (Boeing) 公司的佛格森 (Ferguson) 将曲线曲面表示成参数矢量形式; - PowerPoint PPT Presentation
Citation preview
计算机图形学
武汉大学电子信息学院 王泉德[email protected]
第四章 曲线和曲面一、曲线、曲面研究的发展过程二、曲线、曲面参数表示的基础知识三、 Bézier 曲线和曲面四、样条曲线
一、曲线、曲面研究的发展过程 曲线和曲面是计算机图形学中研究的重要内容之一,它们在实体造型技术、几何造型设计中有着广泛的应用。近二十年来,曲线、曲面的发展层出不穷。
1963 年,波音 (Boeing) 公司的佛格森 (Ferguson) 将曲线曲面表示成参数矢量形式;
1964 年,麻省理工学院 (MIT) 的孔斯 (Coons) 用封闭曲线的四条边界定义一块曲面;
1964 年,舍恩伯格 (Schoenberg) 提出了参数样条曲线、曲面的定义;
1971 年,法国雷诺 (Renault) 公司的贝塞尔 (Bézier) 发明了一种用控制多边形定义曲线和曲面的方法;
1972 年,德布尔 (de Boor) 给出了 B 样条的标准计算方法;
1974 年,通用汽车公司的戈登 (Gordon) 和里森费尔德(Riesenfeld) 在 B 样条理论的基础上,提出了 B 样条曲线、曲面;
1975 年,美国的佛斯普里尔 (Versprill) 提出了有理 B样条方法;
80 年代后期,美国的皮格尔 (Piegl) 和蒂勒 (Tiller) 将有理 B 样条发展成非均匀有理 B 样条 (NURBS) 方法;
二、曲线、曲面参数表示的基础知识 显示、隐式和参数表示; 参数曲线的定义及切矢量、曲率; 插值、逼近、拟合和光顺; 参数化 参数曲线的代数形式和几何形式; 调和函数; 曲线段的连续性定义; 参数曲面的基本概念
2.1 显式、隐式和参数表示 曲线和曲面均有参数表示和非参数表示之分,在非参数表示中又
分为显式表示和隐式表示。显式表示 对于一条平面曲线,非参数方程的显式表示一般为 y=f(x) 。在显式表示中,每一个 x 值只对应一个 y 值,所以用显式方程不能表示封闭或多值曲线;
隐式表示
隐式的非参数方程一般形式为: f(x,y)=0 ;如二阶隐式方程的一般式可写成:
通过定义不同的方程系数 a,b,c,d,e,f ,即可得到不同的圆锥曲线,如抛物线,双曲线和椭圆等。
0222 22 feydxcybxyax
显式表示和隐式表示存在着如下的问题:
( 1 )与坐标轴相关; ( 2 )会出现斜率为无穷大的情形 ( 如垂线 ) ; ( 3 )不便于计算机编程。
参数表示 在平面曲线的参数表示中,曲线上每一点的坐标表示成一个参数式。如用参数 t 表示,则平面曲线上每一点坐标的参数形式是:
平面曲线上一点坐标的矢量表示是:
空间曲线上一点坐标的矢量表示是:
如用 ` 表示对参数的求导,则参数曲线的切矢量或导函数是:
)(
)(
tyy
txx
)]()([)( tytxtp
)]`()`([)`( tytxtp
)]()()([)( tztytxtp
参数表示例子:
– 直线
– 单位圆
]1,0[,)()( 121 ttPPPtP
]1,0[1
2,
1
1)(
22
2
t
t
t
t
ttP
显示方式表示的圆弧
参数方式表示的圆弧xo
101 2 xxy1.0
1.0y
y
xo 1.0
1.0
2/0sincos yx
y
xo 1.0
1.0
101
2
1
122
2
tt
ty
t
tx
满足几何不变性的要求; 有更大的自由度来控制曲线、曲面的形状; 对曲线、曲面进行变换,可对其参数方程直接进行几何变
换; 便于处理斜率为无穷大的情形,不会因此而中断计算; 变量分离的特点使我们可以用数学公式处理几何分量,便
于用户把低维空间中曲线、曲面扩展到高维空间去; 规格化的参数变量 t∈[0, 1],使其相应的几何分量是有界
的,而不必用另外的参数去定义边界; 易于用矢量和矩阵表示几何分量,简化了计算;
参数表示的优点
2.2 参数曲线的定义及切矢量、曲率 一条用参数表示的三维曲线是
一个有界的点集,可写成一个带参数的、连续的、单值的数学函数,其形式为:
10),(),(),( ttzztyytxx
位置矢量:该曲线的端点在 t=0 和 t=1 处,曲线上任何一点的位置矢量可用矢量 p(t) 表示:
)](),(),([)( tztytxtp
选择弧长 c作为参数,则 是单位切矢量;
根据弧长微分公式,有
所以,单位切矢量为:
y
xo
P0
P1
QR
ΔP
ΔC
c
P
dc
dPT
c
0
lim
2222 dzdydxdc
2'2222 )(//// tPdtdzdtdydtdxdtdc
)(
)('
'
tP
tP
dc
dt
dt
dP
dc
dP
切矢量:
设以弧长 c 为参数,弧 RQ 的弯曲程度一方面与 Δ 的大小有关,一方面又与弧长 Δc 有关;
用 Δ 与 Δc比的绝对值 来度量弧 RQ 的弯曲程度,称为弧 RQ 的平均曲率;
当 Q 点趋近于 R 点时,曲线在 R 点的曲率为:
曲率半径
R
QT(c)
T(c+Δc)
Δc
Δ
T(c)
T(c+Δc)
|)`(||/|lim0
cpckc
|/| c
k
1
曲率:
2.3 插值、逼近、拟合和光顺
插值是函数逼近的重要方法。给定函数 f(x) 在区间 [a,b]
中互异的 n 个点 f(xi) i=1,2,…n ,基于这个列表数据,寻找
某一个函数 k(x)去逼近 f(x) 。若要求 k(x) 在 xi 处与 f(xi) 相
等,就称这样的函数逼近问题为插值问题,称 k(x) 为 f(x)
的插值函数, xi称为插值节点。也就是说, k(x) 在 n 个插
值节点 xi 处与 f(xi) 相等,而在别处就用 k(x) 近似的代替 f(x) 。
在曲线曲面中最常用到的是线性插值和抛物线插值。
( 1 )插值
1 ) 给定函数 f(x) 在两个不同点 x1 和 x2 的值, y1=f(x1) ,y2=f(x2) ,现要求用一线性函数: y=k(x)=ax+b ,近似替代 y=f(x) 。
x1
y
o xx2
y2y1
y=f(x)
y=k(x)
线性插值
2 )选择线性函数的系数 a,b ,使得 k(x1)=y1 , k(x2)=y2 ,称 k(x) 为 f(x) 的线性插值函数;
212
11
21
2
12
11 )1()( y
yy
yyy
xx
xxxx
xx
yyyxk
Q01 sr tP00
x
P01
P10
Q11
rPrPQ 100001 )1(
rPrPQ 100111 )1(
tPsPrPtssQtstQtsrx 0001101101 )()/(),,(
抛物线插值又称为二次插值。设已知 f(x) 在三个互异点 x1,x
2,x3 的函数值为 y1,y2,y3 ,现构造函数
使 k(x) 在节点 xi 处与 f(x) 相等。根据 x1,x2,x3 求出 a,b,c ,便构造了 k(x) 插值函数。
xx1 x3x2
y1y1y1
o
y y=f(x) y=k(x)
cbxaxxk 2)(
抛物线插值
(2) 逼近 当型值点太多时,构造插值函数使其通过所有的
型值点是相当困难的;同时,也没有必要寻找一个 插值函数通过所有的型值点;
解决的办法通常是寻找一个次数较低的函数,从某种意义上最佳的逼近这些型值点;
逼近的方法有很多,最常采用的有最小二乘法;
最小二乘法解决逼近问题
设已知型值点为 (xi,yi)(i=1,2,…n) ,现构造一个 m(m<n-1)次多项式函数 y=F(x) 逼近这些型值点;
逼近的好坏可用各点偏差的加权平方和衡量:
n
kkkk yxFd
1
2])([
令 F(x) 为一个 m次多项式, 使得偏差平方和
达到最小;
m
j
jj xaxF
0
)(
m
jk
jkj
n
kkj yxada
0
2
1
][)(
根据求极值问题的方法可知,使 达到极小的 (j=0,1…,m)必须满足下列方程组:
)( ja ja
mixyxada
ik
n
k
m
jk
jkjk
i
,.....1,0021 0
若令 ;则可得方程组:
n
k
n
ki
ikkki
ikk TxydSxd
1 1
,
m
jijij TSa
0
这里有 m+1 个方程,可以解出 m+1 个系数未知数a0,a1,…am ,代入定义即可求出多项式 F(x) 逼近已知的 n 个型值点;
(3) 光顺
光顺通俗的几何含义是曲线的拐点不能太多,曲线拐来拐去,就会不顺眼;
对于平面曲线,相对光顺的条件是:曲线具有二阶几何连续性 ;不存在多余拐点;曲线的曲率变化较小;
2G
注: 拐点:曲线由增变减或由减变增的转折点;
(4) 拟合
拟合不象插值、逼近、光顺那样有完整的数学和公式定义;
拟合是指在曲线、曲面的设计过程中,用插值、逼近的办法,使生成的曲线、曲面达到某些设计的要求,如使曲线通过型值点、控制点,使曲线“光滑”,“光顺”等;
2.4 参数化 过三点 P0、 P1和 P2构造参数表示的插值多项式可以
有无数条,这是因为对应的参数 t, 在 [0, 1] 区间中有无数种取法。即 P0、 P1和 P2可对应不同的参数值,其中每个参数值称为节点 (knot)。
对于一条插值曲线,型值点 与其参数域 内的节点之间有一种对应关系。对于一组有序的型
值点,所确定一种参数分割,称之这组型值点的参数化。
nPPP ,,, 10
],[ 0 nttt
参数化方法
均匀参数化 (等距参数化 ) 节点在参数轴上呈等距分布,
累加弦长参数化
这种参数法如实反映了型值点按弦长的分布情况,能够克服型值点按弦长分布不均匀的情况下采用均匀参数化所出现的问题。
常数 ii tt 1
niPtt
t
iii ,,2,1,
0
11
0
iii PPP 1
2.5 参数曲线的代数形式和几何形式 参数曲线的表示有代数形式和几何形式两种; 考虑一条三次参数曲线,代数形式表示如下:
zzzz
yyyy
xxxx
atatatatz
tatatataty
atatatatx
012
23
3
012
23
3
012
23
3
)(
]1,0[)(
)(
也可以将上述代数式写成矢量的形式:]1,0[)( 01
22
33 tatatatatP
在上式中, P(t) 表示曲线上任意一点的位置矢量, ai (i=0,…3)是代数系统矢量(代数系数)。
几何形式表示 对于空间曲线,可用于描述曲线的信息有:端点坐标、
切矢量、曲率等,用这些几何信息描述的参数曲线称为参数曲线的几何形式;
对三次参数曲线,用其端点位置矢量 P(0)、 P(1)和切矢量 P (0)、 P (1) 描述,简记为: P0、 P1、 P 0和 P 1 ,代入 ,得
]1,0[)()2()32()132()( '1
23'0
231
230
23 tPttPtttPttPtttP
'10103
'10
'102
'01
00
22
233
PPPPa
PPPPa
Pa
Pa
321'
1
32101
1'
0
00
32 aaaP
aaaaP
aP
aP
]1,0[)( 012
23
3 tatatatatP
现令: 132 23
0 ttF 231 32 ttF
tttG 230 2 23
1 ttG
则上式可以简化为: ]1,0[)( '
11'
001100 tPGPGPFPFtP
上式是三次Hermite曲线的几何形式, P0 、 P1 、 P0和 P1称为几何系数, 称为调和函数(或混合函数)
1010 ,,, GGFF
2.6 调和函数 构造参数曲线的不同已知条件,可以得到不同的调和
函数; 对于 Hermite 参数曲线,调和函数的作用是通过端点及
其切矢量产生整个 t 值范围内的其余各点列的坐标,并且只与参数 t 有关;
2.7 四点曲线
2.7 曲线段的连续性定义 曲线间连接的光滑度的度量有两种:
– 函数的可微性:组合参数曲线在连接处具有直到 n阶连续导矢,即 n阶连续可微,这类光滑度称之为 或 n阶参数连续性。
– 几何连续性:组合曲线在连接处满足某一组约束条件,称为具有 n阶几何连续性,简记为 ;
nC
nG
曲线光滑度的两种方法并不矛盾,参数连续性 包含在几何连续性 当中;nC nG
曲线段的连续性 设有两条曲线 P(t)和 Q(t),
若要求在结合处达到 连续或 连续,即两曲线在结合处位置连续:
若要求在结合处达到 连续,就是说两条曲线在结合处在满足 连续的条件下,并有公共的切矢量
当 a= 1时, 连续就成为 连续;
]1,0[t
0G 0C
)0()1( QP
1G0G
)0()1()0( '' PQ
1G 1C
曲线段的连续性 若P和 Q在连接处已有 连续性且曲率的大小
和方向均相等,及 ,则 P和 Q在连接处具有 连续;推广之,若 ,则 P和 Q在连接处具有 连续;
若P和 Q在连接处已有 连续性且曲率的方向相等、大小不相等,则说P和 Q在连接处具有 连续;
)0``()1``( QP 2C
0C 1C
)0()1( nn QP nC
0C 1C2G
曲线段的连续性
我们已经看到, 连续保证 连续, 连续能保证 连续,但反过来不行。也就是说 连续的条件比 连续的条件要苛刻。
1C 1G 2C2G
nC nG
2.8 参数曲面的基本概念一张定义在矩形域上的参数曲面可以表示为
可记为
]1,0[]1,0[),(,
),(
).(
),(
vu
vuzz
vuyy
vuxx
),(),,(),,(),( vuzvuyvuxvuP
参数曲面示意图
P00
P01
P11
P10
x
y
z
w=wj
Pw(ui , wj )
n(ui , wj )
Pu(ui , wj )
P(ui , wj )u=0
w=0
u=1
w=1u=ui
参数曲面的几个基本概念 1.曲面上的点:将给定的参数值 代入参数方
程,可得曲面上的点
2.曲面上一点的切向量 (切矢 ):
3. 角点:
00 ,vu
),( 00 vuP
0
0|
),(
vv
uuu
vuP
0
0|
),(
vv
uuv
vuP
)0,0(P )1,0(P )0,1(P )1,1(P
小结
二、 Bézier 曲线和曲面1 : Bézier 曲线
2 : Bézier 曲面
1.1: Bézier 曲线的定义 1.2: Bernstein 基函数性质 1.3: Bézier 曲线的性质 1.4: Bézier 曲线的矩阵表
示 1.5: Bézier 曲线的拼接
1.6: Bézier 曲线的离散生成 1.7: 反算 Bézier 曲线控制顶点
1.8: Bézier 曲线的升阶与降阶
1.9: 有理 Bézier 曲线
2.1: Bézier 曲面的定义 2.2: Bézier 曲面示例
2.3: Bézier 曲面的离散生成
1. Bézier 曲线 由于几何外形设计的要求越来越高 ,传统的曲线曲
面表示方法 , 已不能满足用户的需求。 1962 年,法国雷诺汽车公司的 P.E.Bézier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为 UNISURF 的曲线和曲面设计系统, 1972 年,该系统被投入了应用。
Bézier 方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。
1.1 Bézier 曲线的定义 定义 给定空间 n+1 个点的位置矢量 Pi ( i=0,1,2… , n ),
则下列参数曲线称为 n次 Bézier 曲线:
n
inii ttBPtP
0, 10),()(
其中, Pi构成该 Bézier 曲线 P(t) 的特征多边形, P0,P1
…..Pn称为 P(t) 的控制顶点;
Bi,n(t) 是 n次 Bernstein 基函数,定义为:
Bézier 曲线示例 Bézier 曲线 P(t) 与其控制多边形的关系可以这样认为:
控制多边形 P0P1…Pn 是 P(t) 的大致形状的勾画; P(t)
是对 P0P1…Pn 的逼近;
1.2 Bernstein 基函数性质 Bernstein 基函数
1 :正性
2 :权性
)1,0(0
1,00)(, t
ttB ni
n
i
n
i
niniinni ttttCtB
0 0, 1])1[()1()(
nitttCtB iniinni ,...1,010)1()(,
具有如下性质:
Bernstein 基函数性质 3 :端点性质
4 :对称性: 这是因为:
)()( ,, tBtB ninni
)()1()1()]1(1[)( ,)(
, tBttCttCtB niinii
nininnin
nnin
otherwise
iB ni 0
01)0(,
otherwise
niB ni 0
1)1(,
Bernstein 基函数性质 5 :递推性
即高一次的 Bernstein 基函数可由两个低一次的
Bernstein 调和函数线性组合而成。这是因为:
),,1,0()()()1()( 1,11,, nittBtBttB ninini
)()()1(
)1()1()1(
)1()()1()(
1,11,
)1()1(111
)1(1
111,
ttBtBt
tttCttCt
ttCCttCtB
nini
iniin
iniin
iniin
in
iniinni
Bernstein 基函数性质
6 :导函数
7 :最大值 在 处达到最大值。B ti n, ( )
;,,1,0)],()([)( 1,1,1, nitBtBntB ninini
ti
n
Bernstein 基函数性质
8 :升阶公式
)(1
1)()
11()(
)(1
1)(
)()1
1()()1(
1,11,,
1,1,
1,,
tBn
itB
n
itB
tBn
ittB
tBn
itBt
ninini
nini
nini
四次 Bézier 曲线的五条调和函数曲线
4,0B
4,3B4,2B4,1B
4,4B
1.3 Bézier 曲线的性质
1. 端点的位置:– 由 Bernstein 基函数的端点性质可以推得,当 t=0时, P
(0)=P0 ;当 t=1时, P(1)=Pn 。由此可见, Bézier 曲线的起点、终点与相应的特征多边形的起点、终点重合。
0P
1P 2P
3P
3.1.8 Bezier图 三次 曲线
0P
1P
2P
3P
2 :端点的切向量
所以当 t=0时, P’(0)=n(P1-P0) ,
当 t=1时, P’(1)=n(Pn-Pn-1) ,
这说明 Bézier 曲线的起点和终点处的切线方向和特征多边形的第
一条边及最后一条边的走向一致。
1
01,1,1
' )]()([)(n
ininii tBtBPntP
3 :端点的曲率 当 t=0时,
当 t=1时,
上式表明: 2 阶导矢只与相邻的 3 个顶点有关,事实上, r
阶
导矢只与( r+1 )个相邻点有关,与更远点无关。
根据曲率公式:
得端点曲率为:
)2)(1()0( 012" PPPnnP
)2)(1()1( 21"
nnn PPPnnP
3'
"'
)(
)()()(
tP
tPtPtk
3
01
1201 )()(1)0(
PP
PPPP
n
nk
3
1
121 )()(1)1(
nn
nnnn
PP
PPPP
n
nk
4 :对称性 由控制顶点 构造出的新 Bezier 曲线,与原Bezier 曲线形状相同,走向相反。因为:
这个性质说明 Bezier 曲线在起点处有什么几何性质,在终点处也有相同的性质。
),,...,1,0(,* niPP ini
n
i
n
i
n
inii
n
inininniinnii ttBPtBPtBPtBPtC
0 0 0,
0,,,
* ]1,0[),1()1()()()(*
5 :凸包性 由于
所以当 t 在 [0 , 1]区间变化时,对某一个 t 值, P(t)是特 征多边形各顶点的加权平均,权因子依次是 。在 几何图形上,意味着 Bézier 曲线 P(t)在 中各点是 控制点 Pi 的凸线性组合,即曲线落在 Pi构成的凸包之中;
n
inini tBtB
0,, 1)(,0)(
)(, tB ni
]1,0[t
6 :几何不变性 这是指某些几何特性不随坐标变换而变化的特性。 Bézier 曲线位置与形状与其特征多边形顶点 Pi (i=0,1…n) 的位置有关,它不依赖坐标系的选择,即有:
(变量 u 是 t 的置换)
ab
auBPtBP nii
n
inii ,
0, )(
事实上,
上式的力学意义是 P(t) 可作为各点 Pi 处的重量为 的力学系统的中心。中心的位置是不依赖于任何坐标系的。
n
inini tBtB
0,, 1)(,0)(
)(, tB ni
7 :保凸性 如果平面上的凸控制多边形能导致所产生的曲线为凸曲线,则称这个生成多边形的方法具有保凸性。我们把控制多边形的 P0 点和Pn 点连接起来,如果 P0P1…Pn 形成一个平面凸多边形,则 Bézi
er 曲线 P(t) 是一段凸的平面曲线。这个性质就是 Bézier 曲线的保凸性。
8: 变差缩减性 若 Bézier 曲线的特征多边形 是一个平面图形,则
平面内任意直线与 P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了 Bézier 曲线比其特征多边形的波动还小,也就是说,Bézier 曲线比特征多边形的折线更光顺。
nPPP 10
1.4 Bézier 曲线的矩阵表示 一次 Bézier 曲线 当 n=1时:
矩阵表示是:
显然,一次 Bézier 曲线是连接起点 P0 和中点 P1 的直线段。
1
0101, 10,)1()()(
iii ttPPttBPtP
,1001
111)(
1
0
t
P
PttP
一次 Bezier 曲线的两条调和函数
1,0B1,1B
Bézier 曲线的矩阵表示 二次 Bézier 曲线 当 n=2时, Bézier 曲线如下所示:
矩阵形式是:
此式说明二次 Bézier 曲线对应一条起点在 P0 ,终点在 P2 处的抛物线,即有:
2
02
210
22, 10,)1(2)1()()(
iii tPtPttPttBPtP
,10
001
022
121
1)(
2
1
0
2
t
P
P
P
tttP
20 1)0( PPPP )(,
)(2)1`(,)(2)0`( 1201 PPPPPP
二次 Bézier 曲线图示
二次 Bezier 曲线的三条调和函数
2,0B
2,1B
2,2B
Bézier 曲线的矩阵表示 三次 Bézier 曲线 当 n=3时, Bézier 曲线如下所示:
其中,令:
则三次 Bernstein 调和函数是:
10,)1(3)1(3)1(
)()(
33
22
12
03
3
03,
tPtPttPttPt
tBPtPi
ii
,)1(3)(,)1()( 23,1
33,0 tttBttB
10,)(,)1(3)( 33,3
23,2 tttBtttB
)](),(),(),([ 3,33,23,13,0 tBtBtBtBB
三次 Bézier 曲线的矩阵表示如下所示:
3
2
1
0
23
0001
0033
0363
1331
1)(
P
P
P
P
ttttP
图示 1图示 2
三次 Bezier 曲线的四条调和函数
3,0B
3,1B3,2B
3,3B
1.5 Bézier 曲线的拼接 几何设计中,一条 Bezier 曲线往往难以描述复杂的曲线形状。这
是由于增加特征多边形的顶点数,会引起 Bezier 曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。
为了研究达到不同阶几何连续的条件,现在考虑两段 Bézier 曲线P(t) 和 Q(t) 的连接。 P(t) 和 Q(t) 如下式确定:
n
inii ttBPtP
0, 10),()(
n
inii ttBQtQ
0, 10),()(
Bézier 曲线的拼接
如上图可知,达到不同阶几何连续的条件分别如下:达到 连续的充要条件为:
达到 连续的充要条件为 连续且:
0QPn
nn PP 1 10QQ与 均不为零且同向。
0G
1G 0G
P0
Pn-2 Pn-1Pn
Q0
Q1 Q2 Qn
Bézier 曲线的拼接
达到 连续的充要条件为:达到 连续,且 ,
, , , , 六点共面, 和 位于直线 的同侧,且满足:
2
1
2
10
112
112
),(
),(
nnnn
n
PP
QPPd
QPQd
2G 1G 2nP
1nP nP 0Q 1Q 2Q2nP 2Q
11QPn
2nP
1nP nP
0Q
1Q
2Q
),( 112 QPPd nn ),( 112 QPQd n
1.6 Bézier 曲线的离散生成 (de Casteljau) 算法 在计算机图形学当中经常要将一段 Bézier 曲线分成两
段,分成的两段曲线显然都是参数多项式曲线,它们也可以表示成 Bézier 曲线的形式。
Bézier 曲线的离散性: Bézier 曲线 P(t)经中点分割得到的两段曲线 和 可表示为:)
2
10()( ttP )1
2
1()( ttP
12
1),12(
2
10),2(
10)()(
0,
0,
0,
n
ini
inn
n
ini
ii
n
inii
ttBP
ttBP
ttBPtP
Bézier 曲线的离散生成 上式中, 和 由下列递推关系确定:
nrPP
rPP
ri
ri
iri
,......2,1,2/)(
0,1
11
iiP in
iP
以三次 Bézier 曲线为例, n=3时 的递推关系如下所示:
riP
0P
1P
2P
3P
11P
12P
13P
22P
23P 3
3P
Bézier 曲线的离散生成 在上述的递推关系形成的三角形当中,三条边都有意
义: 是 的控制顶点; 是 的控制顶点; 是 的控制顶点;
)10()( ttP3210 ,,, PPPP 3
32
21
10 ,,, PPPP )2/10()( ttP
31
32
33
3 ,,, PPPP )12/1()( ttP
P0
P1 P2
P3
P1[1]
P2[2]
P3[3]
P3[2]
P3[1]
P2[1]
Bézier 曲线的离散生成 5次 Bézier 曲线的分割过程:
Bézier 曲线的离散生成 Bézier 曲线的收敛性:对控制多边形的分割可以不断的继续
下去,每进行一次分割,多边形的边数就增加一倍。记第 L
次分割得到的多边形为 ,则当 时,分割产生的多边形序列 一致收敛于 。
,...)2,1(,...... 2310 lPPP ll
ll l ,...)2,1(,...... 2310 lPPP l
lll
)10()( ttP
1.7 反算 Bézier 曲线控制顶点
给定 n+1 个型值点 ,构造一条 Bézier
曲线通过这些点,则反算 Bézier 曲线控制点的问题是如何求得过 的 Bézier 曲线的控制点
),...,1,0( niQi
iQ ),...,1,0( niPi
P0 =P4
P3
P2
P1
Q0
Q1
Q2
Q3
Q4 =
反算 Bézier 曲线控制顶点 设 在曲线 上,且有
则取参数 和点 相对应,我们可以得到下列关 于 的 n+1 个方程组成的线性方程组
iQ )(tPnn
nnn
nn
n tCPttCPtCPtP ......)1()1()( 111
00
nit /
),...0( niPi
nn
nnnn
nn
nni
PQ
niniCP
niniCPniCPQ
PQ
;1,...,2,1,)/(
......)/()/1()/1( 111
00
00
由此方程组解出 ,这就是过 的 Bézier 曲线的控制顶点 . iQiP
iQ
1.8 Bézier 曲线的升阶与降阶 Bézier 曲线的升阶
所谓升阶是指保持 Bézier 曲线的形状与定向不变,增加定义它的控制顶点数目,也即是提高该 Bézier 曲线的次数。增加了控制顶点数,不仅增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的。应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,而获得同一的次数。
曲线升阶后,原控制顶点会发生变化。下面,我们来计算曲线提升一阶后的新的控制顶点。
Bézier 曲线的升阶与降阶 设给定原始控制顶点 ,定义了一条 n次 Béz
ier 曲线
增加一个顶点后,得到新的控制顶点为 如下图所示:
nPPP ,,, 10
]1,0[)()(0
,
ttBPtPn
inii
*1
*1
*0 ,,, nPPP
Bézier 曲线的升阶与降阶 升阶之后, Bézier 曲线的公式变为:
对上式左边乘以 ,得到
比较等式两边 项的系数,得到
化简得:
n
i
n
i
inii
in
inii
in ttPCttPC
0
1
0
1*1 )1()1(
))1(( tt
1
0
1*1
0
11 )1())1()1((n
i
inii
in
n
i
iniinii
in ttPCttttPC
ini tt 1)1(1
11*
ini
ini
ini CPCPCP
)1,,1,0(1
11 1
*
niP
n
iP
n
iP iii
Bézier 曲线的升阶与降阶 Bézier 曲线升阶之后,控制顶点之间的关系说明:
新的控制顶点 是以参数值 按分段线性插值从原始特征多边形得出的;
升阶后的新的特征多边形在原始特征多边形的凸包内;升阶后的新的特征多边形更靠近 Bézier 曲线 ;
*iP 1n
i
Bézier 曲线的升阶与降阶
降阶是升阶的逆过程。给定一条由原始控制顶点
定义的 n次 Bézier 曲线,要求找到一条由新控制顶点 定义的 n-1次 Bézier曲线来逼近原始曲线。
),,1,0( niPi
)1,,1,0(* niPi
降阶逼近的文献– M. A. Watkins and A. J. Worsey, Degree reduction of Bézi
er curves, Computer Aided Design, 20(7), 1988, 398-405
– 胡事民、孙家广、金通光、汪国昭, Approximate degree reduction of Bezier curves, Tsinghua Science and Technology, No.2, 1998, 997-1000.
– 雍俊海、胡事民、孙家广、谭新宇, Degree reduction of B-spline curves, Computer Aided Geometric Design, 2001, Vol. 13, NO. 2, 2001, 117-127.
9. 有理 Bézier 曲线 Bézier 曲线具有许多良好的性质,在 CAD领域中得到了
广泛的应用。但是,它不能表示圆等一类常见的曲线。因此,有必要将它的表示方式进行推广。有理 Bézier 曲线便是自然的推广(对于 Bézier 曲面, B 样条曲线曲面和 Coons 曲面,同样存在它们的有理形式)。
定义:称下列参数曲线为以 为控制多边形,以 为权的 n次有理 Bézier 曲线 :
nPPP ......10
nhhh ......10
10,)(
)()(
0,
0,
ttBh
tBPhtP n
inii
n
iniii
有理 Bézier 曲线的性质 包含 Bézier 曲线:当各 hi 的值都相等时, P(t) 的分母为常
数, P(t) 化为以 为控制多边形的 n次 Bézier 曲线;
形状灵活:有理 Bézier 曲线,在控制多边形确定之后,还可以通过调整权值的数值,改变曲线的形状;
良好的几何性质:有理 Bézier 曲线和 Bézier 曲线一样,具有端点性质,凸包性,保凸性,变差缩减性,几何不变性和良好的交互能力等性质;
易拼接:有理 Bézier 曲线的拼接可以通过调整权值来实现,这使得有理 Bézier 曲线达到 C2 连续的拼接比 Bézier 曲线更加容易;
nPPP ......10
2. Bézier 曲面
基于 Bezier 曲线的讨论,我们可以方便地可以给出 Bezier 曲面的定义和性质, Bezier 曲线的一些算法也可以很容易扩展到 Bezier 曲面的情况。
2.1 Bézier 曲面的定义在空间中给定 个点 ,则称下列张量积形式的参数曲面为 次的 Bézier 曲面:
一般称 为 的控制顶点,把由两组多边形 和组成的网成为 的控制网格。
同 Bézier 曲线类似,也可以认为控制网格是对 的大致形状的勾画, 是对控制网格的逼近。
)1()1( mn jiP ,
mn
n
i
m
jjimjni vuPvBuBvuP
0 0,,, 1,0)()(),(
jiP , ),( vuP),....1,0(...... ,1,0, niPPP miii ),....1,0(...... ,,1,0 mjPPP jnjj
),( vuP
),( vuP),( vuP
Bézier曲面的矩阵表示形式
)(
)(
)(
)(,),(),(),(
,
,1
,0
10
11110
00100
,,1,0
vB
vB
vB
PPP
PPP
PPP
uBuBuBvuP
mn
m
m
nmnn
m
m
nmnn
在一般实际应用中, m,n 不大于 4 。
2.2 Bézier曲面的性质
除变差缩减性质外, Bezier 曲线的其它性质可推广到 Be
zier 曲面: ( 1 ) Bezier 曲面特征网格的四个角点正好是 Bezier
曲面的四个角点,即 ( 2 ) Bezier 曲面特征网格最外一圈顶点定义 Bezier
曲面的四条边界; Bezier 曲面边界的跨界切矢只与定义该边界的顶点及相邻一排顶点有关;
00)0,0( PP 0)0,1( mPP nPP 0)1,0( mnPP )1,1(
Bézier曲面的性质
( 3 )几何不变性。 ( 4 )对称性。 ( 5 )凸包性。
10P20P
01P
11P21P
31P
02P 22P12P32P
13P23P
3.1.15 Bezier图 双三次 曲面 及边界信息
00)0,0( PP 30)0,1( PP
03)1,0( PP 33)1,1( PP
)0,(uP
)1,(uP
),0( vP
),1( vP
Bézier 曲面示例
Bézier 曲面示例 3
2.3 Bézier 曲面的拼接
Bezier 曲面片的拼接
设两张m×n次 Bezier 曲面片
分别由控制顶点 和 定义。
)()(),(
)()(),(
,0 0
,
0 0,,
vBuBQvuQ
vBuBPvuP
nj
m
i
n
jmiij
m
i
n
jnjmiij
]1,0[, vu
ijP ijQ
),( vuP
),( vuQ
)0,0(P
)1,0(P
)0,1(Q
)1,1(Q
)0,0()0,1( QP
)1,0()1,1( QP
uv
3.1.16 Bezier图 曲面片的拼接
如果要求两曲面片达到 连续,则它们有公共的边界,即:
于是有 如果又要求沿该公共边界达到 连续,则两曲面片在该边界上有公共的切平面,因此曲面的法向应当是跨界连续的,即:
0G
),0(),1( vQvP
),,1,0(,0 miQP ini 1G
),1(),1()(),0(),0( vPvPvvQvQ vuvu
),( vuP
),( vuQ
)0,0(P
)1,0(P
)0,1(Q
)1,1(Q
)0,0()0,1( QP
)1,0()1,1( QP
uv
3.1.16 Bezier图 曲面片的拼接
2.4 Bézier 曲面的离散生成
Bézier 曲面的离散生成同 Bézier 曲线的生成类似,也是对控制多面体进行不断的分割。这个分割过程一直进行下去即得到一系列越来越密的控制多面体。这些控制多面体收敛于原来的Bézier 曲面。
控制多面体的分割过程:第一次分割
控制多面体的分割过程:第二、三次分割
控制多面体的分割过程:第四、五次分割
控制多面体的分割过程:第六次分割
三、样条曲线
2. B 样条曲线 2.1: B 样条曲线的定义 2.2: B 样条曲线基函数性质 2.3: B 样条曲线的性质 2.4: 二次 B 样条曲线
2.5: 三次 B 样条曲线 2.6: 二、三次 B 样条曲线的
应用 2.7: de Boor 算法 2.8: 非均匀 B 样条曲线
1. 样条函数的概念 1.1: 一般样条函数的定义 1.2: 三次样条函数
1.3: 二次样条函数
1. 样条函数概念 样条函数的概念是美国数学家 I.J.Schoenberg 在1946 年首先提出的,他定义了一种 B 样条函数。尽管有10 年的时间未受到重视,但从 60 年代开始,随着电子计算机技术的飞速发展和数据拟合以及函数逼近在生产实验中的广泛应用,样条函数的理论和应用已迅速发展成了一门成熟的学科。由于样条 (Spline) 函数发展的开始,就具有广泛而又深刻的实用背景,因此,样条函数及其参数表示形式的曲线和曲面方法是自由曲线与曲面设计的基础。
1.1 一般样条函数的定义 给定一组平面上顶点 (xi,yi) (i=0 , 1 ,…, n) ,并设在区间 [a,b] 上的分割 Δ : a=x0<x1<…<xn-1<xn=b,那么如果在〔 a,
b〕上的函数 S(x) 满足下面两个条件,则称其为 K 阶连续样条函数: (1) 在每个小区间〔 xi-1,xi〕 (i=1 , 2 ,…, n) 内, S(x)
是具有 K 阶或 K 阶以上连续函数。 (2)在 xi(i=1, 2,…, n-1)处有: 即 S(x)在拼接点处 xi(i= 1, 2,…, n-1) 也具有 K阶连续, 这也就是 S(x)在整个区间 [a,b] 上具有 K阶连续。 若 S(x)满足 ,则称 S(x)为插值样条函数。
,,...,1,0),0()0( )()( KkxSxS ik
ik
nixSy ii ...1,0)(
1.2 三次样条函数 假设在区间〔 a , b〕上给定一个分割 Δ : a=x0<x1<…<xn-1<xn=b,
如果在〔 a,b〕上的一个函数 S(x) 满足下列条件,则称其为插值三次样条函数 :
(1) 在每一小区间〔 xi-1,xi〕 (i=1 , 2 ,…, n) 内 S(x) 分别 是三次多项式函数; (2) 在节点 xi(i= 1 , 2 ,…, n-1) 处成立 :
S x S x kki
ki
( ) ( )( ) ( ), , , , 0 0 0 1 2
即小区间上的三次多项式函数,在拼接点处 xi 具有二阶连续拼接。 (3) 满足插值条件 yi =S(xi),i=0 , 1 ,…, n.
1.3 二次样条函数设定区间〔 a,b〕上一个分割 Δ: a=x0<x1<…<xn-1<xn=b,
在〔 a,b〕上的一个函数 S(x) 如果满足下列条件,则称其为插值二次样条函数,: (1) 在每个小区间 内, S(x) 是二次
多项式函数,这里,
nixxii
,...,1,0,2
1
2
1
xx x
i n x x x xi
i i
nn
1
2
11
2
0 1
22
1 2( , ,..., ), , ,称为半节点;
(2) 在半节点 (i=1 , 2 ,…, n) 处成立
,1,0),0()0(2
1)(
2
1)(
kxSxS
i
k
i
k2
1i
x
(3) 满足插值条件 .,...,1,0),( nixSy ii
2. B 样条曲线 以 Bernstein 基函数构造的 Bezier 曲线或曲面有许多优越性,但有两点不足:其一是 Bezier 曲线或曲面不能作局部修改,控制多边形的一个顶点发生了变化,整条 B
ezier 曲线的形状便发生变化;其二是 Bezier 曲线或曲面的拼接比较复杂。因此, 1972 年, Gordon 、 Riesenfe
ld 等人发展了 1946 年 Schoenberg 提出的样条方法 , 提出了 B 样条方法,在保留 Bezier 方法全部优点的同时,克服了 Bezier 方法的弱点。
2.1 B 样条曲线的定义
给定 m+n+1 个平面或空间顶点 Pi (i=0 , 1 ,…, m+n) ,称 n次参数曲线段 :
n
inikink ttGPtP
0,, ]1,0[),()(
为第 k 段 n次 B 样条曲线段 (k=0 , 1 ,…, m) ,这些曲线段的全体称为 n次 B 样条曲线,其顶点 Pi(i=0 , 1 ,…, n+m)
所组成的多边形称为 B 样条曲线的特征多边形。 其中,基函数 定义为:
nit
jintCn
tGin
j
njn
jni
,...,1,0],1,0[
)()1(!
1)(
01,
)(, tG ni
B 样条曲线示例
二次 B 样条曲线示例
B 样条曲线示例
三次 B 样条曲线示例
B 样条曲线示例
四次 B 样条曲线示例 五次 B 样条曲线示例
B 样条曲线的定义(普遍形式的定义)B 样条曲线的方程定义为:
是控制多边形的顶点; (i=0,1,..,n) 称为 k 阶( k-1次 )B 样条基函
数 B 样条基函数是一个称为节点矢量的非递减的参数 t
的序列所决定的 k 阶分段多项式,也即为 k 阶( k-1
次 ) 多项式样条。
n
ikii tNPtP
0, )()(
),,1,0( niPi
)(, tN ki
B 样条曲线的基函数
de Boor-Cox递推定义
并约定
Otherwise
txttN ii
i 0
1)( 1
1,
)()()( 1,11
1,1
, tNtt
tttN
tt
tttN ki
iki
kiki
iki
iki
00
0
knknnnkk tttttttt ,,,,,,,,,, 11110
876543210 ,,,,,,,, ttttttttt
•以 k= 4 , n=4 为例
B 样条曲线类型的划分均匀 B样条曲线。 节点矢量中节点为沿参数轴均匀或等距分布,所有节点区间长度为常数。这样的节点矢量定义了均匀的 B样条基。
B 样条曲线类型的划分准均匀 B样条曲线。 与均匀 B样条曲线的差别在于两端节点具有重复度 k,这样的节
点矢量定义了准均匀的 B样条基。均匀 B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的 B样条曲线解决了这个问题。
B 样条曲线类型的划分非均匀 B样条曲线。 任意分布的节点矢量 ,只要在
数学上成立(节点序列非递减,两端节点重复度≤k ,内节点重复度≤ k-1 )都可选取。这样的节点矢量定义了非均匀 B 样条基。
],,,,[ 210 knttttT
2.2 B 样条曲线基函数的性质 B 样条函数基函数为:
nit
jintCn
tGin
j
njn
jni
,...,1,0],1,0[
)()1(!
1)(
01,
具有如下性质: 1 )有界正性:当 时, 2 )权性: 即 3 )对称性:当 时, 4 )递推性:
]1,0[t ),...,1,0(,1)(0 , nitG ni
]1,0[,1)(0
,
ttGn
ini
]1,0[t ),...,1,0(),1()( ,, nitGtG ninni
1;,...,1,0],1,0[
)()(1
)()1(1
)( 1,11,,
nnit
tGtinn
tGtin
tG ninini
B 样条曲线的基函数
一次 B 样条曲线的基函数
二次 B 样条曲线的基函数
B 样条曲线的基函数
三次 B 样条曲线的基函数
四次 B 样条曲线的基函数
2.3 B 样条曲线的性质 1. 局部性 根据定义式可知,第 k 段 n次 B 样条曲线只与 n+1 个 顶点 Pi(i=0 , 1 ,…, n) 有关,因此,当改动其中一个 控制顶点时,只会对相邻的 n+1 段产生影响,不会对 整条曲线 (当 m>> n)产生影响。这就为设计曲线时修改某一局部的形状带来了很大的方便。
如左图所示,六个控制顶点控制的三次 B 样条曲线由三段 B 样条曲线段组成。其中,每一条曲线段由四个顶点控制。
B 样条曲线的性质 2. 几何不变性
由于定义式所表示的 B 样条曲线是参数形式,因此,和 Bezier 曲线一样, B 样条曲线的形状和位置与坐标系选择无关。
3. 连续性 当给定的 m+n+1 个控制顶点 Pi (i=0 , 1 ,…, m+n)
互不相重,则所控制的整条 B 样条曲线具有 n-1 阶几何连续 (G n-1) 。当给定的控制顶点相邻最大重顶点数为 h (即 h 个控制顶点重合在一起),则整条 B 样条曲线具有 n-h-1 阶几何连续 (G n-h-1) 。
B 样条曲线的性质 4. 对称性 根据 B 样条曲线的基函数的对称性可推导
n
ininki
n
inikink
ttGP
tGPtP
0,
0,,
])1,0[()(
)1()1(
它表明了 B 样条曲线段的起点和终点的几何性质完全相同。
B 样条曲线的性质 5.递推性 n次 B 样条曲线段的递推曲线表示形式:
nllnit
tilnln
t
tiln
t
mk
nltPttPt
lPtP
li
li
ilkli
ilkli
kiilk
,...,2,1;,...,1,0];1,0[
);(1
1)(
);1(1
1)(
,...,1,0
,,...,2,1),()()()(
0)(
,
,
11,,1,,
,
其中:
B 样条曲线的性质 6. 保凸性 B 样条曲线和 Bezier 曲线一样,也具有保凸性。
即当所有的控制顶点形成一个平面凸的闭多边形时, Pk,n(t) 是一条平面凸曲线。
B 样条曲线的性质 7. 凸包性当 t∈〔 0 , 1〕时,有 0≤Gi,n(t)≤1 (i=0 , 1 ,…, n)
和 ,因此,根据凸包定义可知,对任何t∈〔 0 , 1〕, Pk,n(t) 必定在控制顶点构成的凸包之中。
n
ini tG
0, 1)(
如左图所示,六个控制顶点控制的三次 B 样条曲线由三段 B 样条曲线段组成。其中,每一条曲线段由四个顶点控制且包含在四个顶点构成的凸包之中。
B 样条曲线的性质 8.变差缩减性任意一条直线和B样条曲线相交次数小于或等于该直线和特征多边形相交次数
2.4 二次 B 样条曲线 取 n=2 ,则有二次 B样条曲线的基函数如下 :
]1,0[,
2
1)(
)122(2
1)(
)1(2
1)(
22,2
22,1
21,0
t
ttG
tttG
ttG
二次 B 样条曲线段 是一段抛物线。
2
02,2,0 )()(
iii tGPtP
二次 B 样条曲线 二次 B 样条曲线的矩阵
表示为:
]1,0[
121
022
011
]1[2
1)(
2
1
0
22,0
t
P
P
P
tttP
它具有如下性质:1. 端点位置:
)(2
1)1(),(
2
1)0( 122,0102,0 PPPPPP
2. 端点切矢: )()1('),()0(' 122,0012,0 PPPPPP
二次 B 样条曲线 如左图所示,六个控制顶点控制的二次 B 样条曲线由四段 B 样条曲线段组成。其中,每一条曲线段由相邻的三个顶点控制。曲线段的起点和终点同控制顶点的连接边相切于连接边的中点位置。
二次 B 样条曲线 3. 当 P0 , P1 , P2 三顶点共线时, P0,2(t)(t∈〔 0 ,
1〕 )
即蜕化为一段直线。 4. 当给定一组顶点 P0 , P1 ,…, Pm(m> 2) ,若存在 Pi=Pi+1 (0 < i≤m-2) ,则二次 B 样条曲线经过顶点 Pi , 且在此处是尖点。
三点共线的情况 尖点的情况
2.5 三次 B 样条曲线取 n=3 ,则有三次 B样条曲线的基函数如下:
G t t t t
G t t t
G t t t t
G t t
t
0 33 2
1 33 2
2 33 2
3 33
1
63 3 1
1
63 6 4
1
63 3 3 1
1
6
0 1
,
,
,
,
( ) ( ),
( ) ( ),
( ) ( ),
( ) ,
,
三次 B 样条曲线段 为:
1,0,
1331
0363
0303
0141
16
1)(
3
2
1
0
323,0
t
P
P
P
P
ttttP
)(3,0 tP
三次 B 样条曲线 性质 1 :端点位置
P P P PP P
P
P P P PP P
P
0 3 0 1 20 2
1
0 3 1 2 31 3
2
01
64
1
3 2
2
3
11
64
1
3 2
2
3
,
,
( ) ( ) ,
( ) ( ) ,
性质 2 :端点切矢及二阶导数
,2)1("
,2)0("
),(2
1)1('
),(2
1)0('
1233,0
0123,0
133,0
023,0
PPPP
PPPP
PPP
PPP
三次 B 样条曲线
P0 P3
P2P1
三次 B 样条曲线的顶点位置和顶点切矢
2.6 二、三次 B 样条曲线的应用 在曲线拟合设计中, B样条曲线主要可用于实验数据平滑
和要求局部交互式修改的自由曲线设计。当然二、三次 B样条
曲线及其变型,几乎可以应用到所有的要求具有一次或二次
几何连续的曲线造型场合。
(1)要求过插值端点;
(2)封闭的二、三次 B样条曲线;
(3)插值二、三次 B样条曲线;
2.7 de Boor 算法 欲计算 B 样条曲线上对应一点 P(t) ,可以利用 B 样条曲
线方程,但是采用 de Boor 算法,计算更加快捷。– de Boor 算法的导出
],[)(
)()(
)()()(
11,1
11
1
1
11,1
11,
1
1,
0,
jjki
j
kjii
iki
kii
iki
i
j
kjiki
iki
kiki
iki
ii
j
kjikii
n
ikii
ttttGPtt
ttP
tt
tt
tGtt
tttG
tt
ttP
tGPtGPtP
– 现令
– 则
–这就是著名的 de Boor 算法
jrkjrkjikr
tPtt
tttP
tt
tt
jkjkjirP
tP ri
irki
rkiri
irki
i
i
ri
,,2,1;1,,2,1
),()(
,,2,1,0,
)( ]1[1
]1[][
j
kjikii
j
kjikii tGtPtGPtP
21,
]1[
1, )()()()(
de Boor 算法的递推关系如图
n
kjjjj
kjkjkj
kjkj
kj
P
PPPP
PPP
PP
P
P
P
]1[]2[]1[
]2[3
]1[33
]1[22
1
2
1
De Boor 算法的几何意义– de Boor 算法有着直观的几何意义 割角,
即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后
得到 P(t) 上的点
][1
][ ri
ri PP
]1[ riP
jkjkj PPP 21
)(]1[ tP rj
1 kjP
2 kjP
jP
]1[2 kjP
]1[3 kjP
]1[jP
]2[3 kjP ]2[
jP
]3[4 kjP
]1[ kjP
B样条曲线的deBoor算法的几何意义
2.8 非均匀 B 样条曲线 前面介绍的 B 样条曲线实际上称为均匀 ( 或等距节
点 )B 样条曲线。 B 样条曲线是由 B 样条函数演化而来的。关于 B 样条函数的理论十分的丰富,现在简单的给出 B 样条基函数的递推公式:
给定参数 t 轴上的一个分割, 由下列递推关系所定义的 称为 T 的 k 阶 ( 或 k-1次 )B 样条基函数:
,...)1,0,( 1
itttT iiii
)(, tB ki
otherwise
ttttB ii
i ,0
,1)( 1
1,
)()()( 1,11
1,1
, tBtt
tttB
tt
tttB ki
iki
kiki
iki
iki
t
非均匀 B 样条曲线 设 为给定空间的 n 个点 ,称下列参
数曲线
为 k 阶 (k-1次 ) 的 B 样条曲线。称折线 为 P(t) 的控制多边形。
非均匀 B 样条曲线同样具有局部性,几何不变性,连续性,对称性,递推性,凸包性和变差缩减性等性质。
)(,...2,1 knPPP n
n
ikkkii ttttBPtP
11, ),()(
nPPP ,...2,1