第34讲 三次样条曲线与参数样条曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
z 拉格朗日(Lagrange)插值 z 线性插值 z 三次样条插值
1
0.9
0.8
0.7
0.6
0.5
n=10
0.4
0.3
0.2
0.1
0
-6
-4
-2
0
2
4
6
2 1.5
1 0.5
0 -0.5
-1 -1.5
-5
n=10 y=1/(1+ x2)
n=4 n=2 n=6
n=8
0
5
1
0.9
0.8
0.7
0.6
0.5
subplot(122);plot(u,F0c,'-r','LineWidth',2);title('埃 尔米特基函数的导数'); hold all; plot(u,F1c,'--r','LineWidth',2); plot(u,G0c,'-b','LineWidth',2); plot(u,G1c,'--b','LineWidth',2);
λ1m0 + 2m1 + μ1m2 = C1
λimi-1 + 2mi + μimi+1 = Ci
……
λn-1mn−2 +2mn-1 +μn-1mn = Cn-1
如何求解:(n-1)个线性方程,内节点的m1、
m2、
…、mn-1未知
30/61
15
三三次次样样条条函函数数的的理理三论论基切基础础矢方程的边界条件
分段表示出的曲线一定是一阶连续。如果要二阶连 续,这些切矢量必须满足m关系式:
λimi-1 + 2mi + μimi+1 = Ci
y
yi-1 yi
a
xi-1 xi
bx
28/61
14
三三次次样样条条函函数数的的理理论论基基础础
一个问题
z 给定一批型值点,如何构造处二阶连续
的曲线?y
yi-1 yi
a
xi-1 xi
由于在各小段上M(x)是线性函数,因此可知,在各小段上函数y(x) 是x的三次多项式。在整个梁上,y(x)就是分段三次函数,但它具有直 到二阶的连续导数(因为从整个梁来说弯矩M(x)是连续的折线函数)1。7/61 这一力学背景导致了数学上三次样条函数概念的建立。
二、三次样条曲线(三次样条函数及其力学背景) 2. 三次样条函数的定义
0.4
0.3
0.2
0.1
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
5/61
工工程程中中构构造造曲曲线线的的要要求求
设计对曲线的要求
z 形象直观 z 易于交互 z 计算简单
6/61
3
工工程程中中构构造造曲曲线线的的要要求求
几种典型的设计方法
z Bézier方法 z B样条方法 z NURBS方法
7/61
三三次次样样条条函函数数及及其其力力学学背背景景
样条函数的由来
飞机、船体、汽车外形的放样(设计)
8/61
4
三三次次样样条条函函数数及及其其模力力线学学背背绘景景制的一般过程
打点:按给定的数据将型值点准确地点在图板上
描线:用“压子”使“样条”通过型值点
9/61
三三次次样样条条函函数数及及其其力力学学背背景景
模线的形状特征
分段:两个“压子”之间可以认为是一段。数学本质 是每两个“压子”之间曲线的表达式不同 光滑:不象每两点之间之间连线那样有明显的棱 角。数学本质是整条曲线具有连续的导函数
解:设三次插值函数
,对y(u)求一阶导数,即
a0 = y0 a0 + a1 + a2 + a3 = y1
a 1= y0' a1 + 2a2 + 3a3 = y1'
,根据端点条件,u=0,y0,y0’ u=1, y1,y1’ 代入端点条件
⎡1 0 0 0⎤⎡a0 ⎤ ⎡ y0 ⎤
⎢⎢1 ⎢0 ⎢⎣0
1 1 1
y(u) = [F0 (u)
F1 (u )
G0 (u)
⎡ y0 ⎤
] G1(u)
⎢ ⎢ ⎢ ⎢ ⎣
y1 y0' y1'
⎥ ⎥ ⎥ ⎥ ⎦
22/61
11
function hermit() %画出Hermit基函数 close all; u=linspace(0,1,20);
F0=2*u.^3-3*u.^2+1; F1=-2*u.^3+3*u.^2; G0=u.*(u-1).^2; G1=u.^2.*(u-1);
有理函数 --有理函数插值:
12/61
6
一、背景知识
对于寻求一个n次的代数多项式插值,必须给出n+1互异的插值基点 Pn(x)=a0+a1x+a2x2+…+anxn Pn(xi)=yi i=0,1…n
由于x0,x1…xn互异, 因此a0,a1,…an唯一确定
13/61
一、背景知识
但是: (1)必须求解n+1个线性方程组 计算复杂 (2)次数越高,系数a0,a1,…an越多,物理概念难于理 解,会产生不希望有的波动 。
① 已知m0和mn
23/61
三三次次样样条条函函数数的的理理论论基基础础
基函数的作用
z 基函数不同就会导致曲线类型不同
Ferguson曲线 Hermite基函数
Bézier曲线 Bernstein基函数
B样条曲线 B样条基函数
24/61
12
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)
3. Step2:从[0,1]区间上推广到[xi-1,xi]区间.
选择一个函数φ(x)使得 φ(xi)=yi i=0,1…n作为f(x)的近似,这样函数逼近为插值问题 满足上述关系式的函数φ(x)为f(x)的插值函数 f(x)被插函数 x0,x1…xn为插值基点
11/61
一、背景知识
函数φ(x)选择不同,就产生了不同类型的插值 代数多项式--代数多项式插值
φ(x)为 三角多项式--三角多项式插值
插值与逼近统称为拟合(fitting)。
16/61
8
二、三次样条曲线(三次样条函数及其力学背景)
1.数学上的三次样条函数的来源
“样条”工具 有机玻璃或木条 压铁(型值点)
Байду номын сангаас
物理上 弹性细梁弹性细梁在外加集中栽荷作用下产生的弯曲变形
欧拉公式 M(x)弯矩
平面曲线的曲率
P(x)梁的曲率半径
E 、J与梁材料有关 的常数
15/61
一、背景知识
逼近: 在某些情况下,测量所得或设计员给出的数据点本身就很粗糙,要求
构造一条曲线严格通过给定的一组数据点就没有什么意义。更合理的提 法应是,构造一条曲线使之在某种意义下最为接近给定的数据点,称之 为对这些数据点进行逼近(approximatton),所构造的曲线称为逼近曲 线。这些数据点若原来位于某曲线上,则称该曲线为被逼曲线(原始曲 线)。构造逼近曲线所采用的数学方法称为曲线逼近法。类似地,可将 曲线逼近推广到曲面。 拟合:
−1⎥
1
⎥ ⎦
⎢ ⎢ ⎣
y0' y1'
⎥ ⎥ ⎦
⎡a0 ⎤
⎡ 1 0 0 0 ⎤ ⎡ y0 ⎤
y(u) = ⎡⎣1
u
u2
u3
⎤⎦
⎢ ⎢
a1
⎢ ⎢ ⎣
a2 a3
⎥ ⎥ ⎥ ⎥ ⎦
=
⎡⎣1
u
u2
u
3
⎤⎦
⎢ ⎢ ⎢
0 −3
⎢ ⎣
2
0 3 −2
1 −2 1
0
⎥ ⎥
⎢ ⎢
y1
⎥ ⎥
−1⎥
1
⎥ ⎦
⎢ ⎢ ⎣
y0' y1'
10/61
5
一、背景知识 2.插值问题
在生产领域和科学研究中,要反复研究自然规律之间的函数关系, 而往往因素之间的关系很难有明显的函数关系,通常只是由观察和测 量到的一些离散数值。
插值 设法建立一个较简单的函数φ(x),用φ(x)近似表示原来的函数关 系f(x),即φ(x)= f(x)
具体地:给出一张函数表
⎥ ⎥ ⎦
= [F0 (u)
F1 (u )
G0 (u)
⎡ y0 ⎤
G1
(u
)
]
⎢ ⎢ ⎢ ⎢ ⎣
y1 y0' y1'
⎥ ⎥ ⎥ ⎥ ⎦
21/61
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)
埃尔米特基函数F0,F1,G0,G1对曲线的影 响为: • F0,F1专门控制端点的函数值对曲线形状 的影响,而同端点的导数值无关; • G0,G1则专门控制端点的一阶导数值对曲 线形状的影响,而同瑞点的函数值无关。 • F0,G0控制左端点的影响, • F1与G1则控制右端点的影响。
关键: [xi-1,xi],引入u,作线性变换,变换到[0,1]
y(u) = [F0 (u)
F1 (u )
G0 (u)
⎡ y0 ⎤
] G1(u)
⎢ ⎢ ⎢ ⎢ ⎣
y1 y0' y1'
⎥ ⎥ ⎥ ⎥ ⎦
25/61
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线) 4. Step3:进行拼接
26/61
CAD/CAM技术基础
第三讲:三次样条曲线和参数样条曲线
2009年3月
1/61
上课内容
一、背景知识(放样,设计,插值问题等若干问题) 二、三次样条曲线
(1)三次样条函数及其力学背景 (2)用型值点处的一阶导数表示的三次样条曲线 (3)用型值点处的二阶导数表示的三次样条曲线 (4)三次样条在曲线拟合中的局限性、解决办法等
bx
(1)按照m关系式构造出方程组,称该方程组为三切矢方程 (组),计算出各型值点处的切矢量;
(2)各型值点之间的曲线段表示为:
y(x) = yi-1F0(u)+ yiF1(u)+[himi-1G0(u)+ himiG1(u)] 29/61
三三次次样样条条函函数数的的理理论论基基础础
三切矢方程的普通表达形式
13
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线) 5. 结论:m-关系式
注意端点条件
27/61
一 个 结 论 三三次次样样条条函函数数的的理理论论基基础础
z 对于如图所示的型值点列,如果每个点处的且方向m已 知,那么按照表达式:
y(x) = yi-1F0(u)+ yiF1(u)+[himi-1G0(u)+ himiG1(u)]
足三次样条曲线的定义(在[x0,xn]上两次连 续可导),那么各连接点处(型值点)的一 阶导数mi必须满足一定的关系式-m关系式
19/61
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线) 2. Step1:[0,1]区间上带一阶导数的插值问题
条件:两个端点处的值与一阶导数值 求:三次插值函数 中的四个系数a0,a1,a2,a3
三、弗格森曲线
(三次参数曲线段、三次参数样条的一种特殊情况)
四、参数样条曲线(累加弦长)
2/61
1
一、背景知识
1.放样与设计
放样
设计
3/61
工工程程中中构构造造曲曲线线的的要要求求
放样对曲线的要求
z 点点通过 ——插值 z 光顺 z 计算简单
4/61
2
工工程程中中构构造造曲曲线线的的要要求求 几种典型的插值法
20/61
10
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)
例题:曲线段方程y(u)=y0F0(u)+ y1F1(u) + y’0G0(u) + y’1G1(u),式中F0(u)、 F1(u) 、 G0(u)、G1(u)称为埃尔米特基函数或三次混合函数。试描述一下上述 四个混合函数对曲线形状的影响。
由样条函数构成的曲线称为样条曲线。
当要求在每个数据点处三阶或更高阶的导数也连续时,就要用高次样条,
例如,五次样条有四阶导数连续。
18/61
9
二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)
1. 问题的提出:
分段来考虑 Step1:[0,1]区间上带一阶导数的插值问题。 Step2:从[0,1]区间上推广到[xi-1,xi]区间. Step3:为了保证分段的三次参数曲线拼接时满
1 0 2
1⎥⎥ 0⎥ 3⎥⎦
⎢ ⎢
a1
⎢⎢a2 ⎣a3
⎥ ⎥ ⎥ ⎥ ⎦
=
⎢ ⎢ ⎢ ⎢ ⎣
y1 y0' y1'
⎥ ⎥ ⎥ ⎥ ⎦
即
⎡a0 ⎤ ⎡ 1 0 0 0 ⎤ ⎡ y0 ⎤
⎢ ⎢
a1
⎥ ⎥
=
⎢ ⎢
0
⎢ ⎢ ⎣
a2 a3
⎥ ⎥ ⎦
⎢−3
⎢ ⎣
2
0 3 −2
1 −2 1
0
⎥ ⎥
⎢ ⎢
y1
⎥ ⎥
F0c=6*u.^2-6*u; %F0的一阶导数 F1c=-6*u.^2+6*u; %F1的一阶导数 G0c=3*u.^2-4*u+1; %G0的一阶导数 G1c=3*u.^2-2*u; %G1的一阶导数
subplot(121);plot(u,F0,'-r','LineWidth',2);title('埃 尔米特基函数'); hold all; plot(u,F1,'--r','LineWidth',2); plot(u,G0,'-b','LineWidth',2); plot(u,G1,'--b','LineWidth',2);
因此: 为通过较多的数据点,而盲目地提高插值多项式
的次数是不恰当的,宁可采用分段低次多项式(例如 三次)
14/61
7
一、背景知识
三次样条函数-> 三次样条曲线 就是一个分段三次多 项式插值,能保证曲线上斜率连续变化(c1连续)、曲率 连续变化(c2连续)。
分段线性插值 c0连续 位置连续 分段二次插值 c1连续 位置连续,斜率连续 分段三次插值 c2连续 位置连续,斜率连续,曲率连续: