郭云欣第三章参数多项式插值与逼近3.5张量级曲面3.6曲面数据的参数化3.7参数双三次曲面小结第三章参数多项式插值与逼近3.5张量积曲面直纹面一般由一条母线沿两条准线运动产生。当两条准线分别由两个端点𝑃00与𝑃01,𝑃10与𝑃11做线插值且同取一参数v的直线段时,则可分别表示为1−𝑣𝑝00+𝑣𝑝01与1−𝑣𝑝10+𝑣𝑝11,0≤v≤1这里1—v与v是两者共同的基。若取定一参数v,则在每一准线上各得一点。取u为参数,以所得两点再作线性插值,则得直母线(1-u)[(𝑣1−𝑣𝑝00+𝑣𝑝01]+u1−𝑣𝑝10+𝑣𝑝11=(1—u)1−𝑣𝑝00+u(1−v)𝑝10+1−𝑢𝑣𝑝01+𝑢𝑣0≤u≤1这里1-u与u为母线的基时,直母线沿两直准线运动从而在空间扫出了一张直纹面,称为双线性插值曲面。曲面的一组基时双变量u与v的一组函数(1-u)(1-v),u(1-v),(1-u)v,uv。改写上式为矩阵表示的双线性插值曲面方程p(u,v)=[1-uu][𝑝00𝑝01𝑝10𝑝11][1−𝑣𝑣]0≤u,v≤13.5张量积曲面双线性曲面的两族等参数线都是直线。点𝑝00、𝑝10、𝑝01、𝑝11就是曲面片的4个角点,上式右端中间那个矩阵若前乘则得到两个u参数边界,若后乘列阵则得到两个v参数边界。CAGD应用最广泛的一类曲面生成方式是1定义曲线2线动成面。一般地,可以给出如下的定义:设在一u参数分割⊿𝑢:𝑢0𝑢1⋯𝑢𝑚上定义一组以u为变量的基φ𝑖𝑢𝑖=0,1…,𝑚。又在一v参数分割⊿𝑣:𝑣0𝑣1⋯𝑣𝑛上定义一组以v为变量的基φ𝑗𝑣𝑗=0,1…,𝑛。在两组基中各取一个基函数的乘积(m+1)×(n+1)个φ𝑖𝑢φ𝑗𝑣𝑖=0,1…,𝑚;𝑗=0,1…,𝑛。3.5张量积曲面把u和v看作为一组基,分别加权于相应的系数矢量𝑎ij(𝑖=0,1,…,𝑚:𝑗=0,1,…,𝑛),则定义在uv平面的矩形区域𝑢0≤𝑢≤𝑢𝑚,𝑣0≤𝑣≤𝑣𝑛上的一张曲面p(u,v)=[φ0𝑢φ1𝑢…φ𝑚𝑢]𝑎00𝑎01𝑎10𝑎11⋯𝑎0𝑛⋯𝑎1𝑛⋮⋮𝑎𝑚0𝑎𝑚1⋮⋯𝑎𝑚𝑛𝜓0(𝑣)𝜓1(𝑣)⋮𝜓𝑛(𝑣)或改写为P(u,v)=𝑎𝑖𝑗𝑛𝑗=0𝑚𝑖=0φ𝑖𝑢ψ𝑗𝑣(3.9)采用这种方式定义的曲面称为张量积曲面或者笛卡尔积曲面。3.5张量积曲面类似双线性曲面,可以把(3.8)式右端中间长方阵的m+1行后乘列阵看做定义了m+1条以v为参数的准线,取定一v值,则得每一条准线上的一点,共m+1个点,又视为系数矢量;再前乘行阵,就定义一条以u为参数的母线。当v从𝑣0变化到𝑣𝑛,沿着m+1条准线运动着的去母线同时改变形状,在空间扫出一张曲面。也可将长方阵先乘行阵得到以u为参数的n+1条准线,再后乘列阵,生成同一张曲面。准线不一定位于曲面上,母线运动形成了曲面的一簇等参数线,同时形成曲面。张良积曲面的主要优点之一时,可将曲面问题化解为较简单曲线问题来处理,这给理论分析与编程计算都带来莫大的方便。张量积曲面适合于工程实际中广泛存在的拓扑上呈矩形的曲面形状。3.6曲面数据化的参数化张量积曲面要求给出两个参数分割⊿𝑢:𝑢0𝑢1⋯𝑢𝑚与⊿𝑣:𝑣0𝑣1⋯𝑣𝑛。这决定了曲面的矩形参数域𝑢0≤𝑢≤𝑢𝑛,𝑣0≤𝑣≤𝑣𝑚。在uv参数平面上,直线u=𝑢𝑖(𝑖=0,1,⋯,𝑚)与v=𝑣𝑗𝑗=0,1,⋯,𝑛分别称为𝑣向与𝑢向节点线。这些节点线把该区域划分为m×n个子矩形域(见图3.12),称为矩形参数域的矩形网格分割。网格节点两组节点线的交点即自矩形的顶点称为网络分割点。曲面网格线两组节点线对应曲面上的两组等参数线,称之为曲面网格线3.6曲面数据化的参数化矩形参数域内的网格节点对应曲面网络线的交点。因此,同一条u向网格线上的数据具有想用的v参数值,同样,同一条v向网格线上的数据点具有相同的u参数值。所有的u向网格线具有相同的参数分割⊿𝑢,所有的v向网格西安具有相同的参数分割⊿𝑣。两个参数分割完全决定了(m+1)×(n+1)个数据点的参数值。数据点𝑝ij的一对参数值(𝑢𝑖,𝑣𝑗)中的两个参数𝑢𝑖,与𝑣𝑗分别是两参数分割⊿𝑢与⊿𝑣中的节点。曲面数据点的参数化就是给每一数据点𝑝ij赋予一对参数值,是位于插值曲面上的这些点与uv参数域内的点建立一一的相关对应关系。对于数据点称为网格线角点的张量积插值曲面来说,数据点的参数化就是要决定两个参数的分割。3.6曲面数据化的参数化曲面数据点参数化的要求:1)所有的v向节点线具有相同的参数分割⊿所有的u向节点线具有相同的参数分割⊿u2)要求同一条u向节点线具有相同的v值,同条v向节点线具有相同的u值。3)从曲面光顺的角度要求曲面上的等参数线须是光顺的。一、数据点的参数化困难之处:沿同一参数方向,不同等参数线上数据点的分布情况可能不同。解决方法:同一参数方向上公共的参数分割只可能是各种情况的混合和折衷,例如用算术平均值作为公共参数值3.6曲面数据化的参数化类似曲线数据点的参数化,曲面数据点的参数化也反映数据点分布情况,反映想要构造的插值曲面的性质。首先是曲面网格骨架线的性质。由于沿同一参数方向的网格线具有公共的参数分割,而在该方向的各排数据点分布一般都不一样,由各排数据点按其分布情况决定的各个参数分割也就不一样。公共的参数分割只能是唐门的混合或折衷。为了便于比较和混合,沿同一参数方向各排数据点应采用相同的曲线数据点的规范参数化方法。笔者建议一般采用规范弦长参数化法。若沿同一参数方向各排数据点的规范参数化都比较接近于均匀参数化。便可去均匀参数化。否则双向平均规范积累弦长参数法3.6曲面数据化的参数化设沿u向第j𝑗=0,1,⋯,𝑛排数据点𝑝ij𝑖=0,1,⋯,𝑚的规范积累弦长参数化为𝑢𝑖𝑗𝑖=0,1,⋯,𝑚,则公共的u向参数化可取他们的平均值类似的其中,𝑣𝑖𝑗为沿𝑣向第𝑖排数据点𝑝ij𝑖=0,1,⋯,𝑚的规范积累选厂参数化。3.6曲面数据化的参数化以本章第五节中的例子为例。要对呈拓扑矩形整列的曲面数据点构造一张拉格朗日曲面,先要对曲面数据点实行参数化。采用本节介绍的双向平均规范积累弦长参数化法,就可决定u与v的两个参数分割⊿𝑢:𝑢0𝑢1⋯𝑢𝑚与⊿𝑣:𝑣0𝑣1⋯𝑣𝑛。这样,才能分别把定义在割在⊿𝑢和⊿𝑢上的两组拉个朗日基函数确定下来,从而生成一张如式(3.9)和图3.11所示的u参数m次,v参数为n次的m×n次张量积拉个朗日插值曲面。上述双向平均规范积累弦长参数法适用于沿同一参数方向各排数据点的规范积累弦长参数法比较接近的场合。如果相差悬殊,例如图3.13所示那样,是不适合的。不过那种情况正如福克斯和普拉特所指出的,在工程实践中比较罕见。3.6曲面数据化的参数化具体决定参数化时,还根据实际情况及要求,确定切合实际与需要的参数化,不能生硬搬用上述方法。例如,当数据点沿纵向依次在各横截面内给出是,横截面方向的参数分割可按如上平均规范积累弦长参数化给出,纵向参数分割则应视各横截面在空间的分布给出。本节上述内容对张量积的分片插值曲面同样适用。类似地,对张量积分片插值曲面,通常参数域内的网格节点对应曲面网格线角点,即分片曲面的公共角点,也就是给定的数据点。用单一的曲面片作为插值曲面时,矩形参数域的划分可以不受矩形分割的限制,甚至数据点的给出也可以不受拓扑矩形阵列的限制,有关内容见后续章节。3.7参数双三次曲面片弗格森三次曲线其中,行阵中元素是以t为变量的一组三次艾尔米特基。弗格森进一步它来生成曲面。再取一组以s为变量的三次艾尔米特基:𝐹0(𝑆),𝐹1𝑆,𝐺0𝑆,𝐺1𝑆,其中0≤𝑠≤1,则可以给出曲面片的方程右端四阶方阵中16个系数矢量元素待定。3.7参数双三次曲面片将上式分别对s和t求偏导,分别得两簇等参数线s线与t线的切矢又同时对s和t求偏导得混合导矢将角点参数值s、t分别等于0,1一次代入上述4式,则可得出系数矢量元素为下式四阶方阵中的元素3.7参数双三次曲面片将上式右端四阶方阵中前两列元素前乘行阵得两s参数边界p(s,0)与p(s,1);前两行元素后乘列阵得两t参数边界p(0,t)与p(1,t);右下角二阶子块中4个元素当初别误解为与曲面扭度有关,称为扭矢。事实上,即使曲面片成为无扭曲的平面片,扭矢也不一定是零矢量。正确的称呼应该是混合偏导矢。不过请读者注意,在一些参考文献中已经习惯地称之为扭矢。弗格森将这4个角点混合偏导矢都取成零矢量。即有如下弗格森双三次曲面片方程3.7参数双三次曲面片曲面片如图3.14所示。当初名为FMILL的APT曲面拟合程序就应用这种类型的曲面片。弗格森双三次曲面片仅仅是一曲面片,它的4个角点就是给出的12个矢量定义数据中的4个数据点。它定义在单位正方形域上,表明已经对这4个曲面数据点实行了参数化,不必先按上节方法进行。也可以说属于曲面数据点最简单的情况,不论采用那种双向平均规范参数化,都得到与单位正方形域一致结果3.7参数双三次曲面片弗格森当时没有提及选择零扭矢可能产生的效果。福里特斯在他为贝齐尔一书写的附录2中指出,角点混合偏导矢取成零矢量可能导致在角点附近出现局部平坦现象,就是那些名声不好的零扭矢的平点。检点扭矢影响曲面片的内部形状。零扭矢的限制等于放弃了一类可选择的曲面片内部形状。但零扭矢并非总是不可取。如果使曲面片的边界线称为曲面的曲率线,其时角点扭矢就会消失为零,零扭矢就是自然合适的。如果允许角点混合偏导矢为非零矢量,则(3.13)则就成为所谓的孔斯双三次曲面片,它是孔斯曲面的一个特例3.7参数双三次曲面片弗格森与孔斯的双三次曲面片都定义在规范参数域0≤s,t≤1上的。将定义在人以区间上的参数三次曲线段(3.6)式推广用来生成张量积曲面,就相应得到定义在任意自矩形域0≤u,v≤1上的双三次曲面片3.7参数双三次曲面片方程右端行阵由式(3.7)给出,列阵为其中,Δ𝑗=𝑣𝑗+1−𝑣𝑗。式(3.15)定义的曲面片称为艾尔米特形式的参数双三次曲面片。右端四阶方阵中左上、左下、右上、右下二阶子块中的各4个矢量元素分别是曲面片的4个角点及其u向切矢与混合偏导矢。矩阵前两列元素后乘阵列分别得两个u参数边界p(u,𝑣𝑗)与p(u,𝑣𝑗+1)。矩阵前两行元素后乘列阵分别得到两个v参数边界p(𝑢𝑗,𝑣)与p(𝑢𝑗+1,𝑣)。小结在计算机处理方面,与其他类型函数相比,多项式函数具有一系列优点,使它在CAGD发展初期,成为人们首选旳基函数。将它用于构造多项式插值与逼近曲线曲面时,首先要对数据点实行参数化。曲线数据点常采用积累弦长参数化与规范积累弦长参数化,两者之间相差一个线性参数变换。有多种不同的多项式基,插值同一组n+1个数据点时,得到唯一不超过n次的多项式插值曲线。高次多项式插值存在的问题促使人们不得不采用分段低次多项式组合曲线。三次是合适的选择。弗格森参数三次曲线才用首末端点及其切矢有着明确的几何意义,但它对域变换的严重依赖性不和人意。几何特性分析不直接,尤其是不便于实现形状控制。将它推广到曲面就得到弗格森双三次曲面,零扭矢导致角点处出现伪平点,且等于放弃了可供选择的其他许多内部形状。因此,现在CAGD实践中已很少采用弗格森双三次曲面。谢谢