本发明属于几何造型技术领域,尤其涉及一种基于B样条的插值曲线或曲面的增量伸缩平移构造方法。
背景技术:
插值样条曲线/曲面有不少构造方法,在几何造型中占有重要的地位。目前现有技术对有理三次样条以及它们在形状控制中的应用进行了研究以及对三角多项式的插值样条进行了研究,取得了一些有用的结果。但是,目前的的样条曲线/曲面不插值控制顶点,或者说不具有插值功能,生成的是自由曲线/曲面。
技术实现要素:
本发明的目的在于提供一种基于B样条的插值曲线或曲面的增量伸缩平移构造方法,旨在解决现有的样条曲线/曲面并不插值控制顶点的问题。
本发明是这样实现的,一种基于B样条的插值曲线或曲面的增量伸缩平移构造方法,所述基于B样条的插值曲线或曲面的增量伸缩平移构造方法构造插值于样条曲线/曲面的de Boor控制顶点的样条曲线/曲面;包括以下步骤:
步骤一,选取调配函数,作连结各样条小区间的两个端点的直线以及连结以及对应的两相邻de Boor控制顶点的直线,作各样条小区间上的样条曲线上的点与连结各样条小区间的两个端点的直线上的点的差得到增量向量;
步骤二,将增量向量通过伸缩后平移到连结两相邻de Boor控制顶点的直线上就得到了各样条小区间插值于de Boor控制顶点的插值曲线;
步骤三,对于三次B样条曲线,得到调配函数用Bézier形式的表示式,构造的插值于控制顶点的曲线是三次B样条插值曲线;对于四阶四次B样条曲线也可用增量伸缩平移方法,生成了相应的插值曲线,其调配函数中含有一个自由参数,是一个四阶四次B样条多项式。
进一步,构造插值曲线的方法包括:
给定型值点列d0,d1,d2,…,dm,补充辅助点d-2,d-1…和dm+1,dm+2…,样条结点序列为:
…≤t-1≤a=t0<t1<t2<…<tm-1<tm=b≤tm+1≤…;
将{dj}作为de Boor控制顶点序列,得n阶B样条曲线,记为:
其中Nj,n(t)是n阶B样条基函数,其支集设为区间为实数取整;
构造曲线dI(t),满足插值条件:
dI(tk)=dk,k=0,1,2,…,m。
进一步,插值曲线的构造方法进一步包括:
在每个区间样条子区间[ti,ti+1](i=0,1,2,…,m-1)上,连接B样条曲线段d(t)的两个端点d(ti)和d(ti+1)的直线段记为li(t),方程为:
li(t)=(1-Φi(t))d(ti)+Φi(t)d(ti+1),ti≤t≤ti+1;
而连接两相邻de Boor点di和di+1的直线段记为Li(t),方程为:
li(t)=(1-Φi(t))d(ti)+Φi(t)d(ti+1),ti≤t≤ti+1;
Li(t)=(1-Φi(t))di+Φi(t)di+1,ti≤t≤ti+1;
作曲线段d(t)与直线段li(t)在区间[ti,ti+1]上的差向量:
δi(t)=d(t)-li(t),ti≤t≤ti+1;
差向量伸缩,即得αδi(t),α>0,将其平移,使其起点落在直线段上的对应点处,即得:
dI(t)=Li(t)+αδi(t),ti≤t≤ti+1,i=0,1,2,…,m-1;
或写为:
dI(t)=[(1-Φi(t))di+Φi(t)di+1]+α[d(t)-(1-Φi(t))d(ti)-Φi(t)d(ti+1)];
ti≤t≤ti+1,i=0,1,2,…,m-1。
进一步,函数Φi(t)满足如下的条件:
Φi(t)在区间[ti,ti+1]上具有直到n-2阶的连续导数;
得:
Φi(t)在区间[ti,ti+1]为单调增函数,以避免直线段li(t)和Li(t)出现重结点。
进一步,三次B样条曲线转化为三次B样条插值曲线的方法为:
给定区间[a,b]的一个扩充分划:
t-9≤t-6≤t-3≤a=t0<t1<…<t3i<t3i+1<…<t3m-1<t3m=b≤t3(m+1)≤t3(m+2)≤t3(m+3);
及de Boor控制顶点序列;
d-1,d0,d1,d2,…,dm,dm+1,
区间[a,b]上以:{t-9,t-6,t-3,t0,t3,…,t3i,t3(i+1),…,t3(m-1),t3m,t3(m+1),t3(m+2),t3(m+3)};为样条结点的三次B样条曲线记为:
其中B样条基函数Nj,4(t)的支集上的样条结点为t3(j-2),t3(j-1),t3j,t3(j+1),t3(j+2);
构造一条三次B样条插值曲线dI(t),使得通过诸型值点列,即满足插值条件:
dI(t3k)=dk,k=0,1,2,…,m。
进一步,三次B样条曲线转化为三次B样条插值曲线的方法进一步包括:
(1)对于[t3i,t3i+3]上的B样条曲线段:
d(t)=Ni-1,4(t)di-1+Ni,4(t)di+Ni+1,4(t)di+1+Ni+2,4(t)di+2,t3i≤t≤t3i+3;
构造连接该曲线段两端点d(t3i)和d(t3i+3)的直线段li(t),使之满足条件:
1o.li(t)∈C2[t3i,t3i+3];
2o.li(t3i)=d(t3i),li(t3i+3)=d(t3i+3),
3o.曲线段li(t)在区间[t3i,t3i+3]上无重结点。
具有如下形式:
其中调配函数满足条件:
1o.
2o.
3o.函数在区间[t3i,t3i+3]上为单调增,从而
选取以t3i,t3i+1,t3i+2,t3i+3为单结点的三次样条函数,使之满足上述调配函数的三个条件,由条件1o和2o,经过计算得到的表达式如下:
其中是Bernstein基函数;
h3i+k=t3i+k+1-t3i+k,k=0,1,2;
易知0<ci0<ci1<ci2<ci3<1,是区间[t3i,t3i+3]上的单调增函数;
在等距结点情形:h3i=h3i+1=h3i+2:
(2)作曲线段di(t)与直线段li(t)在区间[ti,ti+1]上的差向量:
δi(t)=di(t)-li(t),t3i≤t≤t3i+3;
δi(t)有性质:
1o.δi(t)∈C2[t3i,t3i+3];
2o.δi(t3i)=δ(t3i+3)=0,差向量δi(t)描述了曲线段d(t)上和直线段li(t)上对应点处的增向量;
(3)引入伸缩因子α>0,作向量αδi(t),将其平移到直线段上,生成曲线段:
其中t3i≤t≤t3i+3,是连接两相邻de Boor点di和di+1的直线段;
副法线向量为:
γDi(t3i)=α2γd(t3i),γDi(t3i+3)=α2γd(t3i+3);
其中)分别表示曲线段Di(t)和d(t)的副法线向量。
进一步,构造三次B样条插值曲线方法包括:
其中t3i≤t≤t3i+3,i=0,1,2,…,m-1.也即:
t3i≤t≤t3i+3,i=0,1,2,…,m-1。
进一步,四阶四次B样条插值曲线的构造方法包括:
给定区间[a,b]的一个扩充分划:
t-6≤t-4≤t-2≤a=t0<t1<…<t2i<t2i+1<…<t2m-1<t2m=b≤t2(m+1)≤t2(m+2)≤t2(m+3);
及de Boor控制顶点序列:
d-1,d0,d1,d2,…,dm,dm+1;
区间[a,b]上以:
{t-6,t-4,t-2,t0,t2,…,t2i,…,t2(m-1),t2m,t2(m+1),t2(m+2),t2(m+3)};
为样条结点的四阶四次B样条曲线记为:
其中B样条基函数Ωj(t)的支集上的样条结点为:
t2(j-2),t2(j-1),t2j,t2(j+1),t2(j+2),j=-1,0,1,…,m+1;
在r(t)的基础上,构造一条四阶四次B样条插值曲线rI(t),使得它通过诸型值点列{dk},即满足插值条件:
rI(t2k)=dk,k=0,1,2,…,m;
连接曲线段r(t)两端点r(t2i)和r(t2i+2)的直线段记为:
连接两相邻de Boor点di和di+1的直线段记为:
调配函数ψi(t)的表达式为:
其中ei0是自由参数,
进一步,所述B样条插值曲面构造方法为:
(1)矩形域上双三次B样条插值曲面,给定矩形域[a,b;c,d]的一个扩充分划:
u-9≤u-6≤u-3≤a=u0<u1<…<u3i<u3i+1<…<u3m-1<u3m=b≤u3(m+1)≤u3(m+2)≤u3(m+3),
v-9≤v-6≤v-3≤c=v0<v1<…<v3i<v3i+1<…<v3n-1<v3n=d≤v3(n+1)≤v3(n+2)≤v3(n+3);
及de Boor控制网格顶点集:
{dij,i=-1,0,1,…m+1,j=-1,0,1,…,n+1};
则矩形域[a,b]×[c,d]上的双三次B样条曲面记为:
其中三次B样条基函数Ni,4(u)和的支集上的样条结点分别为:
{u3(i-2),u3(i-1),u3i,u3(i+1),u3(i+2)}和{v3(j-2),v3(j-1),v3j,v3(j+1),v3(j+2)};
构造双三次B样条插值曲面dI(u,v)如下:
其中:
u3i≤u≤u3i+3,v3j≤v≤v3j+3,i=0,1,2,…,m-1,j=0,1,2,…,n-1;
u,v分别取代原表达式中的t:
h3i+k=u3i+k+1-u3i+k和
分别取代原式中的h3i+k,k=0,1,2;
(2)矩形域上双四阶四次B样条插值曲面,给定矩形域[a,b;c,d]的一个扩充分划:
u-6≤u-4≤u-2≤a=u0<u1<…<u2i<u2i+1<…<u2m-1<u2m=b≤u2(m+1)≤u2(m+2)≤u2(m+3);
v-6≤v-4≤v-2≤c=v0<v1<…<v2i<v2i+1<…<v2n-1<v2n=d≤v2(n+1)≤v2(n+2)≤v2(n+3);
及de Boor控制网格顶点集{dij,i=-1,0,1,…m+1,j=-1,0,1,…,n+1},则矩形域[a,b]×[c,d]上的双三次B样条曲面记为:
其中三次B样条基函数Ωi(u)和的支集上的样条结点分别为:
{u2(i-2),u2(i-1),u2i,u2(i+1),u2(i+2)}和{v2(j-2),v2(j-1),v2j,v2(j+1),v2(j+2)};
构造双四阶四次B样条插值曲面rI(u,v)如下:
其中:
u3i≤u≤u3i+3,v3j≤v≤v3j+3,i=0,1,2,…,m-1,j=0,1,2,…,n-1;
u,v分别取代原表达式中的t:
h2i+k=u2i+k+1-u2i+k和
分别取代原式中的h2i+k,k=0,1。
本发明提供的基于B样条的插值曲线或曲面的增量伸缩平移构造方法,利用增量伸缩平移和张量积的方法,构造了矩形域上的插值于控制顶点网格的双三次B样条插值曲面B和样条插值曲面和双四阶四次B样条插值曲面,插值曲线/曲面的构造方法简洁,几何意义明显,与BURBS方法相容,对几何造型是有意义的。本发明提出了一个新的几何造型方法,这个方法解决了插值控制顶点的问题,对于逆向工程具有重要意义。
附图说明
图1是本发明实施例提供的基于B样条的插值曲线或曲面的增量伸缩平移构造方法流程图。
图2是本发明实施例提供的B样条插值曲线的增量平移构造方法示意图。
图3是本发明实施例提供的的分段三次Bernstein函数表示示意图。
图4是本发明实施例提供的增向量伸缩平移示意图。
图5是本发明实施例提供的三次B样条曲线转化为插值曲线示意图。
图6是本发明实施例提供的ψi(t)的分段四次Bézier函数表示示意图。
图7是本发明实施例提供的四阶四次B样条曲线转化为插值曲线示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例的基于B样条的插值曲线或曲面的增量伸缩平移构造方法构造插值于样条曲线/曲面的de Boor控制顶点的样条曲线/曲面;包括以下步骤:
S101:先选取适当的调配函数,作连结各样条小区间的两个端点的直线以及连结以及对应的两相邻de Boor控制顶点的直线,作各样条小区间上的样条曲线上的点与连结各样条小区间的两个端点的直线上的点的差得到增量向量;
S102:将这个向量通过伸缩后平移到连结两相邻de Boor控制顶点的直线上就得到了各样条小区间插值于de Boor控制顶点的插值曲线;
S103:对于三次B样条曲线,得到了调配函数用Bézier形式的表示式,构造的插值于控制顶点的曲线是三次B样条插值曲线;对于四阶四次B样条曲线也可用增量伸缩平移方法,生成了相应的插值曲线,其调配函数中含有一个自由参数,是一个四阶四次B样条多项式。
下面结合具体实施例对本发明的应用原理作进一步的描述。
本发明实施例的基于B样条的插值曲线或曲面的增量伸缩平移构造方法包括以下步骤:
1构造插值曲线的基本思路
给定型值点列d0,d1,d2,…,dm,必要时补充辅助点d-2,d-1…和dm+1,dm+2…等。又设样条结点序列为:
…≤t-1≤a=t0<t1<t2<…<tm-1<tm=b≤tm+1≤…;
将{dj}作为de Boor控制顶点序列,可得n阶B样条曲线,记为:
其中Nj,n(t)是n阶B样条基函数(可为多项式样条函数类,或非多项式样条函数类),其支集设为区间为实数取整。
欲构造曲线dI(t),使其满足插值条件:
dI(tk)=dk,k=0,1,2,…,m。
构造思路如下:
在每个区间样条子区间[ti,ti+1](i=0,1,2,…,m-1)上,连接B样条曲线段d(t)的两个端点d(ti)和d(ti+1)的直线段(即弦线段)记为li(t),其方程设为:
li(t)=(1-Φi(t))d(ti)+Φi(t)d(ti+1),ti≤t≤ti+1 (4.1.2)
而连接两相邻de Boor点di和di+1的直线段(即边线段)记为Li(t),其方程设为:
li(t)=(1-Φi(t))d(ti)+Φi(t)d(ti+1),ti≤t≤ti+1, (4.1.2)
Li(t)=(1-Φi(t))di+Φi(t)di+1,ti≤t≤ti+1, (4.1.3)
作曲线段d(t)与直线段li(t)在区间[ti,ti+1]上的差向量:
δi(t)=d(t)-li(t),ti≤t≤ti+1。 (4.1.4)
将此差向量作适当的伸缩,即得αδi(t),α>0,将其平移,使其起点落在直线段上的对应点处(如图2),即得:
dI(t)=Li(t)+αδi(t),ti≤t≤ti+1,i=0,1,2,…,m-1;
或写为:
dI(t)=[(1-Φi(t))di+Φi(t)di+1]+α[d(t)-(1-Φi(t))d(ti)-Φi(t)d(ti+1)], (4.1.5)
这里ti≤t≤ti+1,i=0,1,2,…,m-1。
为使曲线段dI(t)在ti和ti+1处满足给定的插值条件,且与d(t)有相同阶数的连续导数,函数Φi(t)需要满足如下的条件:
①Φi(t)在区间[ti,ti+1]上具有直到n-2阶的连续导数;
②
如此可得:
③Φi(t)在区间[ti,ti+1]为单调增函数,以避免直线段li(t)和Li(t)出现重结点。
这里的一个重要问题是如何根据上述条件①、②与③,构造适当的函数Φi(t)。
2三次B样条曲线转化为三次B样条插值曲线
给定区间[a,b]的一个扩充分划
t-9≤t-6≤t-3≤a=t0<t1<…<t3i<t3i+1<…<t3m-1<t3m=b≤t3(m+1)≤t3(m+2)≤t3(m+3);
及de Boor控制顶点序列;
d-1,d0,d1,d2,…,dm,dm+1,
区间[a,b]上以:{t-9,t-6,t-3,t0,t3,…,t3i,t3(i+1),…,t3(m-1),t3m,t3(m+1),t3(m+2),t3(m+3)};为样条结点的三次(也即四阶)B样条曲线记为:
其中B样条基函数Nj,4(t)的支集上的样条结点为t3(j-2),t3(j-1),t3j,t3(j+1),t3(j+2)。
将在d(t)的基础上,构造一条三次B样条插值曲线dI(t),使得它通过诸型值点列(de Boor控制顶点列),即满足插值条件:
dI(t3k)=dk,k=0,1,2,…,m。 (4.2.2)
构造分为四步完成。
(1)对于[t3i,t3i+3]上的B样条曲线段
d(t)=Ni-1,4(t)di-1+Ni,4(t)di+Ni+1,4(t)di+1+Ni+2,4(t)di+2,t3i≤t≤t3i+3;
构造连接该曲线段两端点d(t3i)和d(t3i+3)的直线段li(t),使之满足条件:
1o.li(t)∈C2[t3i,t3i+3];
2o.
3o.曲线段li(t)在区间[t3i,t3i+3]上无重结点。
为此可设其具有如下形式:
其中调配函数满足条件:
1o.
2o.
3o.函数在区间[t3i,t3i+3]上为单调增,从而
满足这些条件的的函数类型可以有多种选择。
譬如取为5次多项式,可得:
表达式简单,但是将使待构造的插值样条曲线升高到5次。
为保持不升高次数,选取是以t3i,t3i+1,t3i+2,t3i+3为单结点的三次样条函数,使之满足上述调配函数的三个条件。由条件1o和2o,经过计算得到的表达式如下:
其中是Bernstein基函数;
h3i+k=t3i+k+1-t3i+k,k=0,1,2;
易知0<ci0<ci1<ci2<ci3<1,因此(如图3)是区间[t3i,t3i+3]上的单调增函数,故满足所设的调配函数的三个条件。
特别地,在等距结点情形:h3i=h3i+1=h3i+2:
(2)作曲线段di(t)与直线段li(t)在区间[ti,ti+1]上的差向量:
δi(t)=di(t)-li(t),t3i≤t≤t3i+3;
显然δi(t)有性质:
1o.δi(t)∈C2[t3i,t3i+3];
2o.δi(t3i)=δ(t3i+3)=0,差向量δi(t)描述了曲线段d(t)上和直线段li(t)上对应点处的增向量。
(3)引入伸缩因子α>0,作向量αδi(t),将其平移到直线段上,生成曲线段:
其中t3i≤t≤t3i+3,是连接两相邻de Boor点di和di+1的直线段。
容易验证,曲线段Di(t)有如下性质:
1o.Di(t)∈C2[t3i,t3i+3],是以t3i,t3i+1,t3i+2,t3i+3为结点的三次样条曲线段;
2o.在两端点处,Di(t)插值型值点:
Di(t3i)=di,Di(t3i+3)=di+1;
3o.在两端点处Di(t)的一、二阶导向量为原B样条曲线的α倍:
副法线向量为:
γDi(t3i)=α2γd(t3i),γDi(t3i+3)=α2γd(t3i+3);
其中)分别表示曲线段Di(t)和d(t)的副法线向量。特别地,当α=1时,两曲线段在两端点处具有相同的切向量、二阶导向量、副法线向量及曲率。
(4)构造三次B样条插值曲线(如图4)
其中t3i≤t≤t3i+3,i=0,1,2,…,m-1.也即:
t3i≤t≤t3i+3,i=0,1,2,…,m-1;
易见(4.2.7)所定义的曲线dI(t)具有如下的性质:
①dI(t)是[a,b]上以{tj,j=0,1,2,…,3m}为样条结点的三次B样条曲线。
②dI(t)在结点t3k处插值型值点列:
dI(t3k)=dk,k=0,1,2,…,m。 (4.2.8)
③dI(t)在结点t3k处切向量、二阶导向量、副法线向量及曲率为:
④取适当的α的值,曲线dI(t)对于控制多边形<d-1,d0,d1,d2,…,dm,dm+1>是保形的。
称此dI(t)为三次B样条插值曲线(如图5)。
3四阶四次B样条插值曲线
在四阶四次B样条曲线也可用增量伸缩平移方法,生成相应的插值曲线。给定区间[a,b]的一个扩充分划:
t-6≤t-4≤t-2≤a=t0<t1<…<t2i<t2i+1<…<t2m-1<t2m=b≤t2(m+1)≤t2(m+2)≤t2(m+3);
及de Boor控制顶点序列:
d-1,d0,d1,d2,…,dm,dm+1;
区间[a,b]上以:
{t-6,t-4,t-2,t0,t2,…,t2i,…,t2(m-1),t2m,t2(m+1),t2(m+2),t2(m+3)};
为样条结点的四阶四次B样条曲线记为:
其中B样条基函数Ωj(t)的支集上的样条结点为:
t2(j-2),t2(j-1),t2j,t2(j+1),t2(j+2),j=-1,0,1,…,m+1。
将在r(t)的基础上,构造一条四阶四次B样条插值曲线rI(t),使得它通过诸型值点列{dk}(即de Boor控制顶点列),即满足插值条件:
rI(t2k)=dk,k=0,1,2,…,m (4.3.2)
考察区间[t2i,t2i+2]上的情形。连接曲线段r(t)两端点r(t2i)和r(t2i+2)的直线段记为:
连接两相邻de Boor点di和di+1的直线段记为:
调配函数ψi(t)(如图6)的表达式为:
其中ei0是自由参数,
ψi(t)有如下的性质:
1o.ψi(t)∈C2[t2i,t2i+2],在[t2i,t2i+1]和[t2i+1,t2i+2]上分别为四次多项式;
2o.ψi(t2i)=ψi′(t2i)=ψi″(t2i)=0,ψi(t2i+2)=1,ψi′(t2i+2)=ψi″(t2i+2)=0; (4.3.7)
3o.ψi(t2i+1)=ei0,
4o.当且仅当:
时,函数ψi(t)在区间[t2i,t2i+2]上为单调增,从而
事实上,由ψi′(t)的分段三次Bezier函数的表达式可知,ψi(t)在[t2i,t2i+2]上单调增的充分必要条件是0≤ei3≤ei0≤ei1≤1,此不等式等价于(4.3.9)式。
特别地,在等距结点情形:
ψi(t)在[t2i,t2i+2]上单调增的充分必要条件是:
所构造的四阶四次B样条插值曲线可表示为:
rI(t)=[(1-ψi(t))di+ψi(t)di+1]+β[r(t)-(1-ψi(t))r(t2i)-ψi(t)r(t2i+2)] (4.3.12)
t2i≤t≤t2i+3,i=0,1,2,…,m-1;
或写成:
rI(t)=βr(t)+(1-ψi(t))[di-βr(t2i)]+ψi(t)[di+1-r(t2i+2)], (4.3.13)
t2i≤t≤t2i+3,i=0,1,2,…,m-1,其中伸缩因子β>0(如图7)。
易见(4.3.12)所定义的曲线rI(t)具有如下的性质:
①rI(t)是[a,b]上以{tj,j=0,1,2,…,2m}为样条结点的四阶四次B样条曲线。
②rI(t)在结点t2k处插值型值点列:
dI(t2k)=dk,k=0,1,2,…,m。 (4.3.14)
③rI(t)在结点t2k处切向量、二阶导向量、副法线向量及曲率为:
④取适当的α的值,曲线rI(t)对于控制多边形<d-1,d0,d1,d2,…,dm,dm+1>是保形的。
利用调配函数ψi(t),还可将三次B样条曲线d(t)转化为四阶四次类的B样条插值曲线:
其中t2i≤t≤t2i+3,i=0,1,2,…,m-1,具有性质:
①rI,3-4(t)是[a,b]上以{tj,j=0,1,2,…,2m}为样条结点的四阶四次B样条曲线。
②rI,3-4(t)在结点t2k处插值型值点列:
rI,3-4(t2k)=dk,k=0,1,2,…,m。 (4.3.17)
③rI,3-4(t)在结点t2k处切向量、二阶导向量、副法线向量及曲率为:
④取适当的β的值,曲线rI,3-4(t)对于控制多边形<d-1,d0,d1,d2,…,dm,dm+1>是保形的。
4B样条插值曲面
利用张量积的方法,根据上二节的B样条插值曲线,可以构造出矩形域上的B样条插值曲面。
(1)矩形域上双三次B样条插值曲面,给定矩形域[a,b;c,d]的一个扩充分划:
u-9≤u-6≤u-3≤a=u0<u1<…<u3i<u3i+1<…<u3m-1<u3m=b≤u3(m+1)≤u3(m+2)≤u3(m+3),
v-9≤v-6≤v-3≤c=v0<v1<…<v3i<v3i+1<…<v3n-1<v3n=d≤v3(n+1)≤v3(n+2)≤v3(n+3);
及de Boor控制网格顶点集:
{dij,i=-1,0,1,…m+1,j=-1,0,1,…,n+1};
则矩形域[a,b]×[c,d]上的双三次B样条曲面可记为:
其中三次B样条基函数Ni,4(u)和的支集上的样条结点分别为:
{u3(i-2),u3(i-1),u3i,u3(i+1),u3(i+2)}和{v3(j-2),v3(j-1),v3j,v3(j+1),v3(j+2)}。
构造双三次B样条插值曲面dI(u,v)如下:
其中:
u3i≤u≤u3i+3,v3j≤v≤v3j+3,i=0,1,2,…,m-1,j=0,1,2,…,n-1;
常数λ>0,和分别由(4.2.4)和(4.2.5)所定义,u,v分别取代原表达式中的t:
h3i+k=u3i+k+1-u3i+k和
分别取代原式中的h3i+k,k=0,1,2。
容易验证曲面dI(u,v)具有下列性质:
①dI(u,v)∈C2[a,b;c,d]是以{(ui,vj),i=0,1,2,…,3m,j=0,1,…,3n}为样条结点的双三次B样条曲面。
②dI(u,v)在结点(u3i,v3j)处插值网格顶点集:
dI(u3i,v3j)=dij,i=0,1,2,…,m,j=0,1,…,n。 (4.4.3)
③dI(u,v)在u=u3i或v=v3j参数网线上的一、二阶偏导向量及法向量为:
其中可见两曲面在(u3i,v3j)处的法向量差一正常数倍。
(2)矩形域上双四阶四次B样条插值曲面,给定矩形域[a,b;c,d]的一个扩充分划:
u-6≤u-4≤u-2≤a=u0<u1<…<u2i<u2i+1<…<u2m-1<u2m=b≤u2(m+1)≤u2(m+2)≤u2(m+3);
v-6≤v-4≤v-2≤c=v0<v1<…<v2i<v2i+1<…<v2n-1<v2n=d≤v2(n+1)≤v2(n+2)≤v2(n+3);
及de Boor控制网格顶点集{dij,i=-1,0,1,…m+1,j=-1,0,1,…,n+1},则矩形域[a,b]×[c,d]上的双三次B样条曲面可记为:
其中三次B样条基函数Ωi(u)和的支集上的样条结点分别为:
{u2(i-2),u2(i-1),u2i,u2(i+1),u2(i+2)}和{v2(j-2),v2(j-1),v2j,v2(j+1),v2(j+2)}。
构造双四阶四次B样条插值曲面rI(u,v)如下:
其中:
u3i≤u≤u3i+3,v3j≤v≤v3j+3,i=0,1,2,…,m-1,j=0,1,2,…,n-1;
常数μ>0,ψi(u)和分别由(4.3.5)和(4.3.6)及(4.3.9)所定义,u,v分别取代原表达式中的t:
h2i+k=u2i+k+1-u2i+k和
分别取代原式中的h2i+k,k=0,1。
容易验证曲面rI(u,v)具有类似于上面曲面dI(u,v)的性质:
①rI(u,v)∈C2[a,b;c,d]是以{(ui,vj),i=0,1,2,…,2m,j=0,1,…,2n}为样条结点的双四阶四次B样条曲面。
②rI(u,v)在结点(u2i,v2j)处插值网格顶点集:
rI(u2i,v2j)=dij,i=0,1,2,…,m,j=0,1,…,n。 (4.4.7)
③rI(u,v)在u=u2i或v=v2j参数网线上的一、二阶各偏导向量与原B样条曲面r(u,v)的一、二阶相应的各偏导向量差正μ倍,而在结点(u2i,v2j)处的法向量差μ2倍。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。