b样条曲线67讲义273116
合集下载
B样条曲线曲面基本理论

第七章 B样条曲线曲面基本理论
方法一
第七章 B样条曲线曲面基本理论
重要
方法一
第七章 B样条曲线曲面基本理论
重要
方法一
第七章 B样条曲线曲面基本理论
重要
方法二
第七章 B样条曲线曲面基本理论
重要
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论 2次B样条基函数
第七章 B样条曲线曲面基本理论 3次B样条基函数
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
பைடு நூலகம்
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
第七章 B样条曲线曲面基本理论
Bezier实现高速列车外形
作业2:
第一部分 自由曲面设计理论
第七章 B样条曲线曲面基本理论
B样条曲线专题知识省公共课一等奖全国赛课获奖课件

/10/10
第10页10
B-样条曲线定义
t n 1个控制点 Pi
n i0
及参数节点向量Tn,k
nk
i i0 (ti ti1)
确定如下的k阶(k 1次)B样条曲线:
n
P(t) Pi Ni,k (t),t [tk1, tn1] 共n-k+2段 i0
B-样条曲线示例
/10/10
第11页11
1阶B-样条基函数
其它
Ni,k (t)在区间ti ,tik 上有定义,称后者为前者的支撑区间。
/10/10
第20页20
3阶B-样条基函数图形
Ni,3 (t)
Ni,3 (t)的图形
/10/10
第21页21
3阶B样条曲线示例
/10/10
t2
T=[t0,t1,…,tn+1,tn+2,tn+3]
tn1
第22页22
知其然,知其所以然…
此时:Tn,4 {0,1,..., n 4}
1 t [i ,i 1)
Ni,1(t) 0
其它
根据如下的基函数递推公式计算Ni,4 (t):
Ni,k
(t)
t k
i 1
N i ,k 1 (t )
i
k
k 1
t
N i 1,k 1 (t ),i
0,1,..., n
/10/10
第33页33
三次均匀B样条曲线(3)
• 顶点数
• 定义区间
• 段数
/10/10
第24页 24
B-样条基函数性质
• 局部性 • 权性 • 连续性
/10/10
第25页25
B-样条基函数局部性
第十章曲线与曲面(三) b-样条曲线

=
n i=0
pi Ni,k ′ (t)
∑ =
(k
−
1)
n i=0
⎛ ⎜ ⎝
pi − t i + k −1
pi−1 − ti
⎞ ⎟ ⎠
Ni,k−1 (t)
11
• 表示的唯一性
(1-3-1)
B 样条基函数的性质:
(1) 局部支撑性和非负性
⎧≥ 0 Ni,p ( u )⎩⎨= 0
若u ∈[ui ,ui+ p+1] 其它
(2) 任 意 给 定 节 点 区 间 [uj ,uj+1 ), 最 多 只 有 p+1 个 Ni,p 非 零 ;
6
Ni−p,p( u ),L,Ni,p( u )非零;
样条曲线。
• 从样条曲线的观点导出三次等距 B 样条
设 b0 , b1,⋅⋅⋅, bm 为空间任 m+1 个点向量, b0b1 ⋅⋅⋅ bm 为特征多边形,
顺次取 4 个顶点 bi bi+1 bi+2 bi+3, (i = 0,1,2,Lm − 3) 作三次曲线段:
3
∑ pi,3 (t)= Fj,3 (t)bi+ j (0 ≤ t ≤ 1)
p +1
p +1
B 样条基函数有下列性质:
(1-3-2)
(7)设节点个数为 m+1,则有 n+1 个基函数,这里 n=m-p-1,N0.p (a) =1,
和 Nn.p ( b ) =1;
(8)若节点矢量是如下形式
u = {140 ,02,L43,0 ,11,1L2 3,1 }
p +1
p +1
7
课件 计算机图形学 贝塞尔曲线及B样条

n! i!(n
t(i 1 t)ni i)!
其中i表示第i个顶点,n表示n次,t为参数。
六 bezier曲线特性分析:
由伯恩斯坦多项bernstein基函数的性质能推导出贝塞尔曲线性质。
(一) 曲线通过起始点与终止点
可以证明起点和终点在曲线上,
规定:
0i
0 1
i0 i0
另: 0!为1。
展开曲线为:(当n =0, 1, 2, 3时)
1962年法国雷诺汽车公司的贝塞尔提出了贝塞尔曲线(Bezier) 并以这种方法为主,完成了一种曲线和曲面的设计系统 UNISURF,并于1972年在雷诺公司应用。
2 贝塞尔曲线的基本思想:
(1)将函数逼近与几何表示结合起来,使得设计师 可以直观地通过改变参数来改变曲线的形状和阶次。
(2)通过控制点即顶点直观而方便地调整曲线的形状, (3)仅通过起始点和终止点,而不通过其它的型值点。
2 当顶点数m较大时,曲线的阶次将比较高,多边形对曲线 形状的控制将大为减弱。
3 改变任意顶点的位置将会对整条曲线产生影响,
这不利于对曲线做局部修改。 P1
P2 P3
P0
P4
4 改变任意一个顶点的位置将会对整条贝塞尔曲线产生影响, 不利于对曲线做局部修改。
三次参数样条曲线 通过所有的型值点
二次B样条曲线 三次B样条曲线 三次贝塞尔曲线
1
0
0
0
P3
3 三次贝塞尔曲线能达到二阶连续
九 贝塞尔曲线在使用中的问题
1 贝塞尔曲线的阶次m-1由多边形的顶点数m所决定,
使用不灵活。如3顶点则2次,4顶点则3次。
p(t )
(1t)2
p 0
2t(1 t)
b样条曲线

t ti t ik 1 t i
Ni,k1 (t)
tik t tik ti1
Ni1,k1 (t),
k 2
该递推公式表明:欲确定第i个k阶B样条Ni,k(t),需要用 ti ,ti+1 ,…ti+k 共k+1个节点,称区间[ti , ti+k]为Ni,k(t)的支撑区间。
曲线方程中,n+1个控制顶点Pi (i=0,1,…n) 要用到n+1个k阶B样条 基 Ni,k(t) 。 支 撑 区 间 的 并 集 定 义 了 这 一 组 B 样 条 基 的 节 点 矢 量 T=[t0 ,t1 ,…tn+k ]。
Ni 1,k 1(t )
其中Pi的调和函数Ni是在区间ti<=t<ti+k的k阶多项式,这个多项式 是分段的,每一段多项式不相同。不为0的这k段是将区间ti<=t<ti+k 分k个部分,即ti<=t<ti+1、ti+1<=t<ti+2、……、ti+k-1<=t<ti+k, 每个区间对应一段k阶多项式。在t的其余区间为0。
3.3.2 B样条曲线的性质
1. 局部性
k 阶B样条曲线上参数为 t [ti , ti1] 的一点P(t)至多与k个控制顶点
Pj(j=i-k+1,…i)有关,与其它控制顶点无关;移动该曲线的第i个控 制顶
点Pi至多影响到定义在区间(ti,ti+k) 上那部分曲线的形状, 对曲线的 其余
1 Ni,1(t) 0
ti t ti1 Otherwise
Ni,k (t)
t ti tik 1 ti
Ni,k1(t)
B样条基础

矢量定义了准均匀的B样条基。 均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲
线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲 线解决了这个问题。例如:T=(0,0,0,1,2,3,4,5,6,7,7,7)
图3.1.24 准均匀三次B样条曲线
4. B样条曲线类型的划分
分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这
(2) 权性
n
N ik , (t)1
i0
(3) 微分公式
t [tk1,tn1]
N ik ,(t ) ti k k 1 1 tiN ik , 1 (t-t) i k k 1 ti 1N i 1k ,1 (t)
4. B样条曲线类型的划分
假定控制多边形的顶点为Pi(i=0,1…,n),阶数为k(次数为k-1),则节 点矢量是T=[t0,t1,…,tn+k]。B样条曲线按其节点矢量中节点的分布情况, 可划分为4种类型:
给定空间n+1个点的位置矢量Pi ( i=0,1,2,…,n ),则Bézier曲线可定
义为:
n
P(t) PiBi,n(t), t0,1
i0
其中,Pi(i=0,1, …,n)构成该Bézier曲线的特征多边形,Bi,n(t)是n次 Bernstein基函数:
B in ,(t C )n iti( 1 tn )i ( n n i) i!t ! !i( 1 tn )i,( i0,1 n,)... 其中,00=1,0!=1。
样的节点矢量定义了分段的Bernstein基。 B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立 性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲 线段的形状没有影响。例如:T=(0,0,0,1,1,2,2,3,3,4,4,4)
线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲 线解决了这个问题。例如:T=(0,0,0,1,2,3,4,5,6,7,7,7)
图3.1.24 准均匀三次B样条曲线
4. B样条曲线类型的划分
分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这
(2) 权性
n
N ik , (t)1
i0
(3) 微分公式
t [tk1,tn1]
N ik ,(t ) ti k k 1 1 tiN ik , 1 (t-t) i k k 1 ti 1N i 1k ,1 (t)
4. B样条曲线类型的划分
假定控制多边形的顶点为Pi(i=0,1…,n),阶数为k(次数为k-1),则节 点矢量是T=[t0,t1,…,tn+k]。B样条曲线按其节点矢量中节点的分布情况, 可划分为4种类型:
给定空间n+1个点的位置矢量Pi ( i=0,1,2,…,n ),则Bézier曲线可定
义为:
n
P(t) PiBi,n(t), t0,1
i0
其中,Pi(i=0,1, …,n)构成该Bézier曲线的特征多边形,Bi,n(t)是n次 Bernstein基函数:
B in ,(t C )n iti( 1 tn )i ( n n i) i!t ! !i( 1 tn )i,( i0,1 n,)... 其中,00=1,0!=1。
样的节点矢量定义了分段的Bernstein基。 B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立 性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲 线段的形状没有影响。例如:T=(0,0,0,1,1,2,2,3,3,4,4,4)
第七章 B样条曲线

v C1 C2 C3 C4
d34
d33
C3 d4
2
d44 d43
C4
d41
V1k
V2k
u
V3k
V4k
当参数vk在[0,1] 之间取不同值时, P(u,vk)沿箭头方向扫描,即得到由 给定特征网格dij(i=1,2,3,4 j=1,2,3,4) 定义的双三次均匀B样条曲面片 P(u,v)。
双三次均匀B样条曲面P(u,v)的矩阵表示
B样条凸包
B样条曲线 m=3 Bezier凸包 B样条凸包 Bezier曲线
m=4
Bezier凸包 B样条凸包 B样条曲线 (b) B样条曲线和Bezier曲线的比较 Bezier曲线
m=5 Bezier凸包 (a)
B样条曲线和Bezier曲线的凸包比较
Bezier B样条曲线与 曲线的凸包性比较
B0,3(t) B1,3(t) B2,3(t)
t [0,1]
1
1
2
3
4
5
t
四段二次(三阶)均匀B样条基函数
曲线的起点和终点值:
1 1 pi (0) ( Pi Pi 1 ), pi (1) ( Pi 1 Pi 2 ) 2 2 均匀二次B样条曲线起点和终点处的导数:
pi(0) P i 1 P i , pi (1) P i 2 P i 1
7.3 B样条曲面
给定16个顶点dij(i=1,2,3,4 j=1,2,3,4)构成的特征网格,可以定义一张曲面片。 用di1、di2、di3、di4(i=1,2,3,4 )构建四条V向曲线C1、C2、C3和C4(图中虚线);
d24
d14 参数v在[0,1] 之间取值 v d23 vk ,对应于vk曲线C1、 d13 C2 C2、C3和C4上可得到V1k、 d32 C1 d22 V2k、V3k和V4k四个点, d1 该四点构成u向的一个特 2 d31 征多边形,定义一条新 d21 的曲线P(u,vk); d11 u
d34
d33
C3 d4
2
d44 d43
C4
d41
V1k
V2k
u
V3k
V4k
当参数vk在[0,1] 之间取不同值时, P(u,vk)沿箭头方向扫描,即得到由 给定特征网格dij(i=1,2,3,4 j=1,2,3,4) 定义的双三次均匀B样条曲面片 P(u,v)。
双三次均匀B样条曲面P(u,v)的矩阵表示
B样条凸包
B样条曲线 m=3 Bezier凸包 B样条凸包 Bezier曲线
m=4
Bezier凸包 B样条凸包 B样条曲线 (b) B样条曲线和Bezier曲线的比较 Bezier曲线
m=5 Bezier凸包 (a)
B样条曲线和Bezier曲线的凸包比较
Bezier B样条曲线与 曲线的凸包性比较
B0,3(t) B1,3(t) B2,3(t)
t [0,1]
1
1
2
3
4
5
t
四段二次(三阶)均匀B样条基函数
曲线的起点和终点值:
1 1 pi (0) ( Pi Pi 1 ), pi (1) ( Pi 1 Pi 2 ) 2 2 均匀二次B样条曲线起点和终点处的导数:
pi(0) P i 1 P i , pi (1) P i 2 P i 1
7.3 B样条曲面
给定16个顶点dij(i=1,2,3,4 j=1,2,3,4)构成的特征网格,可以定义一张曲面片。 用di1、di2、di3、di4(i=1,2,3,4 )构建四条V向曲线C1、C2、C3和C4(图中虚线);
d24
d14 参数v在[0,1] 之间取值 v d23 vk ,对应于vk曲线C1、 d13 C2 C2、C3和C4上可得到V1k、 d32 C1 d22 V2k、V3k和V4k四个点, d1 该四点构成u向的一个特 2 d31 征多边形,定义一条新 d21 的曲线P(u,vk); d11 u
B样条曲线

Bezier曲面
Bezier曲面是Bezier曲线的扩展, Bezier曲面的边界线就是由四条Bezier曲 线构成的。三次Bezier曲线段由四个控制 点确定,三次Bezier曲面片则由4× 4 控制点确定。16个控制点组成一个矩阵:
Q00 Q 10 Q20 Q30
B=
Q01 Q 11 Q02 Q12
不易修改 由曲线的混合函数可 看出,其值在开区间 ( 0 , 1 ) 内均不为 零。因此,所定义之曲线在 ( 0 < t < 1) 的区间内的任何一点均要受到全部顶 点的影响,这使得对曲线进行局部修 改成为不可能。 (而在外形设计中,
局部修改是随时要进行的)
为了克服 Bezier 曲线存在的问题, Gordon 等人拓展了 Bezier曲线,就 外形设计的需求出发,希望新的曲线 要:易于进行局部修改;
P14
P04
P03 P02 P01
P11 P21
P31
P(0,v)
P10 P20
P41 P30
P00
P(u,0)
P40
图9.15 Bézier曲面的控制网格
Bézier曲面的矩阵表示是:
P(u, v) [J0,n (u) J1,n (u)
P00 P01
J
n,n
(u)]
P10
P11
角点共线的方法。
Q4
Q1
P1
。
P0
Q2
Q0
P2 Q3
• 四角点共线
若要使B样条曲线段之间切接入一段直线,可运用四
角点共线的方法。 Q5
Q1
Q2 。P1
P0
Q0
P2
P3
。