• CAGD: 第九章 几何连续性1


        第九章 几何连续性    

    关于参数曲线的光滑性有两种不同的度量,其一是多年来沿用的函数曲线的可微性,即通过参数曲线上一点处直到阶的连续导矢来度量,这类连续性称之为连续。另一种称为几何连续性,即通过参数曲线上一点处满足不同于的某一组约束条件来度量,称之为连续。

    9.1 参数连续性分析

    由第四章的讨论,我们知道参数连续与所选取的参数有关。整体参数下的参数连续性条件与局部参数下的连续性条件就不相同。一方面,当各曲线段的Bézier点给定之后,各段曲线的形状随之完全确定。由此构成的B样条曲线的形状亦完全确定,自然在连接点处的光滑度亦确定不变,它与所选取参数节点矢量无关;另一方面,当两段曲线的公共连接点与前后相邻Bézier重合时,那么B样条曲线在处有零切矢,那么不管对于局部参数还是整体参数,曲线在该点都是连续的。然而,B样条曲线可能在该连接点处形成一尖角,因而是不光滑的。这表明,可微的参数曲线有可能是不光滑的。下面我们通过几个具体的例子进一步予以说明。

    1对于曲线

    ,曲线在处有零切矢,但却连续。

    2 给定三个不重合的共线点,且 ,定义下述直线段:

    则:

    因此,直线段不是连续,仅为连续。

    3 给定曲线段:

    处做的镜面映射得到曲线,那么在公共连接点处具有连续的切线、曲率和法矢,但却不是连续的。因为,如果连续,则为同一抛物线的两段,而抛物线不可能有平行切矢。

    由此可以看出,采用参数连续性作为参数曲线的光滑性之度量具有以下明显的缺陷:

    参数连续性与所选取的参数有关;

    参数可微的曲线几何上不一定光滑;

    几何上光滑的曲线有可能是不可微的。

    因之,参数连续性不能客观、准确地度量参数曲线的光滑性,而形状的客观内在几何特征是不依赖于参数的选取和具体参数化。正是由于此,CAD/CAM中人们才引入了称之为视觉连续的几何连续性,它与参数的选取和具体参数化无关,排除了由参数选取引起的非正则情况,只要求较弱的限制条件,且为形状定义和形状控制提供了额外的自由度。

    9.2 连续性条件

    曲率连续但非连续的曲线称为连续。设连续的正则曲线,即的弧长,那么对重新参数化,使得。曲率连续意味着关于弧长的二阶导矢连续,即:。由链导法则,有

    连续且,所以,从而:

    即:

    ,则有:

    9.2.1

    这就是曲线连续条件,其几何意义如下:左右二阶导矢的差向量平行于。显然,正则的连续的曲线都是连续的,此时

    对于分段多项式曲线来说,若分割点为,那么连续的条件是:

    9.2.2

    此时,式(9.2.1)中的函数可定义如下:

    9.2.3

    值得注意的是,不是仿射不变量,因为若对重新参数化,则有

    9.3 Nu三次样条曲线

    给定个型值点及参数分割,我们构造插值这些点的三次样条曲线。在区间上,被表示成三次Hermite形式:

    其中是三次Hermite基函数, 处的切矢,是未知量。根据连续性条件,在连接点处有:

    这里是任意常数,从而有:

    9.3.1

    添加两个边界条件,即可求出所有未知的切矢,这样得到的三次样条曲线称为Nu样条曲线。

    Nu样条曲线比标准的三次插值曲线更一般,一般情况下不再是连续的。若令,则得到标准的三次样条曲线。

    如果令,则。由此可见,增大的效果是切矢的模长减小。若所有的,则所有的,样条曲线便趋于通过数据点的分段直线。所有这种情况将使得样条曲线不再是的,与最初假设曲线是正则的条件相背离。

    的值对曲线形状的影响来看,称为张力参数(tension parameter)。张力参数越大,曲线被拉得越紧。这些特性使其特别适合交互图形环境。

    前面讨论连续条件是从出发的,如直接从出发,那连续条件又是什么呢?

    连续的参数曲线连续的,如果它是切向连续、曲率连续的,即:

    由链导规则,有:

    (9.3.2)

    基于条件(9.3.2)构造的三次插值样条曲线称为Manning三次插值曲线。若所有,则得到标准的三次样条曲线。若所有,则得到Nu三次插值样条曲线。与Nu样条曲线相比,Manning样条曲线中,除了张力参数外,还多出一个位移参数(bias)。

    9.4 参数曲线几何连续性定义

    在讨论了特殊几何连续性的基础上,我们现在可进一步讨论它的一般定义。由于形状与描述它所选取的参数无关,因而作为形状内在几何特征的光滑性及其量度光滑性的几何连续定义自然应建立在独立于具体参数化的基础之上。

    前面的讨论已给出了二阶几何连续性的定义,即:连续与连续一致;若两曲线在公共连接点处具有公共的单位切矢(切线方向),则称它们在该点处连续;若在公共连接点处还具有公共的曲率矢,则称它们在该点处连续。由此出发,即可定义一般的几何连续性。

    为了保证几何连续性的定义与具体的参数化无关,只要将几何连续性的定义建立在曲线内在几何量的基础上即可。由微分几何可知,弧长是曲线的内在几何量,因而可借助弧长参数来建立几何连续性的定义。

    定义9.1 如果两段曲线在相应弧长参数化下在公共连接点处连续,则称它们在该点处连续。或者换一种提法:一条曲线是连续的,如果它关于弧长参数化是连续的。

    弧长是曲线的内在几何量,取弧长参数化使曲线的定义与参数无关。在弧长参数化下,切矢模长恒为1,这排除了非正则情况的出现。定义9.1表明,在弧长参数化下,几何连续性与参数连续性是一致的,同时亦表明,对于一般参数表示的两段曲线,如果能够通过参数变换使它们在公共连接点处具有一致的直到阶的关于弧长的导矢,则它们在该点的连续阶就是的。然而,遗憾的是,并非所有的参数都能取自身的弧长作为参数。例如,非正则曲线就不能,CAD/CAM中广泛采用的参数多项式曲线和参数有理多项式曲线亦不能取自身的弧长作为参数,这就限制了这一定义的使用范围。为此,我们基于参数变换给出下面的几何连续性定义。

    定义9.2 若能将两曲线段之一经参数变换,重新参数化后使得它们在公共连接点处具有正则的连续,则称它们在该点处是连续的。

    该定义有两层含义,其一是如果两正则曲线段在公共连接点处是的,则必然是的;其二是如果两正则曲线段在公共连接点处是的,则总可以经过重新参数化使它们在公共连接点处连续。

    定义9.2的应用依赖于重新参数化,未给出现成可用的结果,仍然不够直接。为此,还需引入具有可操作性的等价定义。在给出等价定义之前,我们先介绍Beta约束。

    1. Beta约束

    由定义9.2,若两段曲线在公共连接点处是的,则可对其中之一经过重新参数化使它们在该点具有正则的连续。假设对公共点左侧的曲线段做参数变换,使其重新参数化为。那么,关于参数的直到阶的导矢在处应等于右侧曲线段处关于参数的直到阶的导矢,因而由链导法则,可得到以下结果:

    这里,为曲线段关于参数处的各阶导矢,为曲线段关于参数处的各阶导矢,为参数变换关于参数的各阶导数。

    ,则可得到如下的用矩阵表示的一组关系式:

    9.4.1

    其中,为公共连接点两侧的阶导矢。式(9.4.1)表明,在正则的公共连接点处,一侧的阶导矢可以表示成另一侧的直到阶导矢的线性组合,这一组关系称为Beta约束,右端的阶方阵称为关联矩阵。

    根据链导法则,阶导矢可显式地表示为:

    (9.4.2)

    其中:

    9.4.3

    其求和是遍历整数的分割。如果的一个分割中包含有个不同元素,对应的重数为,则

    (9.4.4)

    同样的参数曲线,若采用不同的整体参数或局部参数,仅仅关联矩阵中的非零元素不同而已。更确切地说,取不同的值,它们由所选取的参数变换决定。这表明Beta约束与参数无关。

    1. 几何连续性

    利用Beta约束,我们可以定义一般地几何连续性。

    定义9.3 当且仅当存在实数,使得两曲线段在正则的公共连接点处的直到阶左、右导矢满足Beta约束(9.4.1)时,则称它们在该点处是连续的。

    Beta约束的应用有以下几个方面:① 用于检查两曲线段在公共连接点处是否达到连续;② 设计人员可以通过改变的值来控制相邻两段曲线之一的形状,同时由使Beta约束得到满足,即曲线段间连接的光滑性得到保证。因之,称之为形状参数。这样当曲线用控制多边形定义时,无需改变控制多边形,只要改变参数便可改变曲线的形状。两曲线段间的连续性提供了个形状参数,对于参数多项式曲线而言,可调的形状参数不超过其次数。这些可调的形状参数提供了控制曲线形状的额外自由度,特别适合于人机交互环境下的曲线设计;③ 构造Beta样条曲线。

    采用Beta约束的几何连续性定义,尽管提供了直接可用的结果,但应当注意的是几何连续性定义是用代数形式的Beta约束给出的,其中的形状参数几何意义不明显。那么,能否用纯几何的方式来刻画几何连续性呢?下面就来回答这一问题。

    实际上,定义9.3就是微分几何中的阶切触。根据切触的定义,两曲线段在公共连接点处具有阶切触,则它们在该点具有一致的直到阶的关于弧长的导矢,这与定义9.1相吻合。而两曲线段在公共连接点处的阶切触,亦可由与两曲线段在该点处有公共点的一条次密切抛物线来定义,这在解析上意味着两曲线段之一能被重新参数化,一致于它们是连续的,这与定义9.2完全一样。

    执行重新参数化过程,设对公共连接点左侧的那一段曲线进行重新参数化,将其在Taylor展开:

    其中,。与前述相同,使重新参数化后的左侧曲线段与右侧的曲线段在公共点连续,即处关于参数的直到阶导矢与关于的直到阶导矢相同。由链导法则就可得到一组约束,即Beta约束,这就是定义9.3。因而,本质上说,两曲线段在公共连接点的连续就是几何意义下的阶切触,故便有下述的等价定义。

    定义9.4 当且仅当两曲线段在公共连接点处具有阶切触,则称它们在该点连续。

    CAD/CAM中常用的曲线是参数多项式曲线及由几何连续拼接而成的样条曲线。由于参数多项式曲线在一点的Tayor展开是精确的,因此如果两段参数曲线在公共连接点处具有直到阶的相同导矢,则它们实际上是同一条曲线。

    三维空间的参数曲线在一点处的阶切触的几何意义是:设分别为曲线上该点处的单位切矢、主法矢和副法矢,它们构成曲线上该点的Frenet标架,分别表示曲线在该点的曲率和挠率,那么曲线在该点处关于弧长的二、三、四阶导矢分别为:

    显然,二阶切触等价于连续的Frenet标架和连续的曲率,三阶切触等价于连续的Frenet标架、连续的曲率和连续的挠率,四阶切触等价于连续的Frenet标架、连续的曲率和连续的挠率。因此,阶切触等价于连续的Frenet标架、连续的曲率和连续的挠率。

    由此可见,用Beta约束定义的几何连续性与阶切触相一致,讨论了数十年之久的连续性问题由回到了经典微分几何中早已给出的答案之上来,但这不是简单地重复,而是认识真理过程的螺旋上升运动。

    1. 几何连续的组合Bézier曲线

    9.5.1 Bézier曲线连续的几何关系

    给定两条n次Bézier曲线:

    在公共连接点连续条件为:

    (9.5.1)

    即三点共线,且顺序排列。

    两曲线在公共连接点处的曲率分别为

    其中分别为处公切线的距离,如图9.4所示。

    为直角三角形的直角顶点,为斜边的高,分斜边成长为两部分,则有。类似地,有。于是有:

    那么,在公共连接点处两曲线段曲率相等的条件除式(9.5.1)外,还满足下述条件:

    (9.5.2)

    要使处两曲线段的曲率矢量相同,不仅曲率相等还应有公共的密切平面。这意味着五点共面,且位于处切线的同侧,这便是连续性条件。

    在保持公共连接点处连续,且曲率值与位置不变的条件下,顶点可分别在平行于公共切线的直线上移动。欲使移动到而保持公共连接点处的曲率不变,则必须同时使点在平行于公共切线的另一直线上移动。

    现假设这两条nBézier曲线采用整体参数表示,相应的参数分别为,且约定在公共连接点处关于整体参数连续的,那么:

    即:

    如果还要求是连续的,则有:

    两边用做叉乘,有:

    由此得到:

    根据连续条件,可知:

    代入上式,有

    因而可得整体参数下连续曲线,其连续条件为

    9.5.3

    其中area表示有向面积。

    第一式意味着五点共面,第二式隐含了点且位于处切线的同侧。

    9.5.2 组合三次Bézier曲线的构造

    回顾设4.5节关于组合三次Bézier曲线的构造,当时是给定节点序列和控制顶点,其构造过程是利用连续条件,由控制顶点求出内Bézier点

    然后,由连续条件求出连接点

    与此类似,为了构造组合三次Bézier曲线,我们这里亦基于给定的节点序列和控制顶点,利用连续性条件求出组合三次Bézier曲线所需要的Bézier点。特别,组合三次Bézier曲线的构造要比组合三次Bézier曲线的构造条件弱,设计者无需预先给定节点序列,它可由构造过程自动选取。

    开曲线的构造

    Step1.

    Step2. 在边上任意选择一点,在边上任意选择一点

    Step3. 在边,上任意选择两点

    Step4. 连续条件:

    确定节点:

    其中

    Step5. 连续条件确定连接点:

    闭曲线的构造

    关于闭曲线其构造过程与上述算法的区别是无需Step1 Step2Step3的计算对进行。

    在交互设计过程中,组合三次Bézier曲线的使用分为两步:① 按上述方法构造的控制多边形作为曲线的草图;② 调整内Bézier点来精化曲线设计。

    值得注意的是,组合三次Bézier曲线与组合三次Bézier曲线之间的差异。对于组合三次Bézier曲线来说,每一条组合三次Bézier曲线都具有一个B样条控制多边形,而组合三次Bézier曲线并非都具有控制多边形。

    1. Gamma样条曲线

    根据组合三次Bézier曲线的构造可知,两段三次Bézier曲线在公共连接点处关于整体参数连续,则一定存在辅助顶点,使得:

    如果按照此比例得到不重合的两个辅助顶点,则它们将仅仅是连续的,不可能连续,然而可能是连续。为此,引入以下记号:

    若要求两段曲线在连续,那么由连续条件(9.5.3),我们有:

    是分别通过的两直线之交点,令:

    则有:

    9.6.1

    当满足这一组比例关系时,连续的两段Bézier曲线在公共连接点连续。

    基于这一条件构造的组合三次Bézier曲线称之为Gamma样条连续,它是由Boehm1987年提出的,揭示了样条曲线和经典B样条曲线之间的本质联系。

    给定控制顶点,节点序列及形状参数Gamma样条曲线的构造过程如下:

    Step1.

    Step2.

    Step3. 在边,按照比例关系确定内Bézier

    其中,

    Step4. 连续条件确定连接点

    由此得到一条由,节点序列及形状参数定义的组合三次Bézier曲线,它由段三次Bézier曲线构成。

    当所有时,Gamma样条退化为三次样条曲线;当取负值时,曲线上将出现环,曲线亦不再具有凸包性。通常,的取值范围是;当时,公共连接点及其曲线段被拉向顶点;当时,由定义的那段曲线被拉成连接的直线。因此,可看作是对应于顶点处的张力参数。

    在用Gamma样条进行曲线设计时,通常采用以下的设计方法:由设计人员指定一控制多边形,并在除去首末各两条边的剩余每一条边上指定一对不重合的点,作为内Bézier点,由系统自动算出所需要的形状参数、参数节点序列及连接点。

    Gamma样条曲线与Nu样条曲线都是三次样条曲线,且对整体参数而言均为连续。因此,Gamma样条曲线中的形状参数Nu样条曲线中的形状参数应有何种对应关系呢?对此问题的回答,我们留在下节讨论。

    image

    欢迎访问我的专业知识博客!
    博主:白途思(begtostudy)
    微信/QQ:370566617
    Email:begtostudy#gmail.com
    欢迎访问我的其他博客:我的编程知识博客 我的学术知识博客

  • 相关阅读:
    PyQt4 调用串口API pySerial API说明
    树的计算
    数据结构单链表实现
    虚函数和抽象函数
    静态内存和堆栈
    二叉树学习图片---郝斌
    汉诺塔
    循环队列的实现
    队列的实现
    栈的应用
  • 原文地址:https://www.cnblogs.com/begtostudy/p/2231412.html
Copyright © 2020-2023  润新知