第56讲 孔斯曲面与双三次样条插值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中所用的常值数据可以是角点信息,也可以是顶点信息。这 种方法用得较普遍。
三、三种定义曲面的基本方法 (2)母线法: 用一组平面截线来描述曲面
母线法就是用单变量算子对给出的一组曲线插值出曲面来。 因此,母线曲面是用u向或w向的单变量数据(如一组或另一
组网格曲线)来定义的。
笛卡儿乘积曲面是母线曲面的一种特例。一般说来,因为母线 曲面是用曲线定义的,与定义笛卡儿乘积曲面所用的离散数据比 较起来,前者要用较多的几何信息。
认识了这些规律之后,就能容易地构造出满足更高阶边界条件 的孔斯曲面方程。 孔斯曲面的精彩之处:推广到满足任何高阶边界条件的曲面上去。 但是,往往无法提供这么多的边界信息。 办法:将边界信息(边界曲线和跨界斜率)用角点信息和混合函数来定义。
四、双三次曲面片(采用“埃尔米特”基函数)
曲面片r1+r2-r3为:
11
2.2 具有给定边界及跨界斜率的孔斯曲面
用途背景:简单曲面片有其本身固有的跨界斜率,设计曲面时, 常需在已有的曲面片上进行拼接,为了保证其拼接后曲面的光滑 性,必须进行具有给定边界及跨界斜率的曲面片构造
引入混合函数F0、F1、G0、G1:
已知条件:
2.2 具有给定边界及跨界斜率的孔斯曲面
先构造这样一张曲面片,使它以r(0,w)与r(1,w)为边 界,并以ru(0,w)与ru(1,w)为两条边界上的跨界斜率。
一、主线概述
F0 (u)
混合函数: F1(u) 在孔斯曲面的生成和表示中起着重要的作用
G0 (u) G1 (u )
将给定的两个端点和端点斜率加权平均而产生一条 曲线段
将给定的两对边界及其跨界斜率“混合”起来生成一 块曲面。
规定:当混合函数在行矩阵中出现时,其自变量是u; 在列矩阵中出现时,则以w为自变量。
10
2.1具有给定边界的孔斯曲面
2.1具有给定边界的孔斯曲面
分析简单曲面片之间的拼接:
对于位置连续:
公共的边界 r(1)(u,1)
r(1)(u,1)=r(2)(u,0)
对于跨界斜率: 假设在公共边界的两端点上,两曲面
片的两对边界分别相切,即切矢共线
r(2)(u,0)
根据前面公式:
得:
这表明:只要上述假设成立,则两曲面片在公共边界上各点(端点)的跨界 切矢共线,这就保证两块曲面片在公共边界的每一点上有公共的切平面。
类似地:
因此:简单曲面片的角点扭矢是零矢量。
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);
四、双三次曲面片(采用“埃尔米特”基函数)
另一种曲面的构造方法(母线法):
让这条u线作为“母线”,在两条“基线”r(0,w) 与r(1,w)上滑动,即让w从0变化到1,这样就 得到了全部u线,也就是扫出了整张曲面。 同样可得到式(1-100)
18
四、双三次曲面片(采用“埃尔米特”基函数)
分析曲面片中的信息方阵:
一类曲面。只要给出一张曲线网格,就可构造一张由这种类 型的曲面片组成的合成曲面。
2.1具有给定边界的孔斯曲面
小小结结
G G GG r = r1 + r2 - r3
8
2.1具有给定边界的孔斯曲面
为了发现孔斯曲面的规律,上述方程改写为:
三阶方阵 曲面片的边界信息方阵
性性质质
2.1具有给定边界的孔斯曲面
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);
的时候,必须反应出另外两条边界的信息。因此从这个层面上 讲,条件是充分条件。 因此给定曲面片的四条边界来构造曲面片的步骤如下: Step1:构造仅给出两条边界的曲面片(用单变量算子对给定的一组曲线插值出曲面) Step2:构造另外两条边界的曲面片。 Step3:为了包含给定四个边界的信息,将step1,step2加起来,构造 第3张曲面(笛卡儿乘积法,用网格交点信息来定义) Step4:为最后得到给定四条边界的孔斯曲面片(布尔和法)
w=0
ru (u,1)
W线上的切矢
rw (u,
w)
=
∂r(u, w) ∂w
rw (0, w) =
∂r(u, w) ∂w
u=0
rw (1, w)
一、主线概述
边界曲线上的法向(另一参数方向)偏导矢
边界曲线的跨界斜率
rw (u, 0) =
∂r(u, w) ∂w
w=0
rw (u,1)
ru (0, w)
ru (1, w)
参考书本p46-p47
16
四、双三次曲面片(采用“埃尔米特”基函数)
构造规律:对曲面片满足边界条件的要求提高一阶,曲面方程中 的边界信息方阵就要扩大二阶,并且要多用一对混合函数;边界信 息方阵的第一行与第一列包含着全部边界信息;余下的子方阵则包 含着角点信息;从边界信息方阵的分块中也可以很明显地看出方阵 中元素的分布规律。
因此
这反映了用布尔和构造孔斯曲面的实质及三种曲面定义方法之间的内在联系
三、三种定义曲面的基本方法
例题: 给定曲面片的四条边界r(0, w) r(1, w) r(u,0)
r(u,1),现要在两条u向边界之间进行线性插值,在w向边 界之间均进行三次插值,即构造1×3次(2×4阶)曲面片 ,试用Coons的方法构造具有上述给定边界而无其它要求的 曲面片,要求在曲面片表达式中具体写出满足要求的u向和 w向的混合函数,并依此说明布尔和曲面、母线曲面、笛卡 儿乘积曲面三者之间的关系。
一、主线概述
2.回顾一下在曲面论中的概念
参数方程:
曲面方程:
2
一、主线概述
ቤተ መጻሕፍቲ ባይዱr(0,0)
四个角点 r(0,1) r(1,0)
r(1,1)
四个边界
r(u,0) r(u,1) r(0, w) r(1, w)
U线上的切矢
ru
(u,
w)
=
∂r(u, ∂u
w)
边界曲线上的切矢
ru (u,0) =
∂r(u, w) ∂u
2.1具有给定边界的孔斯曲面
Step3:如果构造具有给定边界的曲面片,显然r1+r2不是所求 当w=0时 r1+r2: 当w=1时 r1+r2:
即:
Step4:r1+r2-r3 正是具有给定四条边界的曲面片
7
2.1具有给定边界的孔斯曲面
r1+r2-r3用矩阵来表示:
简单曲面片(或基本曲面): 除了给出四条边界以外,再没有任何限制。 从这个意义上说,简单曲面片是相当一般、相当灵活的
用上述混合函数,仿照带一阶导数的插值公式, 可将边界曲线和跨界斜率写为:
17
四、双三次曲面片(采用“埃尔米特”基函数)
曲面片r1+r2-r3简化为:
(1, 1)
(1-l00)这样的曲面片(称为张量积或笛卡儿乘 积曲面片),关键在于这两种方法都是用角点信 息和混合函数来定义边界信息;而且在定义边 界信息和构造曲面时采用了同样的混合函数。
15
三、三种定义曲面的基本方法
(3)布尔和法:
r1+r2-r3
表示为:
它是用u向和w向的单变量数据(即两个方向的网格曲线和跨界斜 率等边界信息)来定义的,所以它包括作为特例的沿任一方向的母 线法。
但构造布尔和曲面不能简单地把两张母线曲面相加,因为母线 法用了一组或另一组网格曲线上的数据,它包括了网格点上的所 有数据。如果简单地把两张母线曲面相加,就会把相交的网络点 数据算上两次。
2.1具有给定边界的孔斯曲面
Step1:构造仅给出u向两条边界r(0,w),r(1,w)的曲面片, 使用u向的混合函数
注意:混合函数不是唯一的,只要满足(1-78)式就行
6
2.1具有给定边界的孔斯曲面
Step2:构造另外两条边界w向 r(u,0),r(u,1)的曲面片,使用w向的 混合函数
注意:混合函数不是唯一的,只要满足(1-78)式就行
角点信息方阵 记为:B
(1, 1)
混合偏导矢(扭矢)
当用这种类型的曲面片来构造合成曲面时,为达到现有边界 的跨界斜率连续,只需要匹配相邻曲面片的相应角点处的三个矢量(ru 、rw、ruw)就行了。
四、双三次曲面片(采用“埃尔米特”基函数)
分析跨界斜率和角点扭矢:
简单曲面片:
对上式对w求偏导 令w=0
注意:边界r(u,o)上任一点处的跨界斜率,等于这 条边界的两个端点上的跨界斜率的线性组合,而同边界 曲线r(u,0)本身的形状无关。
9
2.1具有给定边界的孔斯曲面
分析跨界斜率和角点扭矢:
上式两边对u求导: 分别用u=0,u=1代入上式:
1
一、主线概述
简单曲面片(由四个边界组成)
曲面片
具有给定边界及跨界斜率、跨界曲率的孔斯曲面
双三次曲面片(弗格森三次曲面片)
(用角点信息矩阵:角点信息+混合函数)不需要边界信息
曲面片的光滑拼接
双三次样条插值(拚接成光滑曲面)
双三次样条函数-双三次样条曲面 c2连续
弗格森曲面
双三次样条插值所构造的参数样条曲面的特殊情况
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);
类比:三次样条曲线,弗格森曲线段、广义的埃尔米特插值
同样的另一对边界,曲面片表示为:
y(u) = [F0 (u)
F1 (u )
G0 (u)
⎡ y0 ⎤
] G1 (u )
⎢ ⎢ ⎢ ⎢ ⎣
y1 y0' y1'
⎥ ⎥ ⎥ ⎥ ⎦
12
2.2 具有给定边界及跨界斜率的孔斯曲面
r1+r2不是原始问题的解答,必须从中减去r3。 用角点信息来构造r3。
4
2.1具有给定边界的孔斯曲面 目的:构造一块仅给定边界的曲面片 方法:用混合函数与边界曲线混合而成。
混合函数:必须满足下列条件: 边界曲线:
2.1具有给定边界的孔斯曲面
给给定定四四条条边边界界,,如如何何 构构造造曲曲面面呢呢??
5
2.1具有给定边界的孔斯曲面
构建步骤:其实给定任何方向的两条边界曲线,只要与相应的混合函 数混合,就可构造满足条件的曲面片。(母线法、直纹面法) 但是:给定的四条边界曲线(任何曲面给定四条边界),在构造曲面
增加一对 混合函数
边界 信息
曲面边界信息方阵
角点信息
三、三种定义曲面的基本方法
(1)笛卡儿乘积法: (2)母线法 (3)布尔和法
14
三、三种定义曲面的基本方法 (1)笛卡儿乘积法:
由于所采用的单变量算子的类型不同,用这种方法可构造多种 笛卡儿乘积曲面,既包括后述的双三次曲面(1-100) ,也包括后 面要介绍的贝齐埃曲面和B样条曲面。
CAD/CAM技术基础
孔斯曲面与双三次样条插值
2009年3月
上课内容
一、主线概述 二、三种构造孔斯曲面的方法
(1)具有给定边界的孔斯曲面 (2)具有给定边界及跨界斜率的孔斯曲面 (3)具有给定边界及跨界斜率、跨界曲率的孔斯曲面
三、三种定义曲面的基本方法 四、双三次曲面片(采用“埃尔米特”基函数) 五、双三次样条插值(拟合曲面的一种有效方法) 六、弗格森曲面 七、双三次样条曲面的参数化
r1+r2-r3是原始问题所求。
2.2 具有给定边界及跨界斜率的孔斯曲面
改写成五阶方阵的形式:
边界及其跨界斜率 角点的位置矢量、切矢和扭矢
曲面边界信息方阵
13
2.3 具有给定边界及跨界斜率、曲率
用途背景:简单曲面片不仅有其本身固有的跨界斜率,而且 具有自己固有的跨界二阶导矢(孔斯近似称之为跨界曲率)。 因此,构造曲面时要匹配跨界斜率、曲率。
角点上的u向切矢或w向切矢
ru (0,0) =
∂r(u, w) ∂u
u=0 w=0
rw (0,0) =
∂r(u, w) ∂u
u=0 w=0
3
一、主线概述
混合偏导矢(或扭矢)
ruw
(u,
w)
=
∂r 2 (u, w) ∂u∂w
角点r(0,0)扭矢
ruw (0,0) =
∂r 2 (u, w) ∂u∂w
u=0 w=0
相关文档
最新文档