曲面的数学描述是计算机辅助几何设计和计算机图形学的重要研究方向.传统的曲面设计工具多采用多项式插值样条方法, 但对于给定的插值条件, 生成的插值函数是唯一确定的, 形状修改与控制不够灵活.随着CAD/CAM技术的发展, 包含Bézier、B样条方法的非均匀有理B样条(NURBS)方法已被广泛的应用到工业产品如轮船、汽车、飞机等形状造型的设计.然而, 这些方法得到曲面的局部修改与约束控制同样面临挑战.近年来, 有关单变量有理插值方法的研究在一定程度上解决了局部修改与控制的问题, 取得了重要进展[1].如刘爱奎在文[2]中提出带有形状参数的加权有理插值曲线不仅具有简洁的表达式, 同时可以让曲线整体约束于折线之间, 并具有局部点控制能力. Erge[3]分析了$C^1$条件下线性有理样条的两点边值问题. Han[4]研究了一类$C^2$连续有理三次保凸逼近方法及性质.
关于双变量样条函数的研究也取得了很多成果: Sun[5]提出一种分母(1, 0)次分子(3, 1)次的三角域有理插值样条, 该方法主要应用于地质勘探、锻造科技和医学影像中基于平行线上的散乱数据的插值曲面重构; Duan和他的团队在二元有理插值样条研究领域做了大量工作:如在文献[6]中构造了一类基于函数值和偏导数值分母为双一次、分子双三次的二元有理插值样条, 该样条函数具有简单对称的基函数, 便于理论研究与曲面局部约束控制; 在文献[7]中给出了仅基于函数值分母为双一次、分子双三次的二元有理插值样条, 在文献[8]中给出了仅基于函数值分母为双二次、分子双三次的二元有理插值样条, 并研究了样条函数的矩阵表示、边界性质等.邓四清等构造了仅基于函数值分子分母均为双三次的二元有理插值曲面样条[9], 以及分母为双二次分子双三次的二元有理插值曲面样条[10, 11], 并研究了这些曲面的边界、逼近及中央点约束控制问题. 2012年, 项梅灵[12]构造了仅基于函数值分母为双二次、分子双三次的二元有理插值曲面样条, 并研究了其凸性、边界插值、极限、解析和正则等性质, 同时分析了参数对曲面形状的控制作用.
加权组合是CAGD中的一种常用造型方法. Huang[13]和Zhang[14]仅基于函数值, 先构造了一种分母为(1, 0)次、分子双三次的二元有理插值样条曲面, 另一种分母为(0, 1)次、分子双三次的二元有理插值样条曲面, 然后将两种样条曲面加权组合得到一种新的二元有理插值样条曲面, 并讨论了曲面的矩阵形式, 误差分析以及局部约束问题.上述二元有理插值构造方法在形式上的共同点是分母为一次、二次或三次, 而分子一般是三次或四次.对于给定的插值数据, 通过改变参数值可以控制有理插值曲面的形状.这些有理函数较高的次数带来了形式以及计算的复杂性.本文仅基于给定函数值, 通过对两种线性有理插值函数的加权组合构造一类新的二元有理插值方法.该有理插值函数具有形式对称的基函数.对于给定的插值数据, 插值曲面形状的整体与局部控制灵活方便.
插值函数的构造思路及步骤如下:
(1) 在$x$方向构造分子分母均为一次的有理插值曲线, 然后在$y$方向用线性插值方法构造二元有理插值曲面;
(2) 按相反顺序构造先$y$后$x$方向的二元有理插值曲面;
(3) 对上述两类有理插值函数加权组合构造新的二元有理插值曲面.
设$\{(x_i, y_i, f_{i, j})\}$, $i = 1, 2;j = 1, 2$为给定平面区域$D = [{x_1}, {x_2}; {y_1}, {y_2}]$上的插值数据点集, ${x_1}, {x_2}$和${y_1}, {y_2}$为插值节点.令$h = {x_2} - {x_1}$, $l = {y_2} - {y_1}$, 对$xy$平面上任意点$(x, y) \in D$, 令$u = {{(x - {x_1})} \mathord{\left/ {\vphantom {{(x - {x_1})} h}} \right. h}}$, 先沿$x$方向构造线性有理插值曲线
其中${\alpha _j} > 0$.显然, 插值函数满足
对任意$x$, 可在$D$上构造二元有理插值函数
这里$v = {{(y - {y_1})} \mathord{\left/ {\vphantom {{(y - {y_1})} l}} \right.} l}, \lambda > 0$.可以验证$\bar P(x, y)$满足
同理, 先从$y$方向构造插值曲线, 再从$x$方向构造插值曲面可以得到另一种二元线性有理插值函数
其中${\bar {\bar P}_i}^*(y)$是沿$y$方向构造的插值曲线
其中${\beta _i} >0, \mu > 0.$可以验证$\bar {\bar P}(x, y)$也满足
对于任意给定的插值数据点集$\{(x_i, y_j, f_i, _j)\}, i=1, 2;j=1, 2$和正参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda , \mu $, 在区域$D$上的插值函数$\bar P(x, y)$和$\bar{\bar P}(x, y)$都是唯一的, 且无论参数取何正值均满足插值条件.
基于插值曲面$(1)$式和$(2)$式, 可以构造新的二元加权有理插值函数
其中$\omega \in [0, 1]$.该函数满足插值条件
称${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda , \mu $为形状参数, $\omega$为权系数, 也称$\bar P(x, y)$和$\bar{\bar P}(x, y)$为基本曲面(或极限曲面).
为了便于分析该有理插值函数的性质, 将$(1)$式和$(2)$式代入到$(3)$式并化简, 插值函数$P(x, y)$也可改写为如下基表示形式
其中
称为二元加权有理插值函数的基函数, 它们满足
以及对称性质. 图 1所示即为$\omega=0.5, $其余形状参数均取$2$时的四个基函数, 从左往右, 上往下依次是${\omega _{11}}(u, v), {\omega _{12}}(u, v), {\omega _{21}}(u, v), {\omega _{22}}(u, v).$
由$(4)$式和$(5)$式可以看出, 加权线性有理插值本质上即是对四个插值数据点的一种加权组合.
本节将讨论$(3)$式或$(4)$式定义的二元有理线性插值函数的积分性质、有界性质及对插值数据的逼近误差.
首先, 由$(4)$式易知
其中$\begin{aligned} \omega _{i, j}^*(u, v) = \iint_{\left[ {0, 1;0, 1} \right]} {{\omega _{i, j}}(u, v)dudv} \end{aligned}$称为$P(x, y)$的积分权系数.显然有
因此当$f(x, y) \equiv 1$时, 由$(6)$式和$(7)$式立得如下积分性质.
定理1 对$f(x, y) \equiv 1$, 设$P(x, y)$是定义在$D = [{x_1}, {x_2}; {y_1}, {y_2}]$上的加权线性有理插值函数.则对任意$\omega \in [0, 1]$, 无论正参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda, \mu $取何值, $P(x, y)$在$D$上的积分保持一致性, 即$\begin{aligned} \iint_D {P(x, y)dxdy = h }l. \end{aligned}$
另一方面, 利用插值函数的基表示形式, 易得加权线性有理插值曲面也具有如下有界性质.
定理2 设$\left\{ {\left( {{x_i}, {y_j}, {f_{i, j}}} \right)} \right\}, i = 1, 2;j = 1, 2$是给定的插值数据点集, ${\alpha _1}, {\alpha _2}; {\beta _1}, {\beta _2};\lambda , \mu $是任意正参数, $\omega \in [0, 1]$. $P(x, y)$是区域$D = [{x_1}, {x_2};{y_1}, {y_2}]$上的加权线性有理插值函数, 则
或$\begin{aligned} \left| {P(x, y)} \right| \leqslant N, \end{aligned}$其中$N = \mathop {\max }\limits_{i, j = 1, 2} \left\{ {\left| {{f_{i, j}}} \right|} \right\}.$
利用插值方法构造插值曲面时, 插值函数与被插函数的误差估计是衡量插值方法有效性的一个重要理论依据, 如下是关于插值误差分析的重要结论.
定理3 设$\left\{ {\left( {{x_i}, {y_j}, {f_{i, j}}} \right)} \right\}, i = 1, 2;j = 1, 2$是给定的插值数据点集, ${\alpha _1}, {\alpha _2}; {\beta _1}, {\beta _2};\lambda, \mu $是任意正参数, $\omega \in [0, 1]$.若$f(x, y) \in {C^1}[{x_1}, {x_2}; {y_1}, {y_2}]$, 则有如下误差估计
其中$\begin{aligned} {N_1} = \max \left| {{f_x}(x, y)} \right|, {N_2} = \max \left| {{f_y}(x, y)} \right|. \end{aligned}$
证 对$i = 1, 2;j = 1, 2$, 由Taylor展开知
式中$\xi \in [{x_1}, {x_2}], \eta \in [{y_1}, {y_2}]$, 从而$\begin{aligned} \left| {f(x, y) - f({x_i}, {y_j})} \right| \leqslant h{N_1} + l{N_2}. \end{aligned}$则由$(4)$式和$(5)$式得
即证.
插值曲面的形状控制是几何设计的一个重要研究方向.一般而言, 插值曲面的形状取决于插值数据, 插值数据给定后插值曲面的形状也就唯一确定了.对于给定的插值数据, 本文提出的插值曲面形状可以灵活调控.
由于本文构造的加权线性有理插值曲面带有形状参数和加权系数, 插值曲面可以在插值数据给定的前提下, 在给定范围内通过改变参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda , \mu ; \omega $的值可以调控$(3)$式定义的二元加权有理插值曲面的形状.
由插值函数的构造过程可以看出, 权系数$\omega$取值整体控制插值曲面的形状更倾向于极限曲面$\bar P(x, y)$或$\bar{ \bar P}(x, y)$.特别的, $\omega=1$或$0$时$P(x, y)$分别为$\bar P(x, y)$或$\bar {\bar P}(x, y)$.因此, $\omega \to 1$时, 插值曲面的形状更倾向于$\bar P(x, y)$的形状, $\omega \to 0$时, 插值曲面的形状更倾向于$\bar {\bar P}(x, y)$的形状.给定插值数据点集(见表 1).
由图 2可以看出$\omega=1$和$\omega=0$时的曲面$\bar P(x, y)$和$\bar {\bar P}(x, y)$可视为曲面变化范围的边界情形, 如图 2(a)(b); $\omega$取值越接近$1$, 曲面的形状越接近$\bar P(x, y)$, 如图 2(d); 取值越接近$0$, 曲面的形状越接近$\bar {\bar P}(x, y)$, 如图 2(e); 而$\omega=0.5$时的曲面兼顾了曲面$\bar P(x, y)$和$\bar{ \bar P}(x, y)$的形状特点, 介于二者之间, 如图 2(c).
四个形状参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}$对曲面形状的作用类似, 故不妨仅讨论$\alpha_1$对曲面形状的局部控制.
注意到在有理插值函数的基表示形式$(4)$式中, 仅${\omega _{11}}(u, v)$和${\omega _{21}}(u, v)$含有参数$\alpha_1$, 且它们满足
$(1)$ ${\omega _{11}}(u, v)$是关于$\alpha_1$的增函数;
$(2)$ ${\omega _{21}}(u, v)$是关于$\alpha_1$的减函数;
$(3)$ ${\omega _{11}}(u, v)+{\omega _{21}}(u, v)$不再包含$\alpha_1$.
因此, 随着$\alpha_1$的增加, $(4)$式中${f_{11}}$的权重增加, ${f_{21}}$的权重减少, ${f_{12}}$和${f_{22}}$的不变.即参数$\alpha_1$主要控制了插值曲面片边界曲线$y = {y_1}\left( {{x_1} \leqslant x \leqslant {x_2}} \right)$的形状.同理, 参数${\alpha _2}, {\beta _1}, {\beta _2}$主要控制了插值曲面片其它三条边界曲线的形状.对插值数据点集(表 1), 取${\alpha _2} = {\beta _1} = {\beta _2} = 6$, $\lambda = \mu = 1$, $\omega = 0.5$, 参数$\alpha_1$的取值对插值曲面形状的控制效果如图 3所示.
由于${f_{11}} > {f_{21}}$, 随着${\alpha _1}$的增大, 图 3(a)中${\alpha _1}=1$, 图 2(c)中${\alpha _1} = 6$, 图 3(b)中${\alpha _1} = 10$, 可以看出边界曲线$y = {y_1}\left( {{x_1} \leqslant x \leqslant {x_2}} \right)$上从$x_1$到$x_2$的下降速度变慢, 反之则加快.因此参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}$控制了插值曲面片四条边界曲线的形状.
两个形状参数$\lambda , \mu $对曲面形状的作用类似, 这里仅讨论$\lambda $对曲面形状的局部控制.有理插值曲面的基函数中均包含参数$\lambda $, 且满足
$(1){\omega _{11}}(u, v)$和${\omega _{21}}(u, v)$是关于$\lambda$的增函数;
$(2){\omega _{12}}(u, v)$和${\omega _{22}}(u, v)$是关于$\lambda$的减函数;
$(3){\omega _{11}}(u, v)+{\omega _{12}}(u, v)+{\omega _{21}}(u, v)+{\omega _{22}}(u, v)=1$.
因此随着$\lambda$的增加, $(4)$式中${f_{11}}$和${f_{21}}$的权重增加, ${f_{12}}$和${f_{22}}$的权重减少.即参数$\lambda$控制了插值曲面片沿$y\left( {{x_1} \leqslant x \leqslant {x_2}} \right)$方向的变化趋势.对插值数据点集(表 1), 取$\omega = 0.5$, ${\alpha _1} = {\alpha _2} = {\beta _1} = {\beta _2} = 6$, $\lambda = 1, $参数$\mu $的取值对插值曲面形状的控制效果如图 4所示.
随着$\mu$的增大, 图 2 (c)中$\mu=1$, 图 4 (a)中$\mu=6, $图 4(b)中$\mu=10$, 可以看出越靠近边界曲线$x = {x_1}\left( {{y_1} \leqslant y \leqslant {y_2}} \right)$插值曲面越“平缓”, 越靠近边界曲线$x = {x_2}\left( {{y_1} \leqslant y \leqslant {y_2}} \right)$插值曲面越“陡峭”.因此参数$\lambda , \mu$分别控制了插值曲面片沿两个坐标轴方向的变化趋势.
对于插值区域$D = [{x_1}, {x_2}; {y_1}, {y_2}]$内的任意点$(x, y)$, 令$(u, v)$为局部坐标.以下定量分析插值曲面的局部点控制问题, 即如何确定插值曲面在某点处的函数值等于给定的实数$M$, 其中
令
称$(8)$式为函数值控制方程.局部坐标$(u, v)$已知, 若能找到一组待定正参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda , \mu$和权系数$\omega$满足$(8)$式, 则可以实现局部函数值约束控制.
不失一般性, 上述形状控制问题可以归结为中央点函数值控制问题, 即此时$(u, v) = (0.5, 0.5)$.为了简化运算步骤, 不妨令$\lambda = \mu = \omega = 0.5$, ${\alpha _1} = {\alpha _2} = \alpha , {\beta _1} = {\beta _2} = \beta , $ $\alpha$和$\beta$为待定参数.则中央点函数值控制方程可表示为
因此可以得到如下结论.
定理4 加权有理插值函数的中央点函数值控制问题有解的充分条件是序列$\left\{ {{k_1}, {k_2}, {k_3}, {k_4}} \right\}$变号数的值不为零.
证 由函数值控制方程$(9)$式可知, 参数$\alpha$和$\beta$若存在正解, 则加权线性有理插值函数的中央点函数值控制问题有解的充分条件是${k_1}, {k_2}, {k_3}, {k_4}$不同号, 即证.
给定平面区域$D = [0, 1;0, 1]$, 插值数据如表 1所示.下面讨论加权线性有理插值函数的中央点函数值控制问题.取$\lambda = \mu = \omega = 0.5$, ${\alpha _1} = {\alpha _2} = \alpha $, ${\beta _1} = {\beta _2} = \beta$.为了便于求解, 不妨设$\alpha = \beta$.
$(1)$ $\alpha = \beta = 6$时, 中央点函数值$M = 2.4762$, 此时的有理插值曲面如图 5(a).
$(2) $若要使插值曲面在中央点的形状“上升”, 如$M = 3$, 根据$(9)$式只需$\alpha = \beta = 0.5$, 此时的有理插值曲面如图 5(b).
$(3)$若要使插值曲面在中央点的形状“下降”, 如$M = 2.4$, 根据$(9)$式只需$\alpha = \beta =14$, 此时的有理插值曲面如图 5(c).
本文利用加权组合的方法, 先按不同顺序生成两种二元线性有理插值曲面, 然后将二者加权组合得到一种新的线性有理插值曲面.该插值曲面具有对称的基表示形式, 满足积分一致性, 有界性, 讨论了其插值误差分析.对于给定的插值数据, 在一定范围内改变形状参数${\alpha _1}, {\alpha _2}, {\beta _1}, {\beta _2}, \lambda , \mu $和权系数$\omega$的值可以整体或局部调控有理插值曲面的形状并实现中央点函数值控制.
基函数共包含$7$个参数, 虽然参数多有利于控制形状, 但是也给参数的选择带来诸多不便, 可考虑适当减少一些不必要或对曲面形状影响不大的参数.如可令${\alpha _1} = {\alpha _2}, $ ${\beta _1} = {\beta _2}$, $\lambda = \mu $, 对称地控制曲面的形状.数值实验结果表明, 与现有三次及四次有理插值方法相比, 线性有理插值方法次数更低, 计算量小, 形状控制方法简单有效.