样条的基函数
前面我们讨论了两类三次样条曲线:Gamma样条与组合Bézier样条。显然,从设计的角度来看,组合Bézier样条优于Gamma样条。因为Bézier样条只需给定控制顶点,而Gamma样条的构造还需要节点序列和形状参数。然而,Gamma样条的优势在于对样条分析性质的讨论。下面,我们就样条的分析性质进行讨论。
设Gamma样条和由相同的节点序列和相同的形状参数所定义,相应的控制顶点分别为和,那么曲线:
也是一Gamma样条,其节点序列和形状参数不变,但控制顶点则为:
这一线性性质的结果是,由相同节点序列和形状参数确定的Gamma样条构成一维线性空间。设该空间的基函数为,则任何一元素(Gamma样条)可表示为:
这里,基函数由参数、节点序列和形状参数所确定,具有以下性质:
① 归一性。Gamma样条的构造是仿射不变的,着意味着:
② 正性。对满足条件,形状参数,有:
③ 局部支撑性。顶点的改变知影响到四段曲线:,因此相应的基函数满足条件:
这一性质成立的原因是,的改变不影响曲线的Bézier点。此外,的改变也不影响内Bézier点,因此还有下述性质。
④ 端点可导性。
基于以上性质,我们可构造出基函数。
给定控制顶点,构造Gamma样条曲线。利用坐标图即可求出的Bézier纵标:
(9.7.1)
(9.7.2)
其中,,而的所有其余Bézier纵标为零。
由构造过程可知,是连续的,但不是连续,甚至也不是连续。这似乎有点不可思议,曲率不连续的函数的组合竟然生成曲率连续的曲线,下面我们仔细探究这一点。
一条Gamma样条必然满足连续性条件,那么曲线的每一个坐标分量亦自然满足这一条件。由的构造可知:
所谓的连续性,是指它的图形连续,它是二维曲线。由于一般情况下参数非零,因此坐标分量并不满足连续性条件,所以不是连续的。
由所满足的条件,能够导出连续性和之间的关系:
(9.7.3)
这就在Nu样条和Gamma样条之间建立了联系。
Beta样条
Gamma样条的构造与Nu样条一样,是从条件出发的。如果我们直接从条件出发构造三次样条曲线,便得到Beta样条。由几何连续的定义9.3,两段次Bézier曲线
在公共连接点处连续的条件是:
将其用Bézier点表示,则为:
(9.8.1)
本是几何问题,人们更乐于采用几何方法。因此,的确定并不是象式(9.8.1)那样用代数方程组,而是用图9.5所示的几何方法。
那么以控制顶点和形状参数作为输入,生成的控制顶点,为输出,使组合Bézier曲线在处满足连续条件的构造过程如下:
Step1. ;
Step2. ;
Step3. ;
Step4. 。
基于以上讨论,我们可以构造、连续的组合二次、三次Bézier曲线,它们被称为Beta样条曲线。
9.8.1 二次Beta样条曲线
给定控制顶点,和形状参数,一条 Beta样条曲线的第段
的Bézier点由控制顶点和形状参数按如下步骤确定:
① ;
② 。
其中,第一段和第段的控制顶点为:
特别,当所有时,所有连接点均为控制多边形相应边的中点,二次Beta样条曲线就成为二次均匀B样条曲线。
9.8.2 三次Beta样条曲线
给定控制顶点,和两组形状参数,由其定义由段三次Bézier曲线组成的 Beta样条曲线,其第段
的Bézier点由控制顶点和形状参数所确定,其计算步骤按如下:
① ;
② ;
③ ;
④ 边界条件如下:
特别,当所有、时, 三次Beta样条曲线便退化为三次均匀B样条曲线。
对于给定的控制顶点,节点序列及形状参数,如果令:
那么,我们便得到了Gamma样条。因此,Beta样条是Gamma样条的推广。
9.9 有理参数曲线的连续性
对于有理Bézier曲线那样的有理参数曲线,单一的有理曲线段往往没有足够的自由度表示一给定的曲线,因而不能满足曲线设计的要求,替代单一有理曲线段的是分段有理曲线。为了生成一条具有满意光滑度的曲线,构成组合曲线的各曲线段必须按照某种连续性连接起来。
对于有理参数曲线,如果用齐次坐标表示的非有理曲线满足有关连续性约束,那么它的投影即有理曲线也将具有相应的连续性。但反过来则不成立。如果有理曲线具有这些连续性,则相应它的齐次曲线并非一定要满足这些约束。也就是说,要求齐次曲线象它的投影曲线那样光滑是限制过头了。我们希望对和有理曲线对应的齐次曲线的连续性有尽可能少的限制,以使有理曲线的连续拼接易于实现。
设有理曲线由控制顶点和权因子定义:
由带权控制顶点在高一维空间定义的非有理曲线即齐次曲线记为,则:
若令,,则有:
,
9.9.1 有理参数连续性条件
设定义在分割上的两有理曲线段与组合成一有理曲线,它们在处具有公共的左右连接点,然而相应的两齐次点与可以不是同一点,即在处可以位置不连续,只需满足条件:
(9.9.1)
即当两齐次点位置矢量互为标量倍数时,则它们具有相同的投影点。
下面我们考察切矢连续性。对关于求一阶导矢,令其在处的左右切矢相等,即,则有:
(9.9.2)
这表明在处的左右切矢的差矢量平行于齐次点位置矢量(当时)。
按照上述方法继续逐一考察,则可得到高阶参数连续性的约束条件:
齐次曲线的投影即有理曲线在参数处连续,当且仅当存在常数,,使得下列约束成立:
(9.9.3)
写成矩阵形式,有
(9.9.4)
该公式的推导借助于喷射空间(Jet Space)的概念。
9.9.2 有理几何连续性条件
齐次曲线的投影即有理曲线是连续的,当且仅当存在两组实数,,使得下述约束条件成立:
(9.9.5)
这里,是Beta约束中的系数。
上述条件若写成矩阵形式,则有:
(9.9.6)
例如当时,有:
如果,其余的,则有理几何约束简化成Beta约束;如果,其余的,则有理几何约束退化为有理参数约束了。
与Beta约束不同的是,在有理几何约束中包含两组参数。例如,在的Beta约束中仅有一个自由度,而在有理几何约束中,则有三个自由度。其原因在于,对于正则的投影曲线,有
即和是线性独立的。因此,每个有理几何连续性总能提供两个独立的自由度。
9.9.3 Frenet标架连续性
Frenet标架连续性是几何连续性的两种形式之一,它就是Boehm所指的几何不变量的连续性。前面介绍的有理几何连续条件实质上可归结为阶切触连续性。
Frenet标架连续性是建立在高维空间的广义曲率基础上的。设是维空间的一条以弧长为参数的曲线,则它的Frenet标架及高阶曲率定义如下:
(9.9.7)
此处的选取应使。显然,是维空间的一组正交基,称之为曲线的Frenet标架。叫做曲线的一阶曲率、二阶曲率、…、阶曲率,各阶曲率都是曲线的几何不变量。
当时,那么分别就是曲线的切矢、主法矢和副法矢,是曲线的曲率,是曲线的二阶曲率即挠率。
维空间的曲线有个几何不变量。一般地,除一个刚体运动外,作为曲线弧长函数的这个几何不变量定义了惟一一条维空间曲线。从这个意义上讲,阶几何连续也可被定义为曲线直到阶曲率的几何不变量的连续性。由此,便有以下的Frenet标架连续性的定义。
定义9.5 一条曲线是阶Frenet标架连续性的(记为),当且仅当它的弧长参数化的Frenet标架矢量和广义曲率是连续的。
Frenet标架连续性在时与前述的几何连续性一致。对于,是的推广,但不同于。当时,存在连续的曲线,却不是连续的。应当注意,在维空间所有连续的曲线通常也将是连续的。例如,所有连续的平面曲线是连续的,所有连续的空间曲线是连续的。因此,连续性仅仅在曲线的维数时才有意义。在维空间的Frenet标架连续性仅仅能区分类曲线:位置不连续曲线、位置连续曲线、连续但非连续曲线,,和连续曲线,而连续性却可以区分无穷多类曲线。
一条曲线是连续的,当且仅当存在一个Frenet标架矩阵使得:
(9.9.8)
矩阵称之为关联矩阵,它是一下三角阶方阵,其主对角线元素为,第一列元素除首行元素外均为零,而其余的个元素任意,即:
(9.9.9)
9.9.4 有理Frenet标架连续性约束
维空间的有理曲线是连续的,当且仅当齐次曲线的单边导矢存在且满足以下约束:
(9.9.10)
9.10 几何连续的有理参数样条曲线
参数连续性与参数的选取有关。在二阶与三阶时,Frenet标架连续性与几何连续性是相一致的。针对工业产品形状的数学描述来说,几何连续性是适合需要的。本节我们直接基于对有理曲线的几何连续性的分析来构造有理样条曲线。
9.10.1 曲率连续的有理二次样条曲线
传统上,用二次曲线弧构造的分段二次曲线时,为了达成曲率连续,必须采用分段三次。应用几何连续性,便可以用有理二次Bézier曲线设计曲率连续的平面曲线。为了避免引起混淆,对于平面曲线,采用相对曲率,它与连续性是等价的。
对于给定的有理二次曲线段:
其首末端点相对曲率为:
(7.9.1)
其中:为构成的三角形的有向面积,,。
假设有一平面曲线,它是由段有理二次曲线组合而成,其中第段由控制顶点和权因子定义。那么,则为第段与第段的公共连接点。如果三个顶点共线,且位于与之间,则相邻两段曲线在公共连接点处连续的。
为了使第段与第段在处达到曲率连续,它们必须在处有相同的相对曲率。根据前面的约定,第段与第段在处的相对曲率分别为:
, (9.10.1)
其中
因此,曲率连续即连续的条件是:
, (9.10.2)
这表明,两点位于处切线的同一侧,且权因子与满足条件:
(9.10.3)
如果一分段有理二次曲线在所有连接处都有连续曲率,那么我们按一公共比例因子改变所有内权因子,则由上述条件可知曲线在连接处仍然保持曲率连续。然而,在连接点处的相对曲率已经发生变化,曲线的形状也已改变。如果增大这一公共比例因子,曲线段将趋近它们的控制多边形。反之,将趋近它们的弦线。因此,这一公共因子可被看作形状参数。
下面我们着重讨论曲率连续的平面有理二次样条曲线的构造。
- 设是连续的分段有理二次曲线,且有内权因子。在保持控制多边形不变的情况下,能否找到新的内权因子,使为曲率连续的分段有理二次曲线。
根据曲率连续性条件,可知:
(9.10.4)
因此,只要选定权因子之后,按照上式即可计算出所有的新权因子。由这一组新权因子和原控制多边形便可确定一条曲率连续的分段有理二次曲线
显然上式只有当右边非负才有解。右边为正的条件是同号。几何上意味着位于线段之同侧,因而的控制多边形应是局部凸多边形。
- 给定一局部凸的控制多边形,求以为起点,以为终点的一条曲率连续的分段有理二次样条曲线。
对此问题求解的关键是找连接点和内权因子,为此在边上任取一点作为,就可按照(1)中的方法求出。
(3)给定一封闭的凸多边形,其中,且位于边上,构造一曲率连续的分段有理二次样条曲线,显然是一条封闭曲线。的构造与(2)基本相同。在边上选取一连接点,根据连续性条件可知:
(9.10.5)
上式简记如下:
由于也是一个连接点,曲线在该点也要求曲率连续,那么有
(9.10.6)
简记为。
将上式个方程左右相乘,则有:
(9.10.7)
这一条件称为相容性条件。因此,连接点在边上的位置便不能任意选取了,必须使上述相容性条件得到满足。达到这一要求的方法是令:
其中为实数,为三角形的有向面积。时,连接点即为边的中点。
由以上讨论可见,我们用最低次的曲线段实现了曲率连续的分段平面曲线的构造,并且还提供了可作为形状参数实现对曲线形状控制的一个公共因子。当然,这里可调的形状参数仅仅是一个公共因子,这意味着只能对曲线实现整体形状控制。
9.10.2 曲率连续的有理三次样条曲线
(1)几何连续性条件
设由相邻的两段有理次Bézier曲线构成的组合曲线定义在参数区间上,左右两段分别由控制顶点、权因子和定义,连接点对应参数。
记,为到的距离,为到的距离,为到所张成的平面的距离,为到所张成的平面的距离(图9.7),那么
曲线在连接点处左右两侧的曲率与挠率分别为:
连续性条件: 在连接点处连续的分段有理次Bézier曲线,如果三点共线,位于的两侧,且
(9.10.8)
则在处连续。
连续性条件:在连接点处连续的分段有理次Bézier曲线,如果五点共面,位于处切线的同侧,且
(9.10.9)
则在处连续。应用连续性条件,上式可化简为:
挠率连续性条件:在连接点处连续的分段有理次Bézier曲线,如果位于处密切平面线的两侧,且
(9.10.10)
则在处挠率连续。应用连续性条件,上式可化简为:
(2)曲率连续的有理三次样条曲线的构造
现考虑两相邻的有理三次Bézier曲线段,其定义区间分别为和。在连接点处,Bézier点张成处的密切平面,因此边与或者平行或者相交于一点。假设存在,设和分别以比例和分连线与,那么由上述的连续条件可知,两段曲线在处连续等价于。又由连续条件,以比例分连线。因此,我们可以用辅助顶点来构造曲率连续的分段有理三次Bézier曲线。
给定三维空间的控制多边形顶点及整体参数的相应节点,权因子及参数,可构造一条曲率连续的分段有理三次Bézier曲线,构造过程如下:
- 按比例分割多边形确定内Bézier点,;
- 按比例分割之连线确定;
- 首末两段Bézier点确定如下:
若所有权因子时,所构造的曲线将是非有理三次曲率连续的样条曲线,在内节点处带有张力参数,这就是Gamma样条。若又所有的张力参数,则所构造的曲线便为标准的三次样条曲线。