Print

发布时间: 2018-06-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170586
2018 | Volume 23 | Number 6




    计算机图形学    




  <<上一篇 




  下一篇>> 





带参数的同次Ball曲线
expand article info 李军成1, 李兵2, 易叶青3
1. 湖南人文科技学院数学与金融学院, 娄底 417000;
2. 四川航天技术研究院总体部, 成都 610100;
3. 湖南人文科技学院信息学院, 娄底 417000

摘要

目的 虽然Ball曲线具有很好的几何特性,但当控制顶点保持不变时,曲线的形状却无法进行调整,这无疑限制了其在几何造型中的应用。为了使得任意次Ball曲线在控制顶点保持不变的情形下具有形状可调性,提出了一种构造带参数的同次Ball曲线的简单方法。方法 首先通过将传统三次Ball基的定义区间由[0,1]扩展为[0,α],构造了一种带参数α的三次Ball基,并称之为三次α-Ball基;然后基于三次α-Ball基定义了相应的三次α-Ball曲线,并讨论了三次α-Ball曲线的拼接、参数对曲线的影响以及参数的3种选取方案;最后借助传统高次Ball基的递推性构造了任意次α-Ball基及其对应的α-Ball曲线,并给出了任意次α-Ball基与α-Ball曲线的性质。结果 实例表明,所构造的α-Ball曲线是传统Ball曲线的同次扩展,不仅保留了传统Ball曲线的性质,而且还由于带有参数α使得曲线具有更好的表现能力。利用所给出的3种参数选取方案可构造出满足相应要求的α-Ball曲线。结论 所提出的α-Ball曲线克服了传统Ball曲线在形状调整方面的不足,是一种构造形状可调的任意次Ball曲线的有效方法。

关键词

Ball基; Ball曲线; 任意次; 同次扩展; 形状调整; 参数选取

Ball curve of the same degree with a parameter
expand article info Li Juncheng1, Li Bing2, Yi Yeqing3
1. College of Mathematics and Finances, Hunan University of Humanities, Science and Technology, Loudi 417000, China;
2. The General Design Department, Sichuan Academy of Aerospace Technology, Chengdu 610100, China;
3. College of Information, Hunan University of Humanities, Science and Technology, Loudi 417000, China
Supported by: National Natural Science Foundation of China(61472135) Natural Science Foundation of Hunan Province, China (2017JJ3124);Defense/Aerospace Joint Funds(6141B0602102)

Abstract

Objective The Ball curve has excellent geometric properties. However, its shape cannot be adjusted when the control points remain unchanged. This condition undoubtedly limits its application in geometrical modeling. A simple method for constructing the Ball curve of the same degree with a parameter is presented to enable the Ball curve with arbitrary degree to obtain shape adjustment capability under fixed control points. Method The cubic Ball basis, referred to as cubic α-Ball basis, is constructed by extending the definition interval of the traditional cubic Ball basis from [0, 1] to [0, α]. Then, the corresponding cubic α-Ball curve is defined base on the cubic α-Ball basis. The splicing of the curves, the influence of the parameter on the curve, and the three selection schemes for the parameter are discussed. Finally, the α-Ball basis and α-Ball curve with arbitrary degree are established by the recursion of the transitional high-degree Ball basis, and the properties of the α-Ball basis and α-Ball curve with arbitrary degree are provided. Result Examples show that the proposed α-Ball curve is an extension of the same degree to the traditional Ball curve. The curve not only preserves the properties of the traditional Ball curve, such as convex hull, symmetry, geometric invariance, variance reduction, and convexity, but also has better performance because of the parameter α. The α-Ball curve can be constructed to satisfy the requirements by using the three selection schemes for the parameter, including the scheme for the curve with the shortest arc length, the curve with minimum energy, and the curve with the shortest arc length and minimum energy. Conclusion The α-Ball curve overcomes the disadvantage of the traditional Ball curve in shape adjustment, which is an effective method for constructing the shape-adjustable Ball curve with arbitrary degree.

Key words

Ball basis; Ball curve; arbitrary degree extension of the same degree; shape adjustment; parameter selection

0 引言

自Ball曲线[1]在1974年被提出以来,由于该曲线不仅与三次Bézier曲线一样具有良好的保形性,而且在求值及升降阶等计算速度上优于三次Bézier曲线,因此被人们广泛研究。为了构造高次的Ball曲线,王国瑾[2]与Said[3]分别独立地将三次Ball曲线推广到任意次数,并被Hu等人[4]分别命名为Wang-Ball曲线与Said-Ball曲线;丁友东等人[5]讨论了任意次Ball曲线的性质及其应用;Delgado等人[6]构造了保形的DP-Ball基;邬弘毅[7]则提出了分别介于Wang-Ball曲线与Said-Ball曲线之间以及介于Bézier曲线与Said-Ball曲线之间的两类广义Ball曲线;沈莞蔷等人[8]与汪志华等人[9]也分别构造了介于Wang-Ball曲线与Said-Ball曲线的曲线族、介于Bézier曲线与Said-Ball曲线之间的曲线族。随后,沈莞蔷等人[10]又通过加入多个带约束条件的参加,利用递归的方法构造出一类广义Ball基及其相应曲线。

另一方面,为了使得Ball曲线在控制顶点保持不变的情形下具有形状可调性,人们又试图构造带参数的Ball曲线。王成伟[11]给出了一种带单个参数的四次Ball曲线,该曲线是三次Ball曲线的一种扩展;严兰兰等人[12, 13]构造了两种带参数的四/五次Ball曲线,实现了从四/五Wang-Ball曲线到Said-Ball曲线以及四/五Said-Ball到Bézier的过渡;严兰兰等人[14]又构造了次数分别为三次与四次且带有参数的Ball曲线,这两种曲线都是三次Ball曲线的扩展;刘华勇等人[15]构造了一种带两个参数的四次Ball曲线,该曲线与三次Ball曲线具有相似的结构与特性。注意到,这些方法的主要目的在Ball曲线中引入参数,通过参数的改变实现对Ball曲线形状的调整,以此来克服Ball曲线在形状调控方面的不足。另外,这些方法都是针对特定次数的Ball曲线进行研究,并没有考虑如何在任意次Ball曲线中引入参数。

为此,本文提出了一种在任意次Ball曲线中引入参数的简单方法。首先将三次Ball基的定义区间由[0, 1]扩展为 $[0, \alpha ] (0<\alpha ≤1)$ ,然后借助高次Ball基的递推性构造出带参数 $\alpha $ 的任意次Ball基,从而使得所构造的任意次Ball曲线带有参数 $\alpha $ ,通过参数 $\alpha $ 来实现对曲线的形状调整。

1 三次 $\alpha $ -Ball基的构造及其性质

对于0≤ $t$ ≤1, 三次Ball基可表示为[14]

$ \left\{ \begin{array}{l} {b_0}\left( t \right) = {\left( {1 - t} \right)^2}\\ {b_1}\left( t \right) = 2{\left( {1 - t} \right)^2}t\\ {b_2}\left( t \right) = 2\left( {1 - t} \right){t^2}\\ {b_3}\left( t \right) = {t^2} \end{array} \right. $ (1)

三次Ball基在端点处满足

$ \left\{ \begin{array}{l} {b_0}\left( 0 \right) = 1,\;\;\;\;\;\;{b_0}\left( 1 \right) = 0\\ {b_1}\left( 0 \right) = 0,\;\;\;\;\;\;{b_1}\left( 1 \right) = 0\\ {b_2}\left( 0 \right) = 0,\;\;\;\;\;\;{b_2}\left( 1 \right) = 0\\ {b_3}\left( 0 \right) = 0,\;\;\;\;\;\;{b_3}\left( 1 \right) = 1\\ {{b'}_0}\left( 0 \right) = - 2,\;\;\;\;{{b'}_0}\left( 1 \right) = 0\\ {{b'}_1}\left( 0 \right) = 2,\;\;\;\;\;\;{{b'}_1}\left( 1 \right) = 0\\ {{b'}_2}\left( 0 \right) = 0,\;\;\;\;\;\;{{b'}_2}\left( 1 \right) = - 2\\ {{b'}_3}\left( 0 \right) = 0,\;\;\;\;\;\;{{b'}_3}\left( 1 \right) = 2 \end{array} \right. $ (2)

为了在三次Ball基中直接引入参数 $\alpha $ ,一种简单的思想是:将式(1)中变量 $t$ 的定义区间由[0, 1]扩展为 $[0, \alpha ] (0<\alpha ≤1)$ ,以此可构造出一种带参数 $\alpha $ 的三次Ball基。下面给出其具体的构造过程。

设所要构造的新三次Ball基 ${B_{3,i}}\left( t \right)\;\;\left( {i = 0,1,2,3} \right)$

$ \begin{array}{*{20}{c}} {\left( {\begin{array}{*{20}{c}} {{B_{3,0}}\left( t \right)}&{{B_{3,1}}\left( t \right)}&{{B_{3,2}}\left( t \right)}&{{B_{3,3}}\left( t \right)} \end{array}} \right) = }\\ {\left( {\begin{array}{*{20}{c}} 1&t&{{t^2}}&{{t^3}} \end{array}} \right)\mathit{\boldsymbol{A}}} \end{array} $ (3)

式中, $0≤t≤\alpha $ $0<\alpha≤1 $ $\mathit{\boldsymbol{A}}$ 为一个待定的4阶方阵。

由式(3)可得

$ \begin{array}{*{20}{c}} {\left( {\begin{array}{*{20}{c}} {{{B'}_{3,0}}\left( t \right)}&{{{B'}_{3,1}}\left( t \right)}&{{{B'}_{3,2}}\left( t \right)}&{{{B'}_{3,3}}\left( t \right)} \end{array}} \right) = }\\ {\left( {\begin{array}{*{20}{c}} 0&1&{2t}&{3{t^2}} \end{array}} \right)\mathit{\boldsymbol{A}}} \end{array} $ (4)

为了使得新三次Ball基在端点处的性质与式(2)类同,依据式(3)与式(4)则有

$ \left( {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&0&0&1\\ { - 2}&2&0&0\\ 0&0&{ - 2}&2 \end{array}} \right) = \left( {\begin{array}{*{20}{c}} 1&0&0&0\\ 1&\alpha &{{\alpha ^2}}&{{\alpha ^3}}\\ 0&1&0&0\\ 0&1&{2\alpha }&{3{\alpha ^2}} \end{array}} \right)\mathit{\boldsymbol{A}} $ (5)

由式(5)可得

$ \mathit{\boldsymbol{A}} = \left( {\begin{array}{*{20}{c}} 1&0&0&0\\ { - 2}&2&0&0\\ {\frac{{4\alpha - 3}}{{{\alpha ^2}}}}&{ - \frac{4}{\alpha }}&{\frac{2}{\alpha }}&{\frac{{3 - 2\alpha }}{{{\alpha ^2}}}}\\ {\frac{{2 - 2\alpha }}{{{\alpha ^3}}}}&{\frac{2}{{{\alpha ^2}}}}&{ - \frac{2}{{{\alpha ^2}}}}&{\frac{{2\alpha - 2}}{{{\alpha ^3}}}} \end{array}} \right) $ (6)

将式(6)代入式(3),可得所要构造的新三次Ball基为

$ \left\{ \begin{array}{l} {B_{3,0}}\left( t \right) = 1 - 2t + \frac{{4\alpha - 3}}{{{\alpha ^2}}}{t^2} + \frac{{2 - 2\alpha }}{{{\alpha ^3}}}{t^3}\\ {B_{3,1}}\left( t \right) = 2t - \frac{4}{\alpha }{t^2} + \frac{2}{{{\alpha ^2}}}{t^3}\\ {B_{3,2}}\left( t \right) = \frac{2}{\alpha }{t^2} - \frac{2}{{{\alpha ^2}}}{t^3}\\ {B_{3,3}}\left( t \right) = \frac{{3 - 2\alpha }}{{{\alpha ^2}}}{t^2} + \frac{{2\alpha - 2}}{{{\alpha ^3}}}{t^3} \end{array} \right. $ (7)

式中, $0≤t≤\alpha $ $0<\alpha ≤1$

若令 $t=\alpha u(0≤u≤1)$ ,则可将式(7)中的4个函数重新参数化,稍加整理得到如下一种带参数 $\alpha $ 的三次Ball基。

定义1对于 $0≤u≤1$ $0<\alpha ≤1$ ,下列4个关于变量 $u$ 的函数

$ \left\{ \begin{array}{l} {B_{3,0}}\left( u \right) = {\left( {1 - u} \right)^2}\left( {1 + 2\left( {1 - \alpha } \right)u} \right)\\ {B_{3,1}}\left( u \right) = 2\alpha {\left( {1 - u} \right)^2}u\\ {B_{3,2}}\left( u \right) = 2\alpha \left( {1 - u} \right){u^2}\\ {B_{3,3}}\left( u \right) = {u^2}\left( {1 + 2\left( {1 - \alpha } \right)\left( {1 - u} \right)} \right) \end{array} \right. $ (8)

称为带参数 $\alpha $ 的三次Ball基,简称为三次 $\alpha $ -Ball基。

由三次 $\alpha $ -Ball基的构造过程不难可知,当 $\alpha $ =1时,三次 $\alpha $ -Ball基即为三次Ball基。因此,三次 $\alpha $ -Ball基是三次Ball基的一种同次扩展。

定理1    三次 $\alpha $ -Ball基具有下列性质

1) 非负性: ${B_{3,i}}\left( u \right) \ge 0\left( {i = 0,1,2,3} \right)$

2) 单位分解性: $\sum\limits_{i = 0}^3 {{B_{3,i}}\left( u \right) \equiv 1} $

3) 对称性: ${B_{3,i}}\left( u \right) = {B_{3,3 - i}}\left( {1 - u} \right)\left( {i = 0,1,2,3} \right)$

4) 单峰性: ${B_{3,i}}\left( u \right)\left( {i = 0,1,2,3} \right)$ 在区间[0, 1]上仅有一个最大值。

5) 关于参数 $\alpha $ 的单调性:固定变量 $u$ 时, ${B_{3,0}}\left( u \right)$ ${B_{3,3}}\left( u \right)$ 关于参数 $\alpha $ 单调递减, ${B_{3,1}}\left( u \right)$ ${B_{3,2}}\left( u \right)$ 关于参数 $\alpha $ 单调递增。

6) 端点性:在端点处有

$ \left\{ \begin{array}{l} {B_{3,0}}\left( 0 \right) = 1,\;\;\;\;\;\;\;\;\;{B_{3,0}}\left( 1 \right) = 0\\ {B_{3,1}}\left( 0 \right) = 0,\;\;\;\;\;\;\;\;\;{B_{3,1}}\left( 1 \right) = 0\\ {B_{3,2}}\left( 0 \right) = 0,\;\;\;\;\;\;\;\;\;{B_{3,2}}\left( 1 \right) = 0\\ {B_{3,3}}\left( 0 \right) = 0,\;\;\;\;\;\;\;\;\;{B_{3,3}}\left( 1 \right) = 1\\ {{B'}_{3,0}}\left( 0 \right) = - 2\alpha ,\;\;\;\;{{B'}_{3,0}}\left( 1 \right) = 0\\ {{B'}_{3,1}}\left( 0 \right) = 2\alpha ,\;\;\;\;\;\;{{B'}_{3,1}}\left( 1 \right) = 0\\ {{B'}_{3,2}}\left( 0 \right) = 0,\;\;\;\;\;\;\;\;{{B'}_{3,2}}\left( 1 \right) = - 2\alpha \\ {{B'}_{3,3}}\left( 0 \right) = 0,\;\;\;\;\;\;\;\;{{B'}_{3,3}}\left( 1 \right) = 2\alpha \end{array} \right. $ (9)

证明    1)由 $0≤u≤1$ , $0<\alpha ≤1$ 可知 $1-u≥0$ , $1-\alpha ≥0$ , 故由式(8)可得 ${B_{3,i}}\left( u \right) \ge 0\left( {i = 0,1,2,3} \right)$

2) 由式(8)不难可得

$ \begin{array}{*{20}{c}} {\sum\limits_{i = 0}^3 {{B_{3,i}}\left( u \right)} = {{\left( {1 - u} \right)}^2} + 2{{\left( {1 - u} \right)}^2}u + }\\ {2{u^2}\left( {1 - u} \right) + {u^2} \equiv 1。} \end{array} $

3) 由式(8)易知

$ \begin{array}{*{20}{c}} {{B_{3,0}}\left( {1 - u} \right) = {u^2}\left( {1 + 2\left( {1 - \alpha } \right)\left( {1 - u} \right)} \right) = }\\ {{B_{3,3}}\left( u \right),{B_{3,1}}\left( {1 - u} \right) = 2\alpha {u^2}\left( {1 - u} \right) = {B_{3,2}}\left( u \right)。} \end{array} $

4) 由式(8)可得

$ \left\{ \begin{array}{l} {{B'}_{3,0}}\left( u \right) = - 2\left( {1 - u} \right)\left( {\alpha + 3\left( {1 - \alpha } \right)u} \right)\\ {{B'}_{3,1}}\left( u \right) = 2\alpha \left( {1 - u} \right)\left( {1 - 3u} \right)\\ {{B'}_{3,2}}\left( u \right) = 2\alpha \left( {2 - 3u} \right)u\\ {{B'}_{3,3}}\left( u \right) = - 6\left( {1 - \alpha } \right){u^2} + 2\left( {3 - 2\alpha } \right)u \end{array} \right. $ (10)

$0≤u≤1$ $0<\alpha ≤1$ 时,由式(10)可得,

(1) ${{B'}_{3,0}}\left( u \right) \le 0$ ,即 ${B_{3,0}}\left( u \right)$ 关于变量 $u$ 单调递减,故 ${B_{3,0}}\left( u \right)$ 在区间[0, 1]上仅有一个最大值。

(2) 当 $0 \le u \le \frac{1}{3}$ 时,有 ${{B'}_{3,1}}\left( u \right) \ge 0$ ,即此时 ${B_{3,1}}\left( u \right)$ 关于变量 $u$ 单调递增;当 $\frac{1}{3} \le u \le 1$ 时,有 ${{B'}_{3,1}}\left( u \right) \le 0$ ,即此时 ${B_{3,1}}\left( u \right)$ 关于变量 $u$ 单调递减.故 ${B_{3,1}}\left( u \right)$ 仅在 $u = \frac{1}{3}$ 处取最大值。

(3) 当 $0 \le u \le \frac{2}{3}$ 时,有 ${{B'}_{3,2}}\left( u \right) \ge 0$ ,即此时 ${B_{3,2}}\left( u \right)$ 关于变量 $u$ 单调递增;当 $\frac{2}{3} \le u \le 1$ 时,有 ${{B'}_{3,2}}\left( u \right) \le 0$ ,即此时 ${B_{3,2}}\left( u \right)$ 关于变量 $u$ 单调递减.故 ${B_{3,2}}\left( u \right)$ 仅在 $u = \frac{2}{3}$ 处取最大值。

(4) 由于 ${{B'}_{3,3}}\left( 0 \right) = 0$ ${{B'}_{3,3}}\left( 1 \right) = 2\alpha > 0$ ,而 $ - 6\left( {1 - \alpha } \right) \le 0$ ,故有 ${{B'}_{3,3}}\left( u \right) \ge 0$ ,即 ${B_{3,3}}\left( u \right)$ 关于变量 $u$ 单调递增,故 ${B_{3,3}}\left( u \right)$ 在区间[0, 1]上仅有一个最大值。

5) 固定变量 $u$ 时,由式(8)可得

$ \frac{{{\rm{d}}{B_{3,0}}\left( u \right)}}{{{\rm{d}}\alpha }} = - 2u{\left( {1 - u} \right)^2} \le 0 $

$ \frac{{{\rm{d}}{B_{3,1}}\left( u \right)}}{{{\rm{d}}\alpha }} = 2u{\left( {1 - u} \right)^2} \ge 0 $

$ \frac{{{\rm{d}}{B_{3,2}}\left( u \right)}}{{{\rm{d}}\alpha }} = 2{u^2}\left( {1 - u} \right) \ge 0 $

$ \frac{{{\rm{d}}{B_{3,3}}\left( u \right)}}{{{\rm{d}}\alpha }} = - 2{u^2}\left( {1 - u} \right) \le 0 $

从而, ${B_{3,0}}\left( u \right)$ ${B_{3,3}}\left( u \right)$ 关于参数 $\alpha $ 单调递减, ${B_{3,1}}\left( u \right)$ ${B_{3,2}}\left( u \right)$ 关于参数 $\alpha $ 单调递增。

6) 由式(8)与式(10)经简单计算,可得式(9)成立。证毕。

2 三次 $\alpha $ -Ball曲线

2.1 三次 $\alpha $ -Ball曲线的定义及其性质

基于三次 $\alpha $ -Ball基,可定义如下一种带参数 $\alpha $ 的三次Ball曲线。

定义2    给定 $\mathbb{R}^2$ $\mathbb{R}^3$ 中的4个控制顶点 ${\mathit{\boldsymbol{p}}_i}\left( {i = 0,1,2,3} \right)$ ,对于 $0≤u≤1$ $0<\alpha ≤1$ ,称曲线

$ {\mathit{\boldsymbol{R}}_3}\left( u \right) = \sum\limits_{i = 0}^3 {{B_{3,i}}\left( u \right){\mathit{\boldsymbol{p}}_i}} $ (11)

为带形状参数 $\alpha $ 的三次Ball曲线,简称为三次 $\alpha $ -Ball曲线,式中 ${B_{3,i}}\left( u \right)\left( {i = 0,1,2,3} \right)$ 为式(8)表示的三次 $\alpha $ -Ball基。

由式(11)易知,当 $\alpha =1$ 时,三次 $\alpha $ -Ball曲线即为三次Ball曲线。因此,三次 $\alpha $ -Ball曲线是三次Ball曲线的一种同次扩展。

由定理1不难可得,三次 $\alpha $ -Ball曲线具有下列性质。

性质1    凸包性

由三次 $\alpha $ -Ball基的非负性与单位分解性可知,三次 $\alpha $ -Ball曲线位于控制多边形所形成的凸包内。

性质2    对称性

由三次 $\alpha $ -Ball基的对称性不难可知,控制顶点 ${\mathit{\boldsymbol{p}}_i}\left( {i = 0,1,2,3} \right)$ 确定的三次 $\alpha $ -Ball曲线与控制顶点 ${\mathit{\boldsymbol{p}}_{3 - i}}\left( {i = 0,1,2,3} \right)$ 确定的三次 $\alpha $ -Ball曲线相同,仅参数化方向相反而已。

性质3    几何不变性与仿射不变性

由于式(11)为参数式方程,故当参数 $\alpha $ 取定时,三次 $\alpha $ -Ball曲线的形状仅依赖于控制顶点,而与坐标系的选取无关。对控制多边形进行仿射变换后,相应的三次 $\alpha $ -Ball曲线也会随之进行相同的仿射变换。

性质4    形状可调性

由于带有参数 $\alpha $ ,故当控制顶点固定时,三次 $\alpha $ -Ball曲线的形状可通过参数 $\alpha $ 的取值进行调整。

性质5    变差缩减性与保凸性

平面内的任何一条直线与三次 $\alpha $ -Ball曲线的交点个数不多于该直线与控制多边形的交点个数;当控制多边形为凸时,三次 $\alpha $ -Ball曲线亦为凸。这一性质的具体证明方法可参见文献[11]。

性质6    端点性

由式(9)经简单计算可得,曲线在端点处满足

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_3}\left( 0 \right) = {\mathit{\boldsymbol{p}}_0}\\ {\mathit{\boldsymbol{R}}_3}\left( 0 \right) = {\mathit{\boldsymbol{p}}_3}\\ {{\mathit{\boldsymbol{R'}}}_3}\left( 0 \right) = 2\alpha \left( {{\mathit{\boldsymbol{p}}_1} - {\mathit{\boldsymbol{p}}_0}} \right)\\ {{\mathit{\boldsymbol{R'}}}_3}\left( 1 \right) = 2\alpha \left( {{\mathit{\boldsymbol{p}}_3} - {\mathit{\boldsymbol{p}}_2}} \right) \end{array} \right. $ (12)

2.2 曲线的拼接

记第 $i$ $\alpha $ -Ball曲线的方程为

$ {\mathit{\boldsymbol{R}}_{i,3}}\left( u \right) = \sum\limits_{j = 0}^3 {{B_{3,j}}\left( u \right){\mathit{\boldsymbol{p}}_{i,j}}} $ (13)

式中, ${\mathit{\boldsymbol{p}}_{i,j}}\left( {j = 0,1,2,3} \right)$ 为控制顶点; ${B_{3,j}}\left( u \right)\left( {j = 0,1,2,3} \right)$ 为三次 $\alpha $ -Ball基,且其对应的参数设为 $\alpha_i $ 。一般地,若相邻两段的三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ ${\mathit{\boldsymbol{R}}_{i + 1,3}}\left( u \right)$ 之间满足

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_{i,3}}\left( 1 \right) = {\mathit{\boldsymbol{R}}_{i + 1,3}}\left( 0 \right)\\ {{\mathit{\boldsymbol{R'}}}_{i,3}}\left( 1 \right) = {\lambda _i}{{\mathit{\boldsymbol{R'}}}_{i + 1,3}}\left( 0 \right) \end{array} \right. $

则称这两段相邻曲线满足 ${{\rm{G}}^1}$ 拼接,式中 ${\lambda _i}$ 为给定的非负常数。特别地,当 ${\lambda _i}=1$ 时,称这两端相邻曲线满足 ${{\rm{C}}^1}$ 拼接。下面给出相邻两段三次 $\alpha $ -Ball曲线的 ${{\rm{G}}^1}$ ${{\rm{C}}^1}$ 拼接条件。

定理2    若相邻两段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ ${\mathit{\boldsymbol{R}}_{i + 1,3}}\left( u \right)$ 的控制顶点满足

$ {\mathit{\boldsymbol{p}}_{i,3}} = {\mathit{\boldsymbol{p}}_{i + 1,0}} $

${\mathit{\boldsymbol{p}}_{i,3}} - {\mathit{\boldsymbol{p}}_{i.2}} = {\delta _i}({\mathit{\boldsymbol{p}}_{i + 1,1}} - {\mathit{\boldsymbol{p}}_{i + 1,0}})$ ( ${\delta _i}$ 为非负常数),则它们之间达到 ${{\rm{G}}^1}$ 拼接。进一步地,当相邻两段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ ${\mathit{\boldsymbol{R}}_{i + 1,3}}\left( u \right)$ 的参数满足 $\frac{{{\alpha _{i + 1}}}}{{{\alpha _i}}} = {\delta _i}$ 时,它们之间达到 ${{\rm{C}}^1}$ 拼接。

证明    由式(12)与式(13)可得

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_{i,3}}\left( 1 \right) = {\mathit{\boldsymbol{p}}_{i,3}}\\ {{\mathit{\boldsymbol{R'}}}_{i,3}}\left( 1 \right) = 2{\alpha _i}\left( {{\mathit{\boldsymbol{p}}_{i,3}} - {\mathit{\boldsymbol{p}}_{i,2}}} \right)\\ {{\mathit{\boldsymbol{R'}}}_{i + 1,3}}\left( 1 \right) = {\mathit{\boldsymbol{p}}_{i + 1,0}}\\ {{\mathit{\boldsymbol{R'}}}_{i + 1,3}}\left( 0 \right) = 2{\alpha _{i + 1}}\left( {{\mathit{\boldsymbol{p}}_{i + 1,1}} - {\mathit{\boldsymbol{p}}_{i + 1,0}}} \right) \end{array} \right. $ (14)

由于 ${\mathit{\boldsymbol{p}}_{i,3}} = {\mathit{\boldsymbol{p}}_{i + 1,0}}$ ${\mathit{\boldsymbol{p}}_{i,3}} - {\mathit{\boldsymbol{p}}_{i.2}} = {\delta _i}({\mathit{\boldsymbol{p}}_{i + 1,1}} - {\mathit{\boldsymbol{p}}_{i + 1,0}})$ ,故由式(14)可得

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_{i,3}}\left( 1 \right) = {\mathit{\boldsymbol{R}}_{i + 1,3}}\left( 0 \right)\\ {{\mathit{\boldsymbol{R'}}}_{i,3}}\left( 1 \right) = {\lambda _i}{{\mathit{\boldsymbol{R'}}}_{i + 1,3}}\left( 0 \right) \end{array} \right. $ (15)

式中, ${\lambda _i} = \frac{{{\alpha _i}}}{{{\alpha _{i + 1}}}}{\delta _i}$

式(15)即表明相邻两段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ ${\mathit{\boldsymbol{R}}_{i + 1,3}}\left( u \right)$ 之间满足 ${{\rm{G}}^1}$ 拼接。特别地,当 $\frac{{{\alpha _{i + 1}}}}{{{\alpha _i}}} = {\delta _i}$ ,即 ${\lambda _i} = 1$ 时,有

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_{i,3}}\left( 1 \right) = {\mathit{\boldsymbol{R}}_{i + 1,3}}\left( 0 \right)\\ {{\mathit{\boldsymbol{R'}}}_{i,3}}\left( 1 \right) = {{\mathit{\boldsymbol{R'}}}_{i + 1,3}}\left( 0 \right) \end{array} \right. $ (16)

式(16)即表明相邻两段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ ${\mathit{\boldsymbol{R}}_{i + 1,3}}\left( u \right)$ 之间满足 ${{\rm{C}}^1}$ 拼接。证毕。

注1    事实上,相邻两段三次 $\alpha $ -Ball曲线的控制顶点满足一定条件时,它们之间还可达到 ${{\rm{G}}^2}$ ${{\rm{C}}^2}$ 拼接,限于篇幅,这里不作详细讨论。

2.3 参数对曲线的影响

当控制顶点保持不变时,三次Ball曲线的形状将会随之确定,而三次 $\alpha $ -Ball曲线的形状则可通过参数 $\alpha $ 进行调整,这无疑增强了曲线的表现能力。具体地,参数 $\alpha $ 对三次 $\alpha $ -Ball曲线的形状具有如下影响。

定理3    当控制顶点保持不变时,参数 $\alpha $ 的取值越大,三次 $\alpha $ -Ball曲线越靠近其控制多边形。

证明    将式(11)改写为矩阵形式为

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{R}}_3}\left( u \right) = \left( {\begin{array}{*{20}{c}} 1&u&{{u^2}}&{{u^3}} \end{array}} \right) \times }\\ {\left( {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ - 2\alpha \\ 4\alpha - 3\\ 2 - 2\alpha \end{array}&\begin{array}{l} 0\\ 2\alpha \\ - 4\alpha \\ 2\alpha \end{array}&\begin{array}{l} 0\\ 0\\ 2\alpha \\ - 2\alpha \end{array}&\begin{array}{l} 0\\ 0\\ 3 - 2\alpha \\ 2\alpha - 2 \end{array} \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{p}}_0}}\\ {{\mathit{\boldsymbol{p}}_1}}\\ {{\mathit{\boldsymbol{p}}_2}}\\ {{\mathit{\boldsymbol{p}}_3}} \end{array}} \right)} \end{array} $ (17)

而由控制顶点 ${\mathit{\boldsymbol{q}}_i}\left( {i = 0,1,2,3} \right)$ 确定的三次Bézier曲线 ${\mathit{\boldsymbol{B}}_3}\left( u \right)$ 可表示为[16]

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{R}}_3}\left( u \right) = \left( {\begin{array}{*{20}{c}} 1&u&{{u^2}}&{{u^3}} \end{array}} \right)}\\ {\left( {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ - 3\\ 3\\ - 1 \end{array}&\begin{array}{l} 0\\ 3\\ - 6\\ 3 \end{array}&\begin{array}{l} 0\\ 0\\ 3\\ - 3 \end{array}&\begin{array}{l} 0\\ 0\\ 0\\ 1 \end{array} \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{q}}_0}}\\ {{\mathit{\boldsymbol{q}}_1}}\\ {{\mathit{\boldsymbol{q}}_2}}\\ {{\mathit{\boldsymbol{q}}_3}} \end{array}} \right)} \end{array} $ (18)

对比式(17)与式(18)可得三次Bézier曲线与三次 $\alpha $ -Ball曲线之间的控制顶点关系式为

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{q}}_0} = {\mathit{\boldsymbol{p}}_0}\\ {\mathit{\boldsymbol{q}}_1} = {\mathit{\boldsymbol{p}}_0} + \frac{{2\alpha }}{3}\left( {{\mathit{\boldsymbol{p}}_1} - {\mathit{\boldsymbol{p}}_0}} \right)\\ {\mathit{\boldsymbol{q}}_2} = {\mathit{\boldsymbol{p}}_3} + \frac{{2\alpha }}{3}\left( {{\mathit{\boldsymbol{p}}_2} - {\mathit{\boldsymbol{p}}_3}} \right)\\ {\mathit{\boldsymbol{q}}_3} = {\mathit{\boldsymbol{p}}_3} \end{array} \right. $ (19)

由式(19)可知,参数 $\alpha $ 的取值越大,三次Bézier曲线的控制多边形 $\left\langle {{\mathit{\boldsymbol{p}}_0}{\mathit{\boldsymbol{p}}_1}{\mathit{\boldsymbol{p}}_2}{\mathit{\boldsymbol{p}}_3}} \right\rangle $ 越逼近三次 $\alpha $ -Ball曲线的控制多边形 $\left\langle {{\mathit{\boldsymbol{q}}_0}{\mathit{\boldsymbol{q}}_1}{\mathit{\boldsymbol{q}}_2}{\mathit{\boldsymbol{q}}_3}} \right\rangle $ 。从而,由三次Bézier曲线的逼近性可知,参数 $\alpha $ 的取值越大,三次 $\alpha $ -Ball曲线靠近其控制多边形。证毕。

图 1为参数 $\alpha $ 取不同值时的三次 $\alpha $ -Ball曲线,其中参数 $\alpha $ 由下到上依次取为0.2,0.4,0.6,0.8,1.0。在图 1中,参数 $\alpha $ =1.0对应的曲线即为三次Ball曲线。

图 1 参数取不同值时的三次 $\alpha $ -Ball曲线
Fig. 1 Cubic $\alpha $ -Ball curve with different values of the parameter

进一步地,由定理2可知,取定合适的控制顶点后,当 $n$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)\left( {i = 1,2, \ldots ,n} \right)$ 拼接成一整条 ${{\rm{G}}^1}$ 连续曲线时,若只修改其中第 $j$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{j,3}}\left( u \right)$ 的参数 $\alpha_j $ ,将仅会对该段曲线的形状有影响,而对其他曲线段的形状没有任何影响,此即表明利用参数可实现对整条 ${{\rm{G}}^1}$ 拼接曲线的局部调整,如图 2所示。在图 2中,整条 ${{\rm{G}}^1}$ 连续的曲线由4段三次 $\alpha $ -Ball曲线拼接而成,取参数 ${\alpha _i}\left( {i = 1,3,4} \right)$ 为0.8, 而参数 $\alpha_2 $ 分别取为0.6(长虚线)、0.8(实线)与1.0(长虚线), 从而通过参数 $\alpha_2 $ 实现了对第2段曲线的局部调整。

图 2 参数对整条 ${{\rm{G}}^1}$ 曲线的局部调整
Fig. 2 Local adjustment of the parameters to the whole ${{\rm{G}}^1}$ curve

若取 $n$ 段三次 $\alpha $ -Ball曲线的参数为 ${\alpha _i} = \alpha \left( {i = 1,2, \ldots ,n} \right)$ ,则可利用参数 $\alpha $ 实现对整条 ${{\rm{G}}^1}$ 拼接曲线的整体调整,如图 3所示。在图 3中,4段三次 $\alpha $ -Ball曲线的参数 $\alpha $ 都分别取为0.6(长虚线)、0.8(实线)与1.0(长虚线),从而通过参数 $\alpha $ 实现了对曲线的整体调整。

图 3 参数对整条 ${{\rm{G}}^1}$ 曲线的整体调整
Fig. 3 Global adjustment of the parameters to the ${{\rm{G}}^1}$ curve

类似地,由定理2可知,取定合适的控制顶点后,当 $n$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)\left( {i = 1,2, \ldots ,n} \right)$ 拼接成一整条 ${{\rm{C}}^1}$ 连续曲线时,若修改第 $j$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{j,3}}\left( u \right)$ 的参数 $\alpha_j $ ,为了保证整条拼接曲线满足 ${{\rm{C}}^1}$ 连续,其他各段曲线的参数也会随之改变,此即表明利用参数可实现对整条 ${{\rm{C}}^1}$ 拼接曲线的整体调整,如图 4所示。在图 4中,由于相邻两段曲线的控制顶点之间满足

$ {\mathit{\boldsymbol{p}}_{i,3}} - {\mathit{\boldsymbol{p}}_{i,2}} = {\mathit{\boldsymbol{p}}_{i + 1,1}} - {\mathit{\boldsymbol{p}}_{i + 1,0}}\left( {i = 1,2,3} \right) $

图 4 参数对整条 ${{\rm{C}}^1}$ 拼接曲线的整体调整
Fig. 4 Global adjustment of the parameters to the ${{\rm{C}}^1}$ curve

故由定理2可知,为了保证整条曲线满足 ${{\rm{C}}^1}$ 拼接,4段曲线的参数应满足 ${\alpha _{i + 1}} = {\alpha _i}\left( {i = 1,2,3} \right)$ ,即4段曲线的参数都可取同一值 $\alpha $ ,从而通过参数 $\alpha $ 实现了对曲线的整体调整,这里参数 $\alpha $ 分别取为0.6(长虚线)、0.8(实线)与1.0(长虚线)。

需要说明的是,虽然三次 $\alpha $ -Ball曲线逼近控制多边形的程度比三次Ball曲线弱,但不可否认的是,由于三次 $\alpha $ -Ball曲线带有自由参数 $\alpha $ ,故在控制顶点保持不变的情况下,可通过改变参数 $\alpha $ 的取值以使得曲线具有不同的形状,这使得三次 $\alpha $ -Ball曲线比三次Ball曲线具有更强的表现能力。另外,在许多实际工程问题中,往往需要根据特定的物理或几何目标使得曲线满足相应的要求,此时三次Ball曲线会显得力不从心,而三次 $\alpha $ -Ball曲线则可根据给定的准则来确定参数 $\alpha $ 的合适取值以获得满足要求的曲线。下面讨论三次 $\alpha $ -Ball曲线的参数选取准则。

2.4 参数的选取准则

设整条 ${{\rm{G}}^1}$ 连续曲线由 $n$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)\left( {i = 1,2, \ldots ,n} \right)$ 拼接而成,每段曲线的参数设为 ${\alpha _i}\left( {i = 1,2, \ldots ,n} \right)$ 。若需要根据某种目标使得整条 ${{\rm{G}}^1}$ 连续三次 $\alpha $ -Ball曲线满足相应的要求,此时则可根据给定的准则来确定参数 ${\alpha _i}\left( {i = 1,2, \ldots ,n} \right)$ 的合适取值。为了确定参数的合适取值,下面给出3种选取准则。

准则1    曲线的弧长最短

一般地,三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 的弧长可表示为 $L = \int_0^1 {\left| {\mathit{\boldsymbol{R}}{\prime _{i,3}}\left( u \right)} \right|{\rm{d}}u} $ 。因此, 给定控制顶点 ${\mathit{\boldsymbol{p}}_{i + j}}\left( {j = 0,1,2,3} \right)$ 后,要使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 具有最短弧长,则需要确定参数 $\alpha_i $ 的最佳取值,即有优化模型

$ 有优化模型\left\{ \begin{array}{l} \min \;\;\;L\left( {{\alpha _i}} \right) = \int_0^1 {\left| {{{\mathit{\boldsymbol{R'}}}_{i,3}}\left( u \right)} \right|{\rm{d}}u} \\ {\rm{s}}.\;{\rm{t}}{\rm{.}}\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (20)

为方便计算,可将式(21)近似转化为

$ \left\{ \begin{array}{l} \min \;\;\;L\left( {{\alpha _i}} \right) = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{R'}}}_{i,3}}\left( u \right)} \right)}^2}{\rm{d}}u} \\ {\rm{s}}.\;{\rm{t}}{\rm{.}}\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (21)

依据式(8),可将式(13)改写为

$ {\mathit{\boldsymbol{R}}_{i,3}}\left( u \right) = {\mathit{\boldsymbol{L}}_i}\left( u \right){\alpha _i} + {\mathit{\boldsymbol{M}}_i}\left( u \right) $ (22)

式中

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{L}}_i}\left( u \right) = 2u{\left( {1 - u} \right)^2}\left( {{\mathit{\boldsymbol{p}}_{i,1}} - {\mathit{\boldsymbol{p}}_{i,0}}} \right) - \\ 2{u^2}\left( {1 - u} \right)\left( {{\mathit{\boldsymbol{p}}_{i,3}} - {\mathit{\boldsymbol{p}}_{i,2}}} \right)\\ {\mathit{\boldsymbol{M}}_i}\left( u \right) = {\left( {1 - u} \right)^2}\left( {1 + 2u} \right){\mathit{\boldsymbol{p}}_{i,0}} + {u^2}\left( {3 - 2u} \right){\mathit{\boldsymbol{p}}_{i,3}} \end{array} \right. $

将式(22)代入式(21)经计算整理可得

$ \left\{ \begin{array}{l} \min \;\;\;L\left( {{\alpha _i}} \right) = {A_{1i}}\alpha _i^2 + 2{B_{1i}}{\alpha _i} + {C_{1i}}\\ {\rm{s}}.\;{\rm{t}}.\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (23)

式中, ${A_{1i}}$ ${B_{1i}}$ ${C_{1i}}$ 为常数,分别为

$ {A_{1i}} = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{L'}}}_i}\left( u \right)} \right)}^2}{\rm{d}}u} $

$ {B_{1i}} = \int_0^1 {\left( {{{\mathit{\boldsymbol{L'}}}_i}\left( u \right) \cdot {{\mathit{\boldsymbol{M'}}}_i}\left( u \right)} \right){\rm{d}}u} $

$ {C_{1i}} = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{M'}}}_i}\left( u \right)} \right)}^2}{\rm{d}}u} $

求解式(23)即可得能使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 具有最短弧长的参数 $\alpha_i $ 。例如,在图 5中,整条 ${{\rm{G}}^1}$ 连续曲线由2段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)\left( {i = 1,2} \right)$ 拼接而成,通过求解式(23)可得 ${\alpha _1} = 0.210\;0$ ${\alpha _2} = 0.184\;7$ ,此时获得的整条 ${G^1}$ 拼接曲线具有最短弧长。

图 5 具有最短弧长的 ${{\rm{G}}^1}$ 曲线
Fig. 5 The ${{\rm{G}}^1}$ curve with the shortest arc length

准则2    曲线的能量值最小

一般地,三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 的能量值[16]可近似地表示为 $E = \int_0^1 {{{({{\mathit{\boldsymbol{R''}}}_{i,3}}\left( u \right))}^2}{\rm{d}}u} $ 。因此,给定控制顶点 ${\mathit{\boldsymbol{p}}_{i + j}}\left( {j = 0,1,2,3} \right)$ 后,要使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 的能量值最小,则需要确定参数 $\alpha_i $ 的最佳取值,即有优化模型

$ \left\{ \begin{array}{l} \min \;\;\;E\left( {{\alpha _i}} \right) = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{R''}}}_{i,3}}\left( u \right)} \right)}^2}{\rm{d}}u} \\ {\rm{s}}.\;{\rm{t}}.\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (24)

将式(22)代入式(21)经计算整理可得

$ \left\{ \begin{array}{l} \min \;\;\;E\left( {{\alpha _i}} \right) = {A_{2i}}\alpha _i^2 + 2{B_{2i}}{\alpha _i} + {C_{2i}}\\ {\rm{s}}.\;{\rm{t}}.\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (25)

式中, ${A_{2i}}$ ${B_{2i}}$ ${C_{2i}}$ 为常数,分别为

$ {A_{2i}} = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{L''}}}_i}\left( u \right)} \right)}^2}{\rm{d}}u} ,{B_{2i}} = \int_0^1 {\left( {{{\mathit{\boldsymbol{L''}}}_i}\left( u \right) \cdot {{\mathit{\boldsymbol{M''}}}_i}\left( u \right)} \right){\rm{d}}u} $

$ {C_{2i}} = \int_0^1 {{{\left( {{{\mathit{\boldsymbol{M''}}}_i}\left( u \right)} \right)}^2}{\rm{d}}u} $

求解式(25)即可得能使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 能量值最小的参数 $\alpha_i $ 。例如,对于图 5给定的控制顶点,通过求解式(25)可得 ${\alpha _1} = 0.807\;7$ ${\alpha _2} = 0.668\;9$ ,此时获得的整条 ${G^1}$ 拼接曲线能量值最小,如图 6所示。

图 6 具有最小能量值的 ${{\rm{G}}^1}$ 曲线
Fig. 6 The ${{\rm{G}}^1}$ curve with the minimum energy value

准则3    曲线兼具弧长最短与能量值最小

给定控制顶点 ${\mathit{\boldsymbol{p}}_{i + j}}\left( {j = 0,1,2,3} \right)$ 后,要使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 同时具有弧长最短与能量值最小,则有优化模型

$ \left\{ \begin{array}{l} \min \;\;\;F\left( {{\alpha _i}} \right) = L\left( {{\alpha _i}} \right) + E\left( {{\alpha _i}} \right)\\ {\rm{s}}.\;{\rm{t}}.\;\;\;\;0 < {\alpha _i} \le 1 \end{array} \right. $ (26)

求解式(26)即可得能使三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)$ 同时具有弧长最短与能量值最小的参数 $\alpha_i $ 。例如,对于图 5给定的控制顶点,通过求解式(26)可得 ${\alpha _1} = 0.771\;7$ ${\alpha _2} = 0.641\;4$ ,此时获得的整条 ${{\rm{G}}^1}$ 拼接曲线同时具有弧长最短与能量值最小,如图 7所示。

图 7 同时具有弧长最短与最小能量值的 ${{\rm{G}}^1}$ 曲线
Fig. 7 The ${{\rm{G}}^1}$ curve with the shortest arc length and the minimum energy value

注2    对于由 $n$ 段三次 $\alpha $ -Ball曲线 ${\mathit{\boldsymbol{R}}_{i,3}}\left( u \right)\left( {i = 1,2, \ldots ,n} \right)$ 拼接而成的 ${{\rm{C}}^1}$ 连续曲线而言,当控制顶点取定时,由定理2可知,只需确定第1段曲线的参数 $\alpha_1 $ 后,便可根据拼接条件自动获得其他各段曲线的参数取值,而参数 $\alpha_1 $ 则可依据所给的3个准则进行选取,这里不再赘述。

3 高次 $\alpha $ -Ball基与 $\alpha $ -Ball曲线

在三次 $\alpha $ -Ball基的基础上,借助高次Ball基的递推性[2],可定义如下的任意 $n(n≥4)$ $\alpha $ -Ball基。

定义3    对于 $0≤u≤1$ $0<\alpha ≤1$ ,下列关于变量 $u$ 的函数 ${B_{n,i}}\left( u \right)\left( {i = 0,1, \ldots ,n} \right)$ 称为带参数 $\alpha $ $n(n≥4)$ 次Ball基, 简称为 $n(n≥4)$ $\alpha $ -Ball基。

1) 当 $n$ 为偶数时

$ \left\{ \begin{array}{l} {B_{n,i}}\left( u \right) = {B_{n - 1,i}}\left( u \right)\;\;\;\;\left( {i = 0,1, \cdots ,n/2 - 2} \right)\\ {B_{n,j}}\left( u \right) = {B_{n - 1,j - 1}}\left( u \right)\;\;\;\;\left( {j = n/2 + 2,n/2 + 3, \cdots ,n} \right)\\ {B_{n,n/2 - 1}}\left( u \right) = \left( {1 - u} \right){B_{n - 1,n/2 - 1}}\left( u \right)\\ {B_{n,n/2}}\left( u \right) = u{B_{n - 1,n/2 - 1}}\left( u \right) + \left( {1 - u} \right){B_{\left. {n - 1,n/2} \right]}}\left( u \right)\\ {B_{n,n/2 + 1}}\left( u \right) = u{B_{n - 1,n/2}}\left( u \right) \end{array} \right. $ (27)

2) 当 $n$ 为奇数时

$ \left\{ \begin{array}{l} {B_{n,i}}\left( u \right) = {B_{n - 1,i}}\left( u \right)\;\;\;\;\left( {i = 0,1, \cdots ,\left( {n - 3} \right)/2} \right)\\ {B_{n,j}}\left( u \right) = {B_{n - 1,j - 1}}\left( u \right)\;\;\;\;\left( {j = \left( {n + 3} \right)/2,} \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {\left( {n + 5} \right)/2, \cdots ,n} \right)\\ {B_{n,\left( {n - 1} \right)/2}}\left( u \right) = \left( {1 - u} \right){B_{n - 1,\left( {n - 1} \right)/2}}\left( u \right)\\ {B_{n,\left( {n + 1} \right)/2}}\left( u \right) = u{B_{n - 1,\left( {n - 1} \right)/2}}\left( u \right) \end{array} \right. $ (28)

式中, ${B_{3,i}}\left( u \right)\left( {i = 0,1,2,3} \right)$ 为式(8)表示的三次 $\alpha $ -Ball基。

基于三次 $\alpha $ -Ball基,由式(27)与式(28)按顺序经简单推导可得任意 $n(n≥4)$ 次Ball基的表达式。

例如,当 $n=4$ 时,四次 $\alpha $ -Ball基的表达式为

$ \left\{ \begin{array}{l} {B_{4,0}}\left( u \right) = {\left( {1 - u} \right)^2}\left( {1 + 2\left( {1 - \alpha } \right)u} \right)\\ {B_{4,1}}\left( u \right) = 2\alpha {\left( {1 - u} \right)^3}u\\ {B_{4,2}}\left( u \right) = 4\alpha {\left( {1 - u} \right)^2}{u^2}\\ {B_{4,3}}\left( u \right) = 2\alpha \left( {1 - u} \right){u^3}\\ {B_{4,4}}\left( u \right) = {u^2}\left( {1 + 2\left( {1 - \alpha } \right)\left( {1 - u} \right)} \right) \end{array} \right. $

$n=5$ 时,五次 $\alpha $ -Ball基的表达式为

$ \left\{ \begin{array}{l} {B_{5,0}}\left( u \right) = {\left( {1 - u} \right)^2}\left( {1 + 2\left( {1 - \alpha } \right)u} \right)\\ {B_{5,1}}\left( u \right) = 2\alpha {\left( {1 - u} \right)^3}u\\ {B_{5,2}}\left( u \right) = 4\alpha {\left( {1 - u} \right)^3}{u^2}\\ {B_{5,3}}\left( u \right) = 4\alpha {\left( {1 - u} \right)^2}{u^3}\\ {B_{5,4}}\left( u \right) = 2\alpha \left( {1 - u} \right){u^3}\\ {B_{5,5}}\left( u \right) = {u^2}\left( {1 + 2\left( {1 - \alpha } \right)\left( {1 - u} \right)} \right) \end{array} \right. $

根据定理1,利用数学归纳法可证明任意 $n(n≥4)$ $\alpha $ -Ball基亦具有如下性质;

1) 非负性: ${B_{n,i}}\left( u \right) \ge 0\left( {i = 0,1, \ldots ,n} \right)$

2) 单位分解性: $\sum\limits_{i = 0}^n {{B_{n,i}}\left( u \right)} \equiv 1$

3) 对称性: ${B_{n,i}}\left( u \right) = {B_{n,n - i}}\left( {1 - u} \right)\left( {i = 0,1, \ldots ,n} \right)$

4) 单峰性: ${B_{n,i}}\left( u \right)\left( {i = 0,1, \ldots ,n} \right)$ 在区间[0, 1]上仅有一个最大值。

5) 关于参数 $\alpha $ 的单调性:固定变量 $u$ 时, ${B_{n,0}}\left( u \right)$ ${B_{n,n}}\left( u \right)$ 关于参数 $\alpha $ 单调递减, ${B_{n,j}}\left( u \right)\left( {j = 1,2, \ldots ,n - 1} \right)$ 关于参数 $\alpha $ 单调递增。

6) 端点性:在端点处有

$ {B_{n,i}}\left( 0 \right) = \left\{ \begin{array}{l} 1\;\;\;\;i = 0\\ 0\;\;\;i \ne 0 \end{array} \right. $

$ {B_{n,i}}\left( 1 \right) = \left\{ \begin{array}{l} 1\;\;\;\;i = n\\ 0\;\;\;i \ne n \end{array} \right. $

$ {{B'}_{n,i}}\left( 0 \right) = \left\{ \begin{array}{l} - 2\alpha \;\;\;\;i = 0\\ 2\alpha \;\;\;\;\;\;i = 1\\ 0\;\;\;\;\;\;\;\;i \ne 0,1 \end{array} \right. $

$ {{B'}_{n,i}}\left( 1 \right) = \left\{ \begin{array}{l} 2\alpha \;\;\;\;\;\;\;\;i = n\\ - 2\alpha \;\;\;\;\;\;i = n - 1\\ 0\;\;\;\;\;\;\;\;\;\;\;i \ne n - 1,n \end{array} \right. $

基于 $n(n≥4)$ $\alpha $ -Ball基,可定义如下一种带参数 $\alpha $ $n(n≥4)$ 次Ball曲线。

定义4    给定 $\mathbb{R}^2$ $\mathbb{R}^3$ 中的 $n+1$ 个控制顶点 ${\mathit{\boldsymbol{p}}_i}\left( {i = 0,1, \ldots ,n} \right)$ ,对于 $0≤u≤1$ $0<\alpha ≤1$ ,称曲线

$ {\mathit{\boldsymbol{R}}_n}\left( u \right) = \sum\limits_{i = 0}^n {{B_{n,i}}\left( u \right){\mathit{\boldsymbol{p}}_n}} $ (29)

为带形状参数 $\alpha $ $n(n≥4)$ 次Ball曲线,简称为 $n(n≥4)$ $\alpha $ -Ball曲线,式中 ${B_{n,i}}\left( u \right)\left( {i = 0,1, \ldots ,n} \right)$ 为式(27)与式(28)表示的 $n(n≥4)$ $\alpha $ -Ball基。

$n(n≥4)$ $\alpha $ -Ball基的性质,不难可得 $n(n≥4)$ $\alpha $ -Ball曲线与三次 $\alpha $ -Ball曲线具有相同的性质,即

1) 凸包性。

2) 对称性。

3) 几何不变性与仿射不变性。

4) 形状可调性。

5) 变差缩减性与保凸性。

6) 端点性。曲线在端点处满足

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_n}\left( 0 \right) = {\mathit{\boldsymbol{p}}_0}\\ {\mathit{\boldsymbol{R}}_n}\left( 0 \right) = {\mathit{\boldsymbol{p}}_n}\\ {{\mathit{\boldsymbol{R'}}}_n}\left( 0 \right) = 2\alpha \left( {{\mathit{\boldsymbol{p}}_1} - {\mathit{\boldsymbol{p}}_0}} \right)\\ {{\mathit{\boldsymbol{R'}}}_n}\left( 1 \right) = 2\alpha \left( {{\mathit{\boldsymbol{p}}_n} - {\mathit{\boldsymbol{p}}_{n - 1}}} \right) \end{array} \right. $

与三次 $\alpha $ -Ball曲线类似,也可讨论 $n(n≥4)$ $\alpha $ -Ball曲线的拼接、参数对曲线形状的影响以及参数的选取准则等问题,这里不再赘述。

图 8为当参数 $\alpha $ 取不同值时,分别利用四次与五次 $\alpha $ -Ball曲线生成的不同图形,其中参数 $\alpha $ 由内到外分别取为0.2,0.4,0.6,0.8,1.0。

图 8 由高次 $\alpha $ -Ball曲线生成的不同图形
Fig. 8 Different patterns generated by the higher degree $\alpha $ -Ball curves ((a) quartic $\alpha $ -Ball curve; (b) quintic $\alpha $ -Ball curve)

4 结论

为了构造出带参数的同次Ball基,首先将三次Ball基的定义区间由[0, 1]扩展为 $[0, \alpha ] (0<\alpha ≤1)$ 构造出一种带参数 $\alpha $ 的三次Ball基,并称之为三次 $\alpha $ -Ball基,然后在此基础上借助高次Ball基的递推性构造了任意 $n(n≥4)$ $\alpha $ -Ball基。基于 $\alpha $ -Ball基定义的 $\alpha $ -Ball曲线是Ball曲线的一种同次扩展,该曲线不仅保留了Ball曲线的诸多性质,而且还可通过所带的参数 $\alpha $ 使得曲线具有更强的表现能力。进一步地,可运用张量积将 $\alpha $ -Ball曲线推广到曲面形式,也可继续探讨 $\alpha $ -Ball曲线与曲面在图像处理、虚拟现实等实际工程中的应用,这些将是下一步需要研究的问题。

参考文献

  • [1] Ball A A. CONSURF. Part One:introduction of the conic lofting tile[J]. Computer-Aided Design, 1974, 6(4): 243–249. [DOI:10.1016/0010-4485(74)90009-8]
  • [2] Wang G J. Ball curve of high degree and its geometric properties[J]. Applied Mathematics:A Journal of Chinese Universities, 1987, 2(1): 126–140. [王国瑾. 高次Ball曲线及其几何性质[J]. 高校应用数学学报, 1987, 2(1): 126–140. ]
  • [3] Said H B. A generalized Ball curve and its recursive algorithm[J]. ACM Transactions on Graphics, 1989, 8(4): 360–371. [DOI:10.1145/77269.77275]
  • [4] Hu S M, Wang G Z, Jin T G. Properties of two types of generalized Ball curves[J]. Computer-Aided Design, 1996, 28(2): 125–133. [DOI:10.1016/0010-4485(95)00047-X]
  • [5] Ding Y D, Li M, Hua X J. Generalized Ball curves' properties and its application[J]. Acta Mathematicae Applicatae Sinica, 2000, 23(4): 580–595. [丁友东, 李敏, 华宣积. 广义Ball曲线的性质及其应用[J]. 应用数学学报, 2000, 23(4): 580–595. ] [DOI:10.3321/j.issn:0254-3079.2000.04.013]
  • [6] Delgado J, Peña J M. A shape preserving representation with an evaluation algorithm of linear complexity[J]. Computer Aided Geometric Design, 2003, 20(1): 1–10. [DOI:10.1016/S0167-8396(02)00190-5]
  • [7] Wu H Y. Two new types of generalized Ball curves[J]. Acta Mathematicae Applicatae Sinica, 2000, 23(2): 196–205. [邬弘毅. 两类新的广义Ball曲线[J]. 应用数学学报, 2000, 23(2): 196–205. ] [DOI:10.3321/j.issn:0254-3079.2000.02.005]
  • [8] Shen W Q, Wang G Z. Extension of the Ball basis[J]. Journal of Software, 2005, 16(11): 1992–1999. [沈莞蔷, 汪国昭. Ball基的推广[J]. 软件学报, 2005, 16(11): 1992–1999. ] [DOI:10.1360/jos161992]
  • [9] Wang Z H, Zhu X L. Unifying representation of Bézier curve and Wang-Ball curve[J]. Journal of Computer-Aided Design & Computer Graphics, 2008, 20(7): 888–893. [汪志华, 朱晓临. Bézier曲线与Wang-Ball曲线的统一表示[J]. 计算机辅助设计与图形学学报, 2008, 20(7): 888–893. ]
  • [10] Shen W Q, Wang G Z. A new family of generalized Ball basis and its corresponding curves[J]. Journal of Zhejiang University:Engineering Science, 2011, 45(3): 435–439. [沈莞蔷, 汪国昭. 一类新的广义Ball基及其相应曲线[J]. 浙江大学学报:工学版, 2011, 45(3): 435–439. ] [DOI:10.3785/j.issn.1008-973X.2011.03.006]
  • [11] Wang C W. Extension of cubic Ball curve[J]. Journal of Engineering Graphics, 2008, 29(1): 77–81. [王成伟. 三次Ball曲线的扩展[J]. 工程图学学报, 2008, 29(1): 77–81. ] [DOI:10.3969/j.issn.1003-0158.2008.01.013]
  • [12] Yan L L, Rao Z Y, Wen R S. Two new classes of quartic generalized Ball curves[J]. Journal of Hefei University of Technology, 2010, 33(2): 316–320. [严兰兰, 饶智勇, 温荣生. 两类新的四次广义Ball曲线[J]. 合肥工业大学学报:自然科学版, 2010, 33(2): 316–320. ] [DOI:10.3969/j.issn.1003-5060.2010.02.038]
  • [13] Yan L L, Zhang W, Wen R S. Two classes of quintic generalized Ball curves with adustable shape[J]. Journal of Engineering Graphics, 2011, 32(6): 16–20. [严兰兰, 张文, 温荣生. 两类形状可调五次广义Ball曲线[J]. 工程图学学报, 2011, 32(6): 16–20. ] [DOI:10.3969/j.issn.1003-0158.2011.06.004]
  • [14] Yan L L, Liang J F, Rao Z Y. Two new extensions of cubic Ball curve[J]. Journal of Engineering Graphics, 2011, 32(5): 20–24. [严兰兰, 梁炯丰, 饶智勇. 三次Ball曲线的两种新扩展[J]. 工程图学学报, 2011, 32(5): 20–24. ] [DOI:10.3969/j.issn.1003-0158.2011.05.004]
  • [15] Liu H Y, Li L, Zhang D M. Quadratic Ball curve with multiple shape parameters[J]. Journal of Shandong University:Engineering Science, 2011, 41(2): 23–28. [刘华勇, 李璐, 张大明. 带形状参数的四次Ball曲线[J]. 山东大学学报:工学版, 2011, 41(2): 23–28. ]
  • [16] Zhu X X. Technology of free curves and surfaces modeling[M]. Beijing: Science Press, 2000. [ 朱心雄. 自由曲线曲面造型技术[M]. 北京: 科学出版社, 2000.]