1. 引言
在CAGD中,通常通过构造G2连续的过渡曲线来实现几何拼接的需要,这要求过渡曲线在端点处保持与原曲线切向量平行,曲率相等,并且过渡曲线最好内部曲率单调或者有尽可能少的极值点,这类曲线被称为Spiral线,在道路轨迹设计、卫星运行轨迹设计以及机器人的行走路线等方面有着广泛用途。
在Spiral线的构造上,很多学者已经有了许多研究成果。传统的几何中采用的是clothoid [1] 曲线(也称cornu回旋线),这是一类曲率单调的曲线,不仅如此,其曲率值与弧长具有线性函数关系,常用于道路轨迹设计。但是,clothoid曲线的表达式所用的Frensel积分与CAD中的NURBS系统不兼容。鉴于此缺点,Walton等人提出了用三次Bezier曲线 [2] 和五次PH曲线 [3] [4] [5] [6] 来构造满足曲率单调的曲线段。此后,三次Beizer曲线成为CAD及CAGD中最常用的曲线,其次数低且形状易控,并且在计算机中便于实施。用三次Bezier曲线构造的过渡曲线曲率单调,克服了表达形式与CAD系统的不兼容性这一缺点。而五次PH曲线相对于三次Bezier曲线,在构造过渡曲线时曲线的弧长以及等距线的表达式是有理多项式的形式,这一优点不仅为几何设计带来了便利,也解决了以往构造过渡曲线时存在的问题。
由Kneser定理 [7] 可知,由于Spiral曲线的曲率单调性,其上的任何一点的曲率圆一定包含一个较小的曲率圆,同时也被一个较大的曲率圆所包含。因此,Walton等人结合Kneser定理总结了五种最常见的过渡曲线类型:1) 直线与圆之间的J型过渡曲线;2) 圆与圆之间的C型过渡曲线;3) 圆与圆之间的S型过渡曲线;4) 直线与直线之间的过渡曲线;5) 圆与圆之间的C型过渡曲线,其中一圆包含在另一圆内。前四类过渡曲线可以通过构造五次PH过渡曲线,解简单的线性方程得到;而第五类过渡曲线则要通过解复杂非线性方程组的数值解来实现,而又无法预知解的存在性,同时,过渡曲线的次数较高,不便于实际应用。文献 [8] [9] 分别提出用三次PH曲线构造两曲率圆内含和两曲率圆不互相包含情况下的C型G2连续过渡曲线。
本文在五次PH曲线的基础上,进一步研究,提出用较低次的三次PH曲线来构造过渡曲线。讨论了三次PH曲线的曲率的单调性,给出保证曲率单调的充分条件。该方法通过解四次方程,比较便于计算,最终实现用三次PH曲线构造第五类过渡曲线。本文最后给出过渡曲线的生成方法,并且通过数值例子说明了该方法的有效性。
2. 问题背景
Farouki和Sakkali在1990年提出了Pythagorean-hodograph平面曲线,简称PH曲线。PH曲线的主要特征是具有有理性质的等距线及多项式弧长,且其弧长可用含参数的多项式表示。
定义1:对于多项式参数曲线
,若存在多项式
,使得
,则称
为PH曲线。
对于参数曲线方程
,其切向量为
,则曲线
的曲率为:
(1)
其中
如果参数曲线,它的切向量连续变化,曲率也连续变化,则称该曲线是二阶几何连续,记为G2连续。若该过渡曲线内部曲率值变化是由正到负或者由负到正,则该过渡曲线称为两圆弧间的S型G2连续过渡曲线,如果该过渡曲线内部曲率值不变号,则称为C型G2连续过渡曲线。
定义2 对于三次多项式Bezier曲线
(2)
其中
为三次PH曲线的控制顶点;
为Bernstein基函数,
。根据定义1,我们设
其中
满足
根据文献 [9] 中三次PH曲线控制多边形的几何特征,则该三次Bezier控制顶点可表示为:
(3)
则,由式(1)可得:
(4)
为了方便计算,取三次PH曲线的起点向量
,则该控制多边形的边向量
,即
在初始端点的切向量
,带入式(3)可得:
(5)
由式(4)可知,曲线在端点
和
处的曲率值分别为
3. 三次PH曲线构造过渡曲线
首先,由曲线为G2连续可得:
(6)
设三次PH曲线的两端点分别为
和
,
处的曲率圆为
,其的圆心及半径分别为
和
;同样,
处的曲率圆为
,其圆心及半径分别为
和
。三次PH曲线及两曲率圆在坐标系中的设定如图1所示。若设圆心距为r,则有
。
令
(7)
不妨设
,则有
。同时,设三次PH曲线的控制多边形的边向量
与
的夹角为
,且
,则
(8)
可得:
(9)
定理1 [8] :由图1所示的控制多边形所决定的三次PH曲线能够保证曲率严格单调递增的充分条件为

Figure 1. Coordinate system setting and Endpoint curvature Circle of cubic PH Curve
图1. 三次PH曲线的坐标系设定及端点曲率圆
(10)
则式(2)为C型过渡曲线。
定理2:两端点处的曲率圆为
、
,对应曲率分别为
、
,曲率半径为
、
,令
。两曲率圆的圆心距r满足
(11)
其中
(12)
则三次PH过渡曲线是唯一的。
证明:设三次PH曲线的两端点分别为
和
,起始点
的曲率圆的圆心及曲率半径分别为
和
,末端点
的曲率圆的圆心及曲率半径分别为
和
,三次PH曲线的坐标系设定及端点曲率圆如图1所示。
由图1可知,
,
,则圆心距为
。
构造函数
。这里令
,则有
。将
带入
可得关于h的四次方程:
(13)
由定理1可知,
。根据零点定理,四次方程
在
内有根的充分条件为:
。由于
则
则有
,即有
。因而,只需圆心距r的范围满足
,其中
,且
。
下面,我们讨论式(13)的根的唯一性。首先对式(13)求导,可得:
且
再对式(13)二次求导,可得:
由于式(13)是一个关于h的开口向下的二次函数,
,且
,所以
是一个单调递增的二次函数。又由于
,当
时,
,因此
在
上单调递减。因此,式(13)在
内的根是唯一的。
4. 三次PH过渡曲线的生成算法
1) 输入所要生成的过渡曲线的初始端点
,根据式(7)的要求,输入半径
、
及
的值。
2) 根据上一步骤中半径
、
的值,得到圆心距r,由式(13)解出
和h的值。
3) 将
带入式(9),得出
、
、
的值。
4) 将上一步得出的
、
、
的值代入式(5)和式(2),因而输出C型三次PH过渡曲线。
5. 数值例子
例:设起点
处的曲率圆圆心为
,
。按照三次PH过渡曲线的生成算法,取
,则
,
,由此确定该三次PH过渡曲线如图2。

Figure 2. Cubic PH transition curve of G2 continuity between two circles containing each other
图2. 互相包含的两圆之间C型G2连续的三次PH过渡曲线
6. 结束语
本文使用较低次数的三次PH曲线,构造两圆互相包含情况下的过渡曲线。由于过渡曲线次数较低,因此便于计算,且克服了以往方法与CAD系统的不兼容性。同时,本文给出了求两圆互相包含情况下生成PH过渡曲线的方法。