三次参数样条曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三次参数样条曲线的表达式 p(t)=B1+B2t+B3t2 +B4t3 0<=t<=tm
在两点p1,p2之间定义一条该曲线(参数形式) 令p1t=0; p2t=t2; 已知: p’1, p’2 代入方程可得方程系数B1\B2\B3 \B4
p1 p2
三 次
p(0) p1 B1 p1 p(0) B2 p(t2 ) p2 B1 B2t2 B3t22 B4t23
的 三即
2B3i 6B4iti1 2B3i1
次
pi
参
[ti2
2(ti2 ti|1)
ti
1
]
pi1
数
pi2
样 条
3( ti1 ti2
(
pi2
pi 1 )
ti2 ti1
(
pi1
pi
))
曲 线
i 1, , n 2
连 续 的
令: 有
Bi
3( ti1 ti2
( pi2
pi 1 )
ti2 ti1
p2 )
p1 t22
p2 t22
]t
3
三
次
参 数 样 条 曲
对pi , pi1段有
pi (t)
pi
pit
[3( pi1 t2
i 1
pi )
2 pi ti1
pi1 ]t 2 ti1
[
2(
pi t3
i 1
pi1
)
pi t2
i 1
pi1 t2
i 1
]t
3
线
0 t ti1
推
导
连 续
由条件,
有
曲线在pi1应达到二阶连续
三次样函数的端点条件
(2)自由端:
端点处曲线二阶导数为零
即S1" (x1)=y1"=0 , Sn-1" (xn)=yn"=0 亦即 S1" (x1)= 2c1=0;=>M1=0
Sn-1" (xn)=2cn-1+6dn-1hn-1=0;=> Mn=0 得方程组:
M1=0; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1;
pi
ti1]
pi1
Bi
pi2
i 1, , n 2
三
(2)自由端
次 参 数 样 条 曲 线 端 点
已i 知1时: p:1 0 pn 0
3( p2 t22
p1) 2 p1 t2
p2 t2
0
2 p1 p2 i n 1时
3(
p2 t2
p1 )
2(
3(
pn
tn2
pn 1 )
2 pn 1 tn
Sn-1' (xn)=yn' 亦即yn-1'= bn-1= ( yn- yn-1)/ hn-1- hn-1(Mn-1/3+ Mn/6) Mn-1+ 2Mn=6[ yn' -( yn- yn-1)/ hn-1]/ hn-1 得方程组为:
2 M1+ M2=6[( y2- y1)/ h1- y1']/ h1; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1; Mn-1+ 2Mn=6[ yn' -( yn- yn-1)/ hn-1]/ hn-1;
2ci+6di hi=2ci+1 (求di) (4)令Mi=2ci; 则有:
ai = yi ci=Mi/2 di=( Mi+1- Mi)/6 hi bi =( yi+1- yi)/ hi- hi(Mi/3+ Mi+1/6)
三次样函数的形式推导
从而有:
ai-1 = yi-1 ci-1=Mi-1/2 di-1=( Mi- Mi-1)/6 hi-1 bi-1 =( yi- yi-1)/ hi-1- hi-1(Mi-1/3+ Mi/6) (5)由 Si-1' (xi)= Si' (xi) 有bi-1+2ci-1hi-1+3di-1 hi-12= bi 令:λi= hi-1/(hi-1+hi),μi= hi/(hi-1+hi) Di=6/(hi-1+hi)*[( yi+1-yi)/ hi-( yi-yi-1)/ hi-1]
参 p2 p(t2 ) B2 2B3t2 3B4t22
数 样
B3
3( p2 t22
p1 )
2 p1 t2
p2 t2
条 曲 线 推 导
从 B4而 有 2(:p1t23
p2 )
p1 t22
p2 t22
p(t )
p1
p1t
[
3(
p2 t22
p1 )
2 p1 t2
p2 t2
]t 2
[
2(
p1 t23
(
pi1
pi ))
三
pi
次 参 数
[ti2
2(ti2 ti|1)
ti 1 ]
pi1
Bi
i 1, , n 2
pi2
样 条
式中: p’i 第i点的切矢量为未知数, (i=1,…,n)
ຫໍສະໝຸດ Baidu
曲 线
求解n个未知数,要n个方程
连续的三次参数样条曲线端点条件
(1)夹持端 p1 pn 已知
方程为: [ti2 2(ti2 ti|1)
pn ) tn
6(
2(
pn1 tn3
pn )
pn 1 tn2
pn tn2
)
0
条 件
2 pn 1
pn
3( pn
tn
pn 1 )
三次参数样条曲线
求三次参数样条曲线的表达式
p(t)=B1+B2t+B3t2 +B4t3 0<=t<=tm (1)给点pi(i=1,…,n) (2)给端点条件
(3)解方程求各点切矢量;
(2)由Si' (x)= bi+2ci(x-xi)+3di(x-xi)2 有 Si' (xi)= bi
由Si" (x)= 2ci+6di(x-xi) 有 Si" (xi)= 2ci
三次样函数的形式推导
(3)要求曲线在二阶连续可导,则有
Si' (xi+1)= Si+1' (xi+1) Si" (xi+1)= Si+1" (xi+1) 从而有 bi+2cihi+3di hi2= bi+1
=>Mn-1= Mn 得方程组:
M1 - M2=0; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1;
Mn-1 - Mn=0;
三次样条曲线-程序
程序演示
三次参数样条曲线
有空间的n个点,p1,p2, p3,……,pn 要用一条三次参数样条曲线插值
p2
pn
p3 p1
p4
三次参数样条曲线定义
Mn=0;
三次样函数的端点条件
(3)抛物端: 曲首线尾的两首段尾曲两线段上S1二(x)阶和导S数n-1为(x常)为数抛。物线。即曲线在
y1" =y2" ,yn-1" =yn" S1" (x1)=2c1= S2" (x2)= 2c2
=>M1= M2 Sn-2" (xn-1)=2cn-2+6dn-2hn-2= Sn-1" (xn)= 2cn-1+6dn-1hn-1
(4)计算各段系数(取ti+1为第i段直线段长) (5)根据参数给各段曲线
p2
p5
p3 p1
p4
可得:λi Mi-1+2 Mi+μi Mi+1= Di,
其中:λi+μi=1,i=2,3,…,n-1
三次样函数的端点条件
(1)夹持端:
端点处一阶导数已知,即
S1' (x1)=y1' 亦即y1'= b1= ( y2- y1)/ h1- h1(M1/3+ M2/6) 2 M1+ M2=6[( y2- y1)/ h1- y1']/ h1
三次参数样条曲线
问题提出
有空间的n个点,p1,p2, p3,……,pn 要用一条曲线光滑连接
p2
pn
p3 p1
p4
解决问题的思路
插值 三次样条曲线 三次参数样条曲线
三次样条曲线-定义
对于给定的n个型值点Pi(xi,yi),且hi=xi+1-xi>0, i=1,2,…,n, 若y=S(x)满足下列条件: (1) 在Pi(xi,yi)点上有yi=S(xi); (2) S(x)在[x1 , xn]上二阶连续可导; (3)在每个子区间[xi , xi+1]上,S(x)是x的三次多项式; 则称S(x)为过型值点的三次样条函数,由三次样条函数 构成的曲线称为三次样条曲线。
三次样函数的形式推导
由定义可知在[xi , xi+1]上,Si(x)可写成: Si(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3
ai, bi, ci, di为待定系数
(1)由于yi=Si(xi), Si(xi+1)= Si+1(xi+1)= yi+1, 有 yi = ai ai+bihi+cihi2+dihi3= yi+1(用于求bi)
在两点p1,p2之间定义一条该曲线(参数形式) 令p1t=0; p2t=t2; 已知: p’1, p’2 代入方程可得方程系数B1\B2\B3 \B4
p1 p2
三 次
p(0) p1 B1 p1 p(0) B2 p(t2 ) p2 B1 B2t2 B3t22 B4t23
的 三即
2B3i 6B4iti1 2B3i1
次
pi
参
[ti2
2(ti2 ti|1)
ti
1
]
pi1
数
pi2
样 条
3( ti1 ti2
(
pi2
pi 1 )
ti2 ti1
(
pi1
pi
))
曲 线
i 1, , n 2
连 续 的
令: 有
Bi
3( ti1 ti2
( pi2
pi 1 )
ti2 ti1
p2 )
p1 t22
p2 t22
]t
3
三
次
参 数 样 条 曲
对pi , pi1段有
pi (t)
pi
pit
[3( pi1 t2
i 1
pi )
2 pi ti1
pi1 ]t 2 ti1
[
2(
pi t3
i 1
pi1
)
pi t2
i 1
pi1 t2
i 1
]t
3
线
0 t ti1
推
导
连 续
由条件,
有
曲线在pi1应达到二阶连续
三次样函数的端点条件
(2)自由端:
端点处曲线二阶导数为零
即S1" (x1)=y1"=0 , Sn-1" (xn)=yn"=0 亦即 S1" (x1)= 2c1=0;=>M1=0
Sn-1" (xn)=2cn-1+6dn-1hn-1=0;=> Mn=0 得方程组:
M1=0; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1;
pi
ti1]
pi1
Bi
pi2
i 1, , n 2
三
(2)自由端
次 参 数 样 条 曲 线 端 点
已i 知1时: p:1 0 pn 0
3( p2 t22
p1) 2 p1 t2
p2 t2
0
2 p1 p2 i n 1时
3(
p2 t2
p1 )
2(
3(
pn
tn2
pn 1 )
2 pn 1 tn
Sn-1' (xn)=yn' 亦即yn-1'= bn-1= ( yn- yn-1)/ hn-1- hn-1(Mn-1/3+ Mn/6) Mn-1+ 2Mn=6[ yn' -( yn- yn-1)/ hn-1]/ hn-1 得方程组为:
2 M1+ M2=6[( y2- y1)/ h1- y1']/ h1; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1; Mn-1+ 2Mn=6[ yn' -( yn- yn-1)/ hn-1]/ hn-1;
2ci+6di hi=2ci+1 (求di) (4)令Mi=2ci; 则有:
ai = yi ci=Mi/2 di=( Mi+1- Mi)/6 hi bi =( yi+1- yi)/ hi- hi(Mi/3+ Mi+1/6)
三次样函数的形式推导
从而有:
ai-1 = yi-1 ci-1=Mi-1/2 di-1=( Mi- Mi-1)/6 hi-1 bi-1 =( yi- yi-1)/ hi-1- hi-1(Mi-1/3+ Mi/6) (5)由 Si-1' (xi)= Si' (xi) 有bi-1+2ci-1hi-1+3di-1 hi-12= bi 令:λi= hi-1/(hi-1+hi),μi= hi/(hi-1+hi) Di=6/(hi-1+hi)*[( yi+1-yi)/ hi-( yi-yi-1)/ hi-1]
参 p2 p(t2 ) B2 2B3t2 3B4t22
数 样
B3
3( p2 t22
p1 )
2 p1 t2
p2 t2
条 曲 线 推 导
从 B4而 有 2(:p1t23
p2 )
p1 t22
p2 t22
p(t )
p1
p1t
[
3(
p2 t22
p1 )
2 p1 t2
p2 t2
]t 2
[
2(
p1 t23
(
pi1
pi ))
三
pi
次 参 数
[ti2
2(ti2 ti|1)
ti 1 ]
pi1
Bi
i 1, , n 2
pi2
样 条
式中: p’i 第i点的切矢量为未知数, (i=1,…,n)
ຫໍສະໝຸດ Baidu
曲 线
求解n个未知数,要n个方程
连续的三次参数样条曲线端点条件
(1)夹持端 p1 pn 已知
方程为: [ti2 2(ti2 ti|1)
pn ) tn
6(
2(
pn1 tn3
pn )
pn 1 tn2
pn tn2
)
0
条 件
2 pn 1
pn
3( pn
tn
pn 1 )
三次参数样条曲线
求三次参数样条曲线的表达式
p(t)=B1+B2t+B3t2 +B4t3 0<=t<=tm (1)给点pi(i=1,…,n) (2)给端点条件
(3)解方程求各点切矢量;
(2)由Si' (x)= bi+2ci(x-xi)+3di(x-xi)2 有 Si' (xi)= bi
由Si" (x)= 2ci+6di(x-xi) 有 Si" (xi)= 2ci
三次样函数的形式推导
(3)要求曲线在二阶连续可导,则有
Si' (xi+1)= Si+1' (xi+1) Si" (xi+1)= Si+1" (xi+1) 从而有 bi+2cihi+3di hi2= bi+1
=>Mn-1= Mn 得方程组:
M1 - M2=0; λi Mi-1+2 Mi+μi Mi+1= Di,i=2,3,…,n-1;
Mn-1 - Mn=0;
三次样条曲线-程序
程序演示
三次参数样条曲线
有空间的n个点,p1,p2, p3,……,pn 要用一条三次参数样条曲线插值
p2
pn
p3 p1
p4
三次参数样条曲线定义
Mn=0;
三次样函数的端点条件
(3)抛物端: 曲首线尾的两首段尾曲两线段上S1二(x)阶和导S数n-1为(x常)为数抛。物线。即曲线在
y1" =y2" ,yn-1" =yn" S1" (x1)=2c1= S2" (x2)= 2c2
=>M1= M2 Sn-2" (xn-1)=2cn-2+6dn-2hn-2= Sn-1" (xn)= 2cn-1+6dn-1hn-1
(4)计算各段系数(取ti+1为第i段直线段长) (5)根据参数给各段曲线
p2
p5
p3 p1
p4
可得:λi Mi-1+2 Mi+μi Mi+1= Di,
其中:λi+μi=1,i=2,3,…,n-1
三次样函数的端点条件
(1)夹持端:
端点处一阶导数已知,即
S1' (x1)=y1' 亦即y1'= b1= ( y2- y1)/ h1- h1(M1/3+ M2/6) 2 M1+ M2=6[( y2- y1)/ h1- y1']/ h1
三次参数样条曲线
问题提出
有空间的n个点,p1,p2, p3,……,pn 要用一条曲线光滑连接
p2
pn
p3 p1
p4
解决问题的思路
插值 三次样条曲线 三次参数样条曲线
三次样条曲线-定义
对于给定的n个型值点Pi(xi,yi),且hi=xi+1-xi>0, i=1,2,…,n, 若y=S(x)满足下列条件: (1) 在Pi(xi,yi)点上有yi=S(xi); (2) S(x)在[x1 , xn]上二阶连续可导; (3)在每个子区间[xi , xi+1]上,S(x)是x的三次多项式; 则称S(x)为过型值点的三次样条函数,由三次样条函数 构成的曲线称为三次样条曲线。
三次样函数的形式推导
由定义可知在[xi , xi+1]上,Si(x)可写成: Si(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3
ai, bi, ci, di为待定系数
(1)由于yi=Si(xi), Si(xi+1)= Si+1(xi+1)= yi+1, 有 yi = ai ai+bihi+cihi2+dihi3= yi+1(用于求bi)