哈工大计算机学院 苏小红 1
第四章 自由曲线与曲面
(一)
哈尔滨工业大学计算机学院
苏小红
2哈工大计算机学院 苏小红
概 述
曲线的分类
? 规则曲线
? 自由曲线
? 随机曲线
3哈工大计算机学院 苏小红
概 述
研究分支
? 计算几何
1969 Minsky,Papert提出
1972 A.R.Forrest给出正式定义
? CAGD (Computer Aided Geometrical Design)
1974 Barnhill,Riesenfeld,美国 Utah大学的一次国
际会议上提出
4哈工大计算机学院 苏小红
概 述
研究内容
? 对几何外形信息的计算机表示
? 对几何外形信息的分析与综合
? 对几何外形信息的控制与显示
5哈工大计算机学院 苏小红
概 述
对形状数学描述的要求?
从计算机对形状处理的角度来看
( 1) 唯一性
( 2) 几何不变性
对在不同测量坐标系测得的同一组数据点进行拟合,
用同样的数学方法得到的拟合曲线形状不变。
6哈工大计算机学院 苏小红
概 述
( 3) 易于定界
( 4) 统一性:
统一的数学表示,便于建立统一的数据库
标量函数:平面曲线 y = f(x)
空间曲线 y = f(x)
z = g(x)
矢量函数:平面曲线 P(t) = [x(t) y(t)]
空间曲线 P(t) = [x(t) y(t) z(t)]
??
??? ?
?
?
?
],[
)(
)(
)(
bat
tzz
tyy
txx
7哈工大计算机学院 苏小红
概 述
从形状表示与设计的角度来看
( 1)丰富的表达能力:表达两类曲线曲面
( 2)易于实现光滑连接
( 3)形状易于预测、控制和修改
( 4)几何意义直观,设计不必考虑其数学表达
8哈工大计算机学院 苏小红
自由曲线曲面的发展过程
目标:美观,且物理性能最佳
1963年,美国波音飞机公司,Ferguson双三次曲
面片
1964~1967年,美国 MIT,Coons双三次曲面片
1971年,法国雷诺汽车公司,Bezier曲线曲面
1974年,美国通用汽车公司,Cordon和
Riesenfeld,Forrest,B样条曲线曲面
1975年,美国 Syracuse大学,Versprille有理 B样条
80年代,Piegl和 Tiller,NURBS方法
9哈工大计算机学院 苏小红
参数曲线基础( 1/6)
曲线的表示形式
? 非参数表示
显式表示
隐式表示
?
?
?
?
?
)(
)(
xgz
xfy
?
?
?
?
?
0),,(
0),,(
zyxg
zyxf
10哈工大计算机学院 苏小红
参数曲线基础( 2/6)
? 参数表示
参数的含义
? 时间,距离,角度,比例等等
? 规范参数区间 [0,1]
?
?
?
?
?
?
?
?
?
],[
)(
)(
)(
bat
tzz
tyy
txx
11哈工大计算机学院 苏小红
参数曲线基础( 3/6)
参数矢量表示形式
? 例子:直线段的参数表示
]1,0[10)1()01(0)( ???????? ttPPtPPtPtPP
12哈工大计算机学院 苏小红
参数曲线基础( 4/6)
参数连续性
? 传统的、严格的连续性
? 称曲线 P = P(t)在 处 n阶参数连续,如果
它在 处 n阶左右导数存在,并且满足
? 记号
0tt?
0t
nkdt tPddt tPd ttk
k
ttk
k
?,1,0,)()(
00
?? ?? ??
nC
13哈工大计算机学院 苏小红
参数曲线基础( 5/6)
几何连续性
? 直观的、易于交互控制的连续性
? 0阶几何连续
称曲线 P=P(t)在 处 0阶几何连续,如果它在
处位置连续,即
记为
? 1阶几何连续
称曲线 P=P(t)在 处 1阶几何连续,如果它在该
处,并且切矢量方向连续
记为
0tt? 0t
)()( 00 ?? ? tPtP
0GC
0tt?
0GC
为任一常数0)()( 00 ????? ?? ?? tPtP
1GC
14哈工大计算机学院 苏小红
参数曲线基础( 6/6)
? 2阶几何连续
称曲线 P=P(t)在 处 2阶几何连续,如果它在 处
( 1)
( 2)副法矢量方向连续
( 3)曲率连续
0tt? 0t
1GC
)()( 00 ?? ? tBtB
)()( 00 ?? ? tktk
15哈工大计算机学院 苏小红
参数表示的好处
有更大的自由度来控制曲线, 曲面的形状
易于用矢量和矩阵表示几何分量, 简化了计算
设计或表示形状更直观, 许多参数表示的基函数
如 Bernstein基和 B样条函数, 有明显的几何意义
16哈工大计算机学院 苏小红
曲线曲面拟合方法
已知条件的表示方法
? 一系列有序的离散数据点
型值点
控制点
? 边界条件
? 连续性要求
17哈工大计算机学院 苏小红
曲线曲面拟合方法
生成方法
? 插值
点点通过型值点
插值算法:线性插值、抛物样条插值,Hermite插
值
? 逼近
提供的是存在误差的实验数据
? 最小二乘法、回归分析
提供的是构造曲线的轮廓线用的控制点
? Bezier曲线,B样条曲线等
? 拟合
18哈工大计算机学院 苏小红
参数多项式曲线( 1/4)
为什么采用参数多项式曲线
? 表示最简单
? 理论和应用最成熟
定义 --n次多项式曲线
]1,0[
)(
)(
)(
10
10
10
?
?
?
?
?
?
??????
??????
??????
t
tztzztz
tytyyty
txtxxtx
n
n
n
n
n
n
?
?
?
19哈工大计算机学院 苏小红
参数多项式曲线( 2/4)
矢量表示形式
? 加权和形式
? 缺点
没有明显的几何意义
与曲线的关系不明确,导致曲线的形状控制困难
]1,0[
1
)(
)(
)(
)(
10
10
10
???
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? tTC
t
t
zzz
yyy
xxx
tz
ty
tx
tP
n
n
n
n 记为
?
?
?
?
]1,0[)( 10 ??????? tPtPtPTCtP nn?
iP
iP
20哈工大计算机学院 苏小红
参数多项式曲线( 3/4)
矩阵表示
? 矩阵分解
? 几何矩阵
? 控制顶点
? 基矩阵 M
确定了一组基函数
MGC ??
]1,0[)( ?????? tTMGTCtP
? ?nGGGG ?10?
iG
TM?
21哈工大计算机学院 苏小红
参数多项式曲线( 4/4)
? 例子 — 直线段的矩阵表示
? ? ]1,0[
1
10
11
)()1()(
100
10010
??
?
?
?
?
?
?
?
?
?
?
? ?
??
??????
t
t
PPP
tPPtPtPPtP
P0
P1
P0+P1
几何矩阵 G 基矩阵 MT
22哈工大计算机学院 苏小红
三次 Hermite曲线 (1/7)
定义
? 给定 4个矢量,称满足条件的三
次多项式曲线 P(t)为 Hermite曲线
1010,,,RRPP
10
10
)1(,)0(
)1(,)0(
RPRP
PPPP
????
??
P0
P1
R0
R1
23哈工大计算机学院 苏小红
三次 Hermite曲线 (2/7)
矩阵表示
? 条件
11
00
11
00
3
2
1
0
|
0
0
1
0
|
1
1
1
1
|
0
0
0
1
|
RMGTMG
RMGTMG
PMGTMG
PMGTMG
HHtHH
HHtHH
HHtHH
HHtHH
?
?
?
?
?
?
?
?
?
?
?
?
?
??????
?
?
?
?
?
?
?
?
?
?
?
?
?
??????
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
24哈工大计算机学院 苏小红
三次 Hermite曲线 (3/7)
? 合并
? 解
? ?
HHH GRRPPMG
取为
??
?
?
?
?
?
?
?
?
?
?
?
?
??? 1010
3010
2010
1110
0011
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1100
1210
2300
2301
3010
2010
1110
0011
1
H
M
25哈工大计算机学院 苏小红
三次 Hermite曲线 (4/7)
基矩阵与基函数(调和函数)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
)(
)(
)(
)(
2
23
2311
1100
1210
2300
2301
1
0
1
0
32
32
32
3
3
2
tH
tH
tG
tG
tt
ttt
tt
tt
t
t
t
TM
H
26哈工大计算机学院 苏小红
三次 Hermite曲线 (5/7)
形状控制
? 改变端点位置矢量
? 调节切矢量 的方向
? 调节切矢量 的长度10,RR
10,PP
10,RR
27哈工大计算机学院 苏小红
三次 Hermite曲线 (6/7)
三次参数样条曲线
? 样条?
? 曲线的定义
给定参数节点,型值点,求一条
的分段三次参数曲线,
使 。 P(t)称为三次参数样条曲线
??niit 0? ? ?niiP 0?
]),[)(( 0 nttttP ?
itttP ?|)(
2C
28哈工大计算机学院 苏小红
三次 Hermite曲线 (7/7)
优点:
? 简单,易于理解
缺点:
? 难于给出两个端点处的切线矢量作为初始条件
? 不方便
所有参数插值曲线的缺点:
? 只限于作一条点点通过给定数据点的曲线
? 只适用于插值场合,如外形的数学放样
? 不适合于外形设计
第四章 自由曲线与曲面
(一)
哈尔滨工业大学计算机学院
苏小红
2哈工大计算机学院 苏小红
概 述
曲线的分类
? 规则曲线
? 自由曲线
? 随机曲线
3哈工大计算机学院 苏小红
概 述
研究分支
? 计算几何
1969 Minsky,Papert提出
1972 A.R.Forrest给出正式定义
? CAGD (Computer Aided Geometrical Design)
1974 Barnhill,Riesenfeld,美国 Utah大学的一次国
际会议上提出
4哈工大计算机学院 苏小红
概 述
研究内容
? 对几何外形信息的计算机表示
? 对几何外形信息的分析与综合
? 对几何外形信息的控制与显示
5哈工大计算机学院 苏小红
概 述
对形状数学描述的要求?
从计算机对形状处理的角度来看
( 1) 唯一性
( 2) 几何不变性
对在不同测量坐标系测得的同一组数据点进行拟合,
用同样的数学方法得到的拟合曲线形状不变。
6哈工大计算机学院 苏小红
概 述
( 3) 易于定界
( 4) 统一性:
统一的数学表示,便于建立统一的数据库
标量函数:平面曲线 y = f(x)
空间曲线 y = f(x)
z = g(x)
矢量函数:平面曲线 P(t) = [x(t) y(t)]
空间曲线 P(t) = [x(t) y(t) z(t)]
??
??? ?
?
?
?
],[
)(
)(
)(
bat
tzz
tyy
txx
7哈工大计算机学院 苏小红
概 述
从形状表示与设计的角度来看
( 1)丰富的表达能力:表达两类曲线曲面
( 2)易于实现光滑连接
( 3)形状易于预测、控制和修改
( 4)几何意义直观,设计不必考虑其数学表达
8哈工大计算机学院 苏小红
自由曲线曲面的发展过程
目标:美观,且物理性能最佳
1963年,美国波音飞机公司,Ferguson双三次曲
面片
1964~1967年,美国 MIT,Coons双三次曲面片
1971年,法国雷诺汽车公司,Bezier曲线曲面
1974年,美国通用汽车公司,Cordon和
Riesenfeld,Forrest,B样条曲线曲面
1975年,美国 Syracuse大学,Versprille有理 B样条
80年代,Piegl和 Tiller,NURBS方法
9哈工大计算机学院 苏小红
参数曲线基础( 1/6)
曲线的表示形式
? 非参数表示
显式表示
隐式表示
?
?
?
?
?
)(
)(
xgz
xfy
?
?
?
?
?
0),,(
0),,(
zyxg
zyxf
10哈工大计算机学院 苏小红
参数曲线基础( 2/6)
? 参数表示
参数的含义
? 时间,距离,角度,比例等等
? 规范参数区间 [0,1]
?
?
?
?
?
?
?
?
?
],[
)(
)(
)(
bat
tzz
tyy
txx
11哈工大计算机学院 苏小红
参数曲线基础( 3/6)
参数矢量表示形式
? 例子:直线段的参数表示
]1,0[10)1()01(0)( ???????? ttPPtPPtPtPP
12哈工大计算机学院 苏小红
参数曲线基础( 4/6)
参数连续性
? 传统的、严格的连续性
? 称曲线 P = P(t)在 处 n阶参数连续,如果
它在 处 n阶左右导数存在,并且满足
? 记号
0tt?
0t
nkdt tPddt tPd ttk
k
ttk
k
?,1,0,)()(
00
?? ?? ??
nC
13哈工大计算机学院 苏小红
参数曲线基础( 5/6)
几何连续性
? 直观的、易于交互控制的连续性
? 0阶几何连续
称曲线 P=P(t)在 处 0阶几何连续,如果它在
处位置连续,即
记为
? 1阶几何连续
称曲线 P=P(t)在 处 1阶几何连续,如果它在该
处,并且切矢量方向连续
记为
0tt? 0t
)()( 00 ?? ? tPtP
0GC
0tt?
0GC
为任一常数0)()( 00 ????? ?? ?? tPtP
1GC
14哈工大计算机学院 苏小红
参数曲线基础( 6/6)
? 2阶几何连续
称曲线 P=P(t)在 处 2阶几何连续,如果它在 处
( 1)
( 2)副法矢量方向连续
( 3)曲率连续
0tt? 0t
1GC
)()( 00 ?? ? tBtB
)()( 00 ?? ? tktk
15哈工大计算机学院 苏小红
参数表示的好处
有更大的自由度来控制曲线, 曲面的形状
易于用矢量和矩阵表示几何分量, 简化了计算
设计或表示形状更直观, 许多参数表示的基函数
如 Bernstein基和 B样条函数, 有明显的几何意义
16哈工大计算机学院 苏小红
曲线曲面拟合方法
已知条件的表示方法
? 一系列有序的离散数据点
型值点
控制点
? 边界条件
? 连续性要求
17哈工大计算机学院 苏小红
曲线曲面拟合方法
生成方法
? 插值
点点通过型值点
插值算法:线性插值、抛物样条插值,Hermite插
值
? 逼近
提供的是存在误差的实验数据
? 最小二乘法、回归分析
提供的是构造曲线的轮廓线用的控制点
? Bezier曲线,B样条曲线等
? 拟合
18哈工大计算机学院 苏小红
参数多项式曲线( 1/4)
为什么采用参数多项式曲线
? 表示最简单
? 理论和应用最成熟
定义 --n次多项式曲线
]1,0[
)(
)(
)(
10
10
10
?
?
?
?
?
?
??????
??????
??????
t
tztzztz
tytyyty
txtxxtx
n
n
n
n
n
n
?
?
?
19哈工大计算机学院 苏小红
参数多项式曲线( 2/4)
矢量表示形式
? 加权和形式
? 缺点
没有明显的几何意义
与曲线的关系不明确,导致曲线的形状控制困难
]1,0[
1
)(
)(
)(
)(
10
10
10
???
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? tTC
t
t
zzz
yyy
xxx
tz
ty
tx
tP
n
n
n
n 记为
?
?
?
?
]1,0[)( 10 ??????? tPtPtPTCtP nn?
iP
iP
20哈工大计算机学院 苏小红
参数多项式曲线( 3/4)
矩阵表示
? 矩阵分解
? 几何矩阵
? 控制顶点
? 基矩阵 M
确定了一组基函数
MGC ??
]1,0[)( ?????? tTMGTCtP
? ?nGGGG ?10?
iG
TM?
21哈工大计算机学院 苏小红
参数多项式曲线( 4/4)
? 例子 — 直线段的矩阵表示
? ? ]1,0[
1
10
11
)()1()(
100
10010
??
?
?
?
?
?
?
?
?
?
?
? ?
??
??????
t
t
PPP
tPPtPtPPtP
P0
P1
P0+P1
几何矩阵 G 基矩阵 MT
22哈工大计算机学院 苏小红
三次 Hermite曲线 (1/7)
定义
? 给定 4个矢量,称满足条件的三
次多项式曲线 P(t)为 Hermite曲线
1010,,,RRPP
10
10
)1(,)0(
)1(,)0(
RPRP
PPPP
????
??
P0
P1
R0
R1
23哈工大计算机学院 苏小红
三次 Hermite曲线 (2/7)
矩阵表示
? 条件
11
00
11
00
3
2
1
0
|
0
0
1
0
|
1
1
1
1
|
0
0
0
1
|
RMGTMG
RMGTMG
PMGTMG
PMGTMG
HHtHH
HHtHH
HHtHH
HHtHH
?
?
?
?
?
?
?
?
?
?
?
?
?
??????
?
?
?
?
?
?
?
?
?
?
?
?
?
??????
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
24哈工大计算机学院 苏小红
三次 Hermite曲线 (3/7)
? 合并
? 解
? ?
HHH GRRPPMG
取为
??
?
?
?
?
?
?
?
?
?
?
?
?
??? 1010
3010
2010
1110
0011
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1100
1210
2300
2301
3010
2010
1110
0011
1
H
M
25哈工大计算机学院 苏小红
三次 Hermite曲线 (4/7)
基矩阵与基函数(调和函数)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
)(
)(
)(
)(
2
23
2311
1100
1210
2300
2301
1
0
1
0
32
32
32
3
3
2
tH
tH
tG
tG
tt
ttt
tt
tt
t
t
t
TM
H
26哈工大计算机学院 苏小红
三次 Hermite曲线 (5/7)
形状控制
? 改变端点位置矢量
? 调节切矢量 的方向
? 调节切矢量 的长度10,RR
10,PP
10,RR
27哈工大计算机学院 苏小红
三次 Hermite曲线 (6/7)
三次参数样条曲线
? 样条?
? 曲线的定义
给定参数节点,型值点,求一条
的分段三次参数曲线,
使 。 P(t)称为三次参数样条曲线
??niit 0? ? ?niiP 0?
]),[)(( 0 nttttP ?
itttP ?|)(
2C
28哈工大计算机学院 苏小红
三次 Hermite曲线 (7/7)
优点:
? 简单,易于理解
缺点:
? 难于给出两个端点处的切线矢量作为初始条件
? 不方便
所有参数插值曲线的缺点:
? 只限于作一条点点通过给定数据点的曲线
? 只适用于插值场合,如外形的数学放样
? 不适合于外形设计