155
计计计计计计 武武武武武武武武武武 武武武 [email protected]

计算机图形学

Embed Size (px)

DESCRIPTION

计算机图形学. 武汉大学电子信息学院 王泉德 [email protected]. 第四章 曲线和曲面. 一、曲线、曲面研究的发展过程 二、曲线、曲面参数表示的基础知识 三、 B é zier 曲线和曲面 四、样条曲线. 一、曲线、曲面研究的发展过程. 曲线和曲面是计算机图形学中研究的重要内容之一,它们在实体造型技术、几何造型设计中有着广泛的应用。近二十年来,曲线、曲面的发展层出不穷。 1963 年,波音 (Boeing) 公司的佛格森 (Ferguson) 将曲线曲面表示成参数矢量形式; - PowerPoint PPT Presentation

Citation preview

Page 1: 计算机图形学

计算机图形学

武汉大学电子信息学院 王泉德[email protected]

Page 2: 计算机图形学

第四章 曲线和曲面一、曲线、曲面研究的发展过程二、曲线、曲面参数表示的基础知识三、 Bézier 曲线和曲面四、样条曲线

Page 3: 计算机图形学

一、曲线、曲面研究的发展过程 曲线和曲面是计算机图形学中研究的重要内容之一,它们在实体造型技术、几何造型设计中有着广泛的应用。近二十年来,曲线、曲面的发展层出不穷。

1963 年,波音 (Boeing) 公司的佛格森 (Ferguson) 将曲线曲面表示成参数矢量形式;

1964 年,麻省理工学院 (MIT) 的孔斯 (Coons) 用封闭曲线的四条边界定义一块曲面;

1964 年,舍恩伯格 (Schoenberg) 提出了参数样条曲线、曲面的定义;

Page 4: 计算机图形学

1971 年,法国雷诺 (Renault) 公司的贝塞尔 (Bézier) 发明了一种用控制多边形定义曲线和曲面的方法;

1972 年,德布尔 (de Boor) 给出了 B 样条的标准计算方法;

1974 年,通用汽车公司的戈登 (Gordon) 和里森费尔德(Riesenfeld) 在 B 样条理论的基础上,提出了 B 样条曲线、曲面;

1975 年,美国的佛斯普里尔 (Versprill) 提出了有理 B样条方法;

80 年代后期,美国的皮格尔 (Piegl) 和蒂勒 (Tiller) 将有理 B 样条发展成非均匀有理 B 样条 (NURBS) 方法;

Page 5: 计算机图形学

二、曲线、曲面参数表示的基础知识 显示、隐式和参数表示; 参数曲线的定义及切矢量、曲率; 插值、逼近、拟合和光顺; 参数化 参数曲线的代数形式和几何形式; 调和函数; 曲线段的连续性定义; 参数曲面的基本概念

Page 6: 计算机图形学

2.1 显式、隐式和参数表示 曲线和曲面均有参数表示和非参数表示之分,在非参数表示中又

分为显式表示和隐式表示。显式表示 对于一条平面曲线,非参数方程的显式表示一般为 y=f(x) 。在显式表示中,每一个 x 值只对应一个 y 值,所以用显式方程不能表示封闭或多值曲线;

隐式表示

隐式的非参数方程一般形式为: f(x,y)=0 ;如二阶隐式方程的一般式可写成:

通过定义不同的方程系数 a,b,c,d,e,f ,即可得到不同的圆锥曲线,如抛物线,双曲线和椭圆等。

0222 22 feydxcybxyax

Page 7: 计算机图形学

显式表示和隐式表示存在着如下的问题:

( 1 )与坐标轴相关; ( 2 )会出现斜率为无穷大的情形 ( 如垂线 ) ; ( 3 )不便于计算机编程。

Page 8: 计算机图形学

参数表示 在平面曲线的参数表示中,曲线上每一点的坐标表示成一个参数式。如用参数 t 表示,则平面曲线上每一点坐标的参数形式是:

平面曲线上一点坐标的矢量表示是:

空间曲线上一点坐标的矢量表示是:

如用 ` 表示对参数的求导,则参数曲线的切矢量或导函数是:

)(

)(

tyy

txx

)]()([)( tytxtp

)]`()`([)`( tytxtp

)]()()([)( tztytxtp

Page 9: 计算机图形学

参数表示例子:

– 直线

– 单位圆

]1,0[,)()( 121 ttPPPtP

]1,0[1

2,

1

1)(

22

2

t

t

t

t

ttP

Page 10: 计算机图形学

显示方式表示的圆弧

参数方式表示的圆弧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

Page 11: 计算机图形学

满足几何不变性的要求; 有更大的自由度来控制曲线、曲面的形状; 对曲线、曲面进行变换,可对其参数方程直接进行几何变

换; 便于处理斜率为无穷大的情形,不会因此而中断计算; 变量分离的特点使我们可以用数学公式处理几何分量,便

于用户把低维空间中曲线、曲面扩展到高维空间去; 规格化的参数变量 t∈[0, 1],使其相应的几何分量是有界

的,而不必用另外的参数去定义边界; 易于用矢量和矩阵表示几何分量,简化了计算;

参数表示的优点

Page 12: 计算机图形学

2.2 参数曲线的定义及切矢量、曲率 一条用参数表示的三维曲线是

一个有界的点集,可写成一个带参数的、连续的、单值的数学函数,其形式为:

10),(),(),( ttzztyytxx

位置矢量:该曲线的端点在 t=0 和 t=1 处,曲线上任何一点的位置矢量可用矢量 p(t) 表示:

)](),(),([)( tztytxtp

Page 13: 计算机图形学

选择弧长 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

切矢量:

Page 14: 计算机图形学

设以弧长 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

曲率:

Page 15: 计算机图形学

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 )插值

Page 16: 计算机图形学

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)

线性插值

Page 17: 计算机图形学

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 )()/(),,(

Page 18: 计算机图形学

抛物线插值又称为二次插值。设已知 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)(

抛物线插值

Page 19: 计算机图形学

(2) 逼近 当型值点太多时,构造插值函数使其通过所有的

型值点是相当困难的;同时,也没有必要寻找一个 插值函数通过所有的型值点;

解决的办法通常是寻找一个次数较低的函数,从某种意义上最佳的逼近这些型值点;

逼近的方法有很多,最常采用的有最小二乘法;

Page 20: 计算机图形学

最小二乘法解决逼近问题

设已知型值点为 (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

][)(

Page 21: 计算机图形学

根据求极值问题的方法可知,使 达到极小的 (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 个型值点;

Page 22: 计算机图形学

(3) 光顺

光顺通俗的几何含义是曲线的拐点不能太多,曲线拐来拐去,就会不顺眼;

对于平面曲线,相对光顺的条件是:曲线具有二阶几何连续性 ;不存在多余拐点;曲线的曲率变化较小;

2G

注: 拐点:曲线由增变减或由减变增的转折点;

Page 23: 计算机图形学

(4) 拟合

拟合不象插值、逼近、光顺那样有完整的数学和公式定义;

拟合是指在曲线、曲面的设计过程中,用插值、逼近的办法,使生成的曲线、曲面达到某些设计的要求,如使曲线通过型值点、控制点,使曲线“光滑”,“光顺”等;

Page 24: 计算机图形学

2.4 参数化 过三点 P0、 P1和 P2构造参数表示的插值多项式可以

有无数条,这是因为对应的参数 t, 在 [0, 1] 区间中有无数种取法。即 P0、 P1和 P2可对应不同的参数值,其中每个参数值称为节点 (knot)。

对于一条插值曲线,型值点 与其参数域 内的节点之间有一种对应关系。对于一组有序的型

值点,所确定一种参数分割,称之这组型值点的参数化。

nPPP ,,, 10

],[ 0 nttt

Page 25: 计算机图形学

参数化方法

均匀参数化 (等距参数化 ) 节点在参数轴上呈等距分布,

累加弦长参数化

这种参数法如实反映了型值点按弦长的分布情况,能够克服型值点按弦长分布不均匀的情况下采用均匀参数化所出现的问题。

常数 ii tt 1

niPtt

t

iii ,,2,1,

0

11

0

iii PPP 1

Page 26: 计算机图形学

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)是代数系统矢量(代数系数)。

Page 27: 计算机图形学

几何形式表示 对于空间曲线,可用于描述曲线的信息有:端点坐标、

切矢量、曲率等,用这些几何信息描述的参数曲线称为参数曲线的几何形式;

对三次参数曲线,用其端点位置矢量 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

Page 28: 计算机图形学

现令: 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

Page 29: 计算机图形学
Page 30: 计算机图形学

2.6 调和函数 构造参数曲线的不同已知条件,可以得到不同的调和

函数; 对于 Hermite 参数曲线,调和函数的作用是通过端点及

其切矢量产生整个 t 值范围内的其余各点列的坐标,并且只与参数 t 有关;

Page 31: 计算机图形学
Page 32: 计算机图形学

2.7 四点曲线

Page 33: 计算机图形学
Page 34: 计算机图形学

2.7 曲线段的连续性定义 曲线间连接的光滑度的度量有两种:

– 函数的可微性:组合参数曲线在连接处具有直到 n阶连续导矢,即 n阶连续可微,这类光滑度称之为 或 n阶参数连续性。

– 几何连续性:组合曲线在连接处满足某一组约束条件,称为具有 n阶几何连续性,简记为 ;

nC

nG

曲线光滑度的两种方法并不矛盾,参数连续性 包含在几何连续性 当中;nC nG

Page 35: 计算机图形学

曲线段的连续性 设有两条曲线 P(t)和 Q(t),

若要求在结合处达到 连续或 连续,即两曲线在结合处位置连续:

若要求在结合处达到 连续,就是说两条曲线在结合处在满足 连续的条件下,并有公共的切矢量

当 a= 1时, 连续就成为 连续;

]1,0[t

0G 0C

)0()1( QP

1G0G

)0()1()0( '' PQ

1G 1C

Page 36: 计算机图形学

曲线段的连续性 若P和 Q在连接处已有 连续性且曲率的大小

和方向均相等,及 ,则 P和 Q在连接处具有 连续;推广之,若 ,则 P和 Q在连接处具有 连续;

若P和 Q在连接处已有 连续性且曲率的方向相等、大小不相等,则说P和 Q在连接处具有 连续;

)0``()1``( QP 2C

0C 1C

)0()1( nn QP nC

0C 1C2G

Page 37: 计算机图形学

曲线段的连续性

我们已经看到, 连续保证 连续, 连续能保证 连续,但反过来不行。也就是说 连续的条件比 连续的条件要苛刻。

1C 1G 2C2G

nC nG

Page 38: 计算机图形学

2.8 参数曲面的基本概念一张定义在矩形域上的参数曲面可以表示为

可记为

]1,0[]1,0[),(,

),(

).(

),(

vu

vuzz

vuyy

vuxx

),(),,(),,(),( vuzvuyvuxvuP

Page 39: 计算机图形学

参数曲面示意图

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

Page 40: 计算机图形学

参数曲面的几个基本概念 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

Page 41: 计算机图形学

小结

Page 42: 计算机图形学

二、 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 曲面的离散生成

Page 43: 计算机图形学

1. Bézier 曲线 由于几何外形设计的要求越来越高 ,传统的曲线曲

面表示方法 , 已不能满足用户的需求。 1962 年,法国雷诺汽车公司的 P.E.Bézier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为 UNISURF 的曲线和曲面设计系统, 1972 年,该系统被投入了应用。

Page 44: 计算机图形学

Bézier 方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。

Page 45: 计算机图形学
Page 46: 计算机图形学
Page 47: 计算机图形学
Page 48: 计算机图形学
Page 49: 计算机图形学
Page 50: 计算机图形学
Page 51: 计算机图形学
Page 52: 计算机图形学
Page 53: 计算机图形学
Page 54: 计算机图形学
Page 55: 计算机图形学
Page 56: 计算机图形学
Page 57: 计算机图形学

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) 的控制顶点;

Page 58: 计算机图形学

Bi,n(t) 是 n次 Bernstein 基函数,定义为:

 

 

Page 59: 计算机图形学

Bézier 曲线示例 Bézier 曲线 P(t) 与其控制多边形的关系可以这样认为:

控制多边形 P0P1…Pn 是 P(t) 的大致形状的勾画; P(t)

是对 P0P1…Pn 的逼近;

Page 60: 计算机图形学
Page 61: 计算机图形学

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()(,

具有如下性质:

Page 62: 计算机图形学

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(,

Page 63: 计算机图形学

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

Page 64: 计算机图形学

Bernstein 基函数性质

6 :导函数

7 :最大值 在 处达到最大值。B ti n, ( )

;,,1,0)],()([)( 1,1,1, nitBtBntB ninini

ti

n

Page 65: 计算机图形学

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

Page 66: 计算机图形学

四次 Bézier 曲线的五条调和函数曲线

4,0B

4,3B4,2B4,1B

4,4B

Page 67: 计算机图形学

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

Page 68: 计算机图形学

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

Page 69: 计算机图形学

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

Page 70: 计算机图形学

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()()()(*

Page 71: 计算机图形学

5 :凸包性 由于

所以当 t 在 [0 , 1]区间变化时,对某一个 t 值, P(t)是特 征多边形各顶点的加权平均,权因子依次是 。在 几何图形上,意味着 Bézier 曲线 P(t)在 中各点是 控制点 Pi 的凸线性组合,即曲线落在 Pi构成的凸包之中;

n

inini tBtB

0,, 1)(,0)(

)(, tB ni

]1,0[t

Page 72: 计算机图形学

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

Page 73: 计算机图形学

7 :保凸性 如果平面上的凸控制多边形能导致所产生的曲线为凸曲线,则称这个生成多边形的方法具有保凸性。我们把控制多边形的 P0 点和Pn 点连接起来,如果 P0P1…Pn 形成一个平面凸多边形,则 Bézi

er 曲线 P(t) 是一段凸的平面曲线。这个性质就是 Bézier 曲线的保凸性。

Page 74: 计算机图形学

8: 变差缩减性 若 Bézier 曲线的特征多边形 是一个平面图形,则

平面内任意直线与 P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了 Bézier 曲线比其特征多边形的波动还小,也就是说,Bézier 曲线比特征多边形的折线更光顺。

nPPP 10

Page 75: 计算机图形学

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

Page 76: 计算机图形学

一次 Bezier 曲线的两条调和函数

1,0B1,1B

Page 77: 计算机图形学

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

Page 78: 计算机图形学

二次 Bézier 曲线图示

Page 79: 计算机图形学

二次 Bezier 曲线的三条调和函数

2,0B

2,1B

2,2B

Page 80: 计算机图形学

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

Page 81: 计算机图形学

三次 Bézier 曲线的矩阵表示如下所示:

3

2

1

0

23

0001

0033

0363

1331

1)(

P

P

P

P

ttttP

图示 1图示 2

Page 82: 计算机图形学

三次 Bezier 曲线的四条调和函数

3,0B

3,1B3,2B

3,3B

Page 83: 计算机图形学

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),()(

Page 84: 计算机图形学

Bézier 曲线的拼接

如上图可知,达到不同阶几何连续的条件分别如下:达到 连续的充要条件为:

达到 连续的充要条件为 连续且:

0QPn

nn PP 1 10QQ与 均不为零且同向。

0G

1G 0G

P0

Pn-2 Pn-1Pn

Q0

Q1 Q2 Qn

Page 85: 计算机图形学

Bézier 曲线的拼接

达到 连续的充要条件为:达到 连续,且 ,

, , , , 六点共面, 和 位于直线 的同侧,且满足:

2

1

2

10

112

112

),(

),(

nnnn

n

PP

QQ

QPPd

QPQd

2G 1G 2nP

1nP nP 0Q 1Q 2Q2nP 2Q

11QPn

2nP

1nP nP

0Q

1Q

2Q

),( 112 QPPd nn ),( 112 QPQd n

Page 86: 计算机图形学

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

Page 87: 计算机图形学

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

Page 88: 计算机图形学

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]

Page 89: 计算机图形学

Bézier 曲线的离散生成 5次 Bézier 曲线的分割过程:

Page 90: 计算机图形学

Bézier 曲线的离散生成 Bézier 曲线的收敛性:对控制多边形的分割可以不断的继续

下去,每进行一次分割,多边形的边数就增加一倍。记第 L

次分割得到的多边形为 ,则当 时,分割产生的多边形序列 一致收敛于 。

,...)2,1(,...... 2310 lPPP ll

ll l ,...)2,1(,...... 2310 lPPP l

lll

)10()( ttP

Page 91: 计算机图形学

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 =

Page 92: 计算机图形学

反算 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

Page 93: 计算机图形学

1.8 Bézier 曲线的升阶与降阶 Bézier 曲线的升阶

所谓升阶是指保持 Bézier 曲线的形状与定向不变,增加定义它的控制顶点数目,也即是提高该 Bézier 曲线的次数。增加了控制顶点数,不仅增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的。应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,而获得同一的次数。

曲线升阶后,原控制顶点会发生变化。下面,我们来计算曲线提升一阶后的新的控制顶点。

Page 94: 计算机图形学

Bézier 曲线的升阶与降阶 设给定原始控制顶点 ,定义了一条 n次 Béz

ier 曲线

增加一个顶点后,得到新的控制顶点为 如下图所示:

nPPP ,,, 10

]1,0[)()(0

,

ttBPtPn

inii

*1

*1

*0 ,,, nPPP

Page 95: 计算机图形学

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

Page 96: 计算机图形学

Bézier 曲线的升阶与降阶 Bézier 曲线升阶之后,控制顶点之间的关系说明:

新的控制顶点 是以参数值 按分段线性插值从原始特征多边形得出的;

升阶后的新的特征多边形在原始特征多边形的凸包内;升阶后的新的特征多边形更靠近 Bézier 曲线 ;

*iP 1n

i

Page 97: 计算机图形学

Bézier 曲线的升阶与降阶

降阶是升阶的逆过程。给定一条由原始控制顶点

定义的 n次 Bézier 曲线,要求找到一条由新控制顶点 定义的 n-1次 Bézier曲线来逼近原始曲线。

),,1,0( niPi

)1,,1,0(* niPi

Page 98: 计算机图形学

降阶逼近的文献– 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.

Page 99: 计算机图形学

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

Page 100: 计算机图形学

有理 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

Page 101: 计算机图形学

2. Bézier 曲面

基于 Bezier 曲线的讨论,我们可以方便地可以给出 Bezier 曲面的定义和性质, Bezier 曲线的一些算法也可以很容易扩展到 Bezier 曲面的情况。

Page 102: 计算机图形学

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

Page 103: 计算机图形学

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 。

Page 104: 计算机图形学

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(

Page 105: 计算机图形学

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

Page 106: 计算机图形学

Bézier 曲面示例

Page 107: 计算机图形学

Bézier 曲面示例 3

Page 108: 计算机图形学

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图 曲面片的拼接

Page 109: 计算机图形学

如果要求两曲面片达到 连续,则它们有公共的边界,即:

于是有 如果又要求沿该公共边界达到 连续,则两曲面片在该边界上有公共的切平面,因此曲面的法向应当是跨界连续的,即:

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图 曲面片的拼接

Page 110: 计算机图形学

2.4 Bézier 曲面的离散生成

Bézier 曲面的离散生成同 Bézier 曲线的生成类似,也是对控制多面体进行不断的分割。这个分割过程一直进行下去即得到一系列越来越密的控制多面体。这些控制多面体收敛于原来的Bézier 曲面。

Page 111: 计算机图形学

控制多面体的分割过程:第一次分割

Page 112: 计算机图形学

控制多面体的分割过程:第二、三次分割

Page 113: 计算机图形学

控制多面体的分割过程:第四、五次分割

Page 114: 计算机图形学

控制多面体的分割过程:第六次分割

Page 115: 计算机图形学

三、样条曲线

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: 二次样条函数

Page 116: 计算机图形学

1. 样条函数概念 样条函数的概念是美国数学家 I.J.Schoenberg 在1946 年首先提出的,他定义了一种 B 样条函数。尽管有10 年的时间未受到重视,但从 60 年代开始,随着电子计算机技术的飞速发展和数据拟合以及函数逼近在生产实验中的广泛应用,样条函数的理论和应用已迅速发展成了一门成熟的学科。由于样条 (Spline) 函数发展的开始,就具有广泛而又深刻的实用背景,因此,样条函数及其参数表示形式的曲线和曲面方法是自由曲线与曲面设计的基础。

Page 117: 计算机图形学

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)(

Page 118: 计算机图形学

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.

Page 119: 计算机图形学

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

Page 120: 计算机图形学

2. B 样条曲线 以 Bernstein 基函数构造的 Bezier 曲线或曲面有许多优越性,但有两点不足:其一是 Bezier 曲线或曲面不能作局部修改,控制多边形的一个顶点发生了变化,整条 B

ezier 曲线的形状便发生变化;其二是 Bezier 曲线或曲面的拼接比较复杂。因此, 1972 年, Gordon 、 Riesenfe

ld 等人发展了 1946 年 Schoenberg 提出的样条方法 , 提出了 B 样条方法,在保留 Bezier 方法全部优点的同时,克服了 Bezier 方法的弱点。

Page 121: 计算机图形学

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

Page 122: 计算机图形学

B 样条曲线示例

二次 B 样条曲线示例

Page 123: 计算机图形学

B 样条曲线示例

三次 B 样条曲线示例

Page 124: 计算机图形学

B 样条曲线示例

四次 B 样条曲线示例 五次 B 样条曲线示例

Page 125: 计算机图形学

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

Page 126: 计算机图形学

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

Page 127: 计算机图形学

876543210 ,,,,,,,, ttttttttt

•以 k= 4 , n=4 为例

Page 128: 计算机图形学

B 样条曲线类型的划分均匀 B样条曲线。 节点矢量中节点为沿参数轴均匀或等距分布,所有节点区间长度为常数。这样的节点矢量定义了均匀的 B样条基。

Page 129: 计算机图形学

B 样条曲线类型的划分准均匀 B样条曲线。 与均匀 B样条曲线的差别在于两端节点具有重复度 k,这样的节

点矢量定义了准均匀的 B样条基。均匀 B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的 B样条曲线解决了这个问题。

Page 130: 计算机图形学

B 样条曲线类型的划分非均匀 B样条曲线。 任意分布的节点矢量 ,只要在

数学上成立(节点序列非递减,两端节点重复度≤k ,内节点重复度≤ k-1 )都可选取。这样的节点矢量定义了非均匀 B 样条基。

],,,,[ 210 knttttT

Page 131: 计算机图形学

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

Page 132: 计算机图形学

B 样条曲线的基函数

一次 B 样条曲线的基函数

二次 B 样条曲线的基函数

Page 133: 计算机图形学

B 样条曲线的基函数

三次 B 样条曲线的基函数

四次 B 样条曲线的基函数

Page 134: 计算机图形学

2.3 B 样条曲线的性质 1. 局部性 根据定义式可知,第 k 段 n次 B 样条曲线只与 n+1 个 顶点 Pi(i=0 , 1 ,…, n) 有关,因此,当改动其中一个 控制顶点时,只会对相邻的 n+1 段产生影响,不会对 整条曲线 (当 m>> n)产生影响。这就为设计曲线时修改某一局部的形状带来了很大的方便。

如左图所示,六个控制顶点控制的三次 B 样条曲线由三段 B 样条曲线段组成。其中,每一条曲线段由四个顶点控制。

Page 135: 计算机图形学

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) 。

Page 136: 计算机图形学

B 样条曲线的性质 4. 对称性 根据 B 样条曲线的基函数的对称性可推导

n

ininki

n

inikink

ttGP

tGPtP

0,

0,,

])1,0[()(

)1()1(

它表明了 B 样条曲线段的起点和终点的几何性质完全相同。

Page 137: 计算机图形学

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,,

,

其中:

Page 138: 计算机图形学

B 样条曲线的性质 6. 保凸性 B 样条曲线和 Bezier 曲线一样,也具有保凸性。

即当所有的控制顶点形成一个平面凸的闭多边形时, Pk,n(t) 是一条平面凸曲线。

Page 139: 计算机图形学

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 样条曲线段组成。其中,每一条曲线段由四个顶点控制且包含在四个顶点构成的凸包之中。

Page 140: 计算机图形学

B 样条曲线的性质 8.变差缩减性任意一条直线和B样条曲线相交次数小于或等于该直线和特征多边形相交次数

Page 141: 计算机图形学

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

Page 142: 计算机图形学

二次 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

Page 143: 计算机图形学

二次 B 样条曲线 如左图所示,六个控制顶点控制的二次 B 样条曲线由四段 B 样条曲线段组成。其中,每一条曲线段由相邻的三个顶点控制。曲线段的起点和终点同控制顶点的连接边相切于连接边的中点位置。

Page 144: 计算机图形学

二次 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 , 且在此处是尖点。

三点共线的情况 尖点的情况

Page 145: 计算机图形学

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

Page 146: 计算机图形学

三次 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

Page 147: 计算机图形学

三次 B 样条曲线

P0 P3

P2P1

三次 B 样条曲线的顶点位置和顶点切矢

Page 148: 计算机图形学

2.6 二、三次 B 样条曲线的应用 在曲线拟合设计中, B样条曲线主要可用于实验数据平滑

和要求局部交互式修改的自由曲线设计。当然二、三次 B样条

曲线及其变型,几乎可以应用到所有的要求具有一次或二次

几何连续的曲线造型场合。

(1)要求过插值端点;

(2)封闭的二、三次 B样条曲线;

(3)插值二、三次 B样条曲线;

Page 149: 计算机图形学

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

Page 150: 计算机图形学

– 现令

– 则

–这就是著名的 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, )()()()(

Page 151: 计算机图形学

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

Page 152: 计算机图形学

De Boor 算法的几何意义– de Boor 算法有着直观的几何意义 割角,

即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后

得到 P(t) 上的点

][1

][ ri

ri PP

]1[ riP

jkjkj PPP 21

)(]1[ tP rj

Page 153: 计算机图形学

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算法的几何意义

Page 154: 计算机图形学

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

Page 155: 计算机图形学

非均匀 B 样条曲线 设 为给定空间的 n 个点 ,称下列参

数曲线

为 k 阶 (k-1次 ) 的 B 样条曲线。称折线 为 P(t) 的控制多边形。

非均匀 B 样条曲线同样具有局部性,几何不变性,连续性,对称性,递推性,凸包性和变差缩减性等性质。

)(,...2,1 knPPP n

n

ikkkii ttttBPtP

11, ),()(

nPPP ,...2,1