APP下载

B样条曲面拼接方法的设计与研究

2019-01-18吴丽娟

关键词:样条表达式曲面

吴丽娟, 韩 松, 李 博

(沈阳师范大学 物理科学与技术学院, 沈阳 110034)

0 引 言

曲面拼接在工程设计中的广泛应用,使其成为了目前科研领域中的重要课题,而曲面拼接在许多学者的探索下,诞生了很多种曲面拼接的方法。滚动球法是由Rossignac和Requicha提出[1],滚球法可以概括为一个球与2个待拼接曲面同时相切的球滚动时形成的扫掠曲面。偏微分方程法(PDE)在几何造型中的最初应用就是构造过渡面[2]。蒙皮是应用在飞机业和船舶业中包围在骨架结构外形成的维形构件。蒙皮构造法由Woodward提出,这个过程就如在建造机翼时在一系列翼肋组成的骨架上加上一张蒙皮,这样子机翼蒙皮就称为扫掠曲面。它的主要原理是通过一个拓扑点阵,或者离散的点云,这种方法在数学上就是通过在这些点阵和截面曲线间插值来构造过渡曲面。PDE法设计曲面节省资源,条件是切触线并计算待拼接曲面与过渡曲面的跨界导矢;构造过渡曲面只需要给出待拼接曲面边界上的点和待拼接曲面和过渡曲面间的跨界导矢就能生成光滑过渡面;可调整待拼接曲面边界上的点和待拼接曲面和过渡曲面间的跨界导矢来改变过渡面的形状。偏微分方程法又相继发展出许多新的求解过渡曲面方法,如Lihua.You[3]的先后提出的四阶偏微分方程法和特征函数法。本文在查阅大量参考文献的基础上,设计了3个矢量参数下的求解PDE的方法,并通过该方法实现了曲面的C1连续拼接[4]。

1 B样条曲线与曲面

1.1 B样条曲线

B样条曲线具有局部性、连续性、凸包性、变差缩减性等特点。

B样条曲线定义公式:

(1)

Pi(i=0,1,…,n-1,n)为控制多边形顶点,顺序连成的折线称为控制多边形[5],Ni,k(t)(i=0,1,…,n-1,n)称为B样条基函数,它是由节点矢量的非递减参数T的序列,由t0≤t1≤…≤tn决定的[6]。本文利用VC2010, 根据B样条曲线基函数公式设计出B样条曲线在控制顶点不断变化下产生的曲线,产生曲线如图1所示[7]。

图1 B样条曲线的生成Fig.1 Gernervation of B-spline curves

1.2 B样条曲面

由于B样条曲面的特点是局部支撑性、连续性、凸包性和变差缩减性,B样条曲面方法可以处理曲面的重建工程, B样条曲面造型技术广泛的应用在工程设计中,并且成为了当今最广泛流行的数学模型分析的主要选择方案[8]。

图2 B样条曲面的生成Fig.2 Gernervation of B-spline curves

B样条曲面是在已知参数向量u,v的节点向量u=[u0,u1,…,um+p]和v=[v0,v1,…,vn+q],p×q阶B样条曲面表达式定义如下[9]:

(2)

其中,Pi,j(i=0,1,…,m;j=0,1,…,n)是给定空间(m+1)×(n+1)个点列,构成一张离散的控制点网格,称为B样条曲面的特征网格。Ni,p(u)和Nj,p(v)是B样条函数,分别由节点向量U和V按B样条曲面基函数所得。B样条曲面继承了B样条曲线的一些特性[10]。

1.3 构造B样条曲面

首先通过读取出2个5×5离散控制点数据来绘制出控制点网格。再在基于B样条曲线曲面基函数公式绘制出一个基于散乱数据点B样条曲面网格,再用相同的方法绘制出第2个基于散乱数据点下的B样条曲面网格,这样就绘制出了2个待拼接的曲面。

2 曲面拼接的构造

2.1 曲面拼接的偏微分方程法

在实际工程应用中,生成曲面需要以下3种条件中的一种或者几种:1)功能上的限制,2)实际应用中的限制,3)美观程度,这样符合要求的曲面称为过渡曲面。在数学上,过渡曲面的构造可以看作求解:在已知待拼接曲面边界上的点的曲面上,计算出待拼接曲面间符合待拼接曲面边界上点的函数曲面w(u,v),典型的待拼接曲面边界上的点是以w及其偏导数在给定待拼接曲面边界上点的值的形式给出的,偏导数的阶数由过渡曲面与待拼接曲面间的连续性要求所决定[11]。

本文采用偏微分方程法生成过渡面的实现:1)首先设计偏微分方程过渡曲面表达式,2)求得待拼接曲面边界上的点,3)计算偏微分方程,4)求得待拼接曲面。关键步骤就是如何求解偏微分方程。本文主要阐述了在3个矢量参数下的求解PDE的方法,并通过该方法实现了曲面的C1连续拼接[12]。

2.2 拼接算法实现

设待求过渡曲面的表达式为:

(3)

为了实现曲面的拼接,设计运用3个矢量参数的4阶偏导数实现曲面的C1连续。

图3 过渡曲面与原曲面位置关系及符号Fig.3 Symbol of relation between transition and original surface

为了实现曲面的C1连续,首先构造偏微分方程表达式:

(4)

这里w=w(u,v)表示待生成的过渡曲面,a=[axayaz]T,b=[bxbybz]T,c=[cxcycz]T是3个矢量值参数也就是形状参数。因此如果w(u,v)边界线与2个待拼接曲面的过渡切触线能够达到一阶(C1)连续,那么生成的过渡曲面也是满足C1连续的[13]。

根据曲面C1连续的条件,为了求得w(u,v)的表达式,首先需要知道2个待拼接曲面的边界条件,构造待拼接两曲面边界满足如下定义:

(5)

其中,G1(v)、G3(v)是2个曲面的边界曲线,G2(v)、G4(v)是边界曲线的一阶导,G1(v)、G2(v)是其中一个待拼接曲面边界上的点,G3(v)、G4(v)是另一个待拼接曲面边界上的点,如果w(u,v)符合等式(5)的要求,则w(u,v)一定就与2个待拼接曲面达到C1连续。因为直接求解w(u,v)的表达式是非常困难的,而且在边界上w(u,v)都是关于v的函数,下面采取如下方法求解w(u,v)的近似表达式[14-15]。Gi(v)i=1,2,3,4通常都是简单函数的集合,所以设计下面的方程来重新表达Gi(v):

(6)

(7)

为了求解式(6),先引入半解析法,转换成如下形式:

(8)

将式(8)代入到式(7)当中去,则有:

(9)

将式(9)代入到式(8)当中去,则有可得到ci0,ci1,ci2,bi1,bi2的值,则有:

可得:

(11)

为了验证本算法,分别设3个形状参数:ax=ay=az=1,bx=by=bz=4,cx=cy=cz=9求得x,y,z的表达式分别如下:

(12)

那么接下来就是求解未知常数ax10,ax11,ax12,ax13,ay10,ay11,ay12,ay13,az10,az11,az12,az13,首先根据边界条件(5)、(6)求得az10,az11,az12,az13的值az10=3,az11=-4,az12=8,az13=6,最后求得x,y,z的表达式为:

(13)

双圆柱曲面拼接结果如图4所示。

图4 通过改变控制矢量实现的曲面拼接的改变Fig.4 Realize the change of surface joining by change control vector

分别是ax=ay=az=1,ax=ay=az=2,ax=ay=az=3,可以发现当a的数值发生变化时,拼接曲面的改变会比较大。

3 结 论

在综合论述B样条曲线曲面生成原理的基础上设计了通过3个矢量形状参数4阶偏微分方程的算法来完成B样条曲面C1连续拼接,较好的解决了曲面形状微调的问题,有利于曲面形状的控制,而且在曲面闭合的情况或非闭合情况下都可应用,能够较好的满足实际需要,为曲面的光滑拼接的研究提供了理论基础。本算法实现了一阶连续曲面拼接,在此基础上可扩展到对高阶连续曲面的拼接需求,满足实际工程领域的需要。

猜你喜欢

样条表达式曲面
一元五次B样条拟插值研究
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
相交移动超曲面的亚纯映射的唯一性
圆环上的覆盖曲面不等式及其应用
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
基于曲面展开的自由曲面网格划分