Beta四元数样条曲线相关问题研究
Research on the Beta Quaternion Spline
摘要: 为了更加灵活地调控单位四元数样条曲线,局部控制样条曲线形状,本文基于球面Bézier曲线,将欧氏空间中的Beta样条曲线推广到四元数空间,给出Beta四元数样条曲线定义。证明了该样条曲线满足G1连续,给出了满足G2连续的充要条件及其证明。最后通过数值实验验证该方法的可行性。本文构造的四元数样条曲线是由控制多边形的顶点直接定义曲线控制顶点,只需改变某段形状参数的取值,即可局部调控样条曲线形状。
Abstract: In order to control the unit quaternion spline more flexibly locally, this paper generalizes the Beta spline in the Euclidean space to the quaternion space based on the spherical Bézier curve, and gives the definition of the Beta quaternion spline. It is proved that the spline satisfies the first-order ge-ometric continuity. The Sufficient requisites for satisfying the second-order geometric continuity and the proof are given. Finally, numerical experiments are used to verify the feasibility of the pro-posed method. The control points of quaternion spline constructed in this paper are directly de-fined by the points of the control polygon, and the spline shape can be controlled locally by simply changing the value of some shape parameters.
文章引用:何耀, 王倩, 周奕含, 陈佳惠, 刘美含. Beta四元数样条曲线相关问题研究[J]. 应用数学进展, 2022, 11(12): 8431-8441. https://doi.org/10.12677/AAM.2022.1112892

1. 引言

单位四元数曲线在机器人控制和计算机动画领域得到了广泛的关注。在计算机动画中,四元数被引入作为一种有用的表示法来插补3D方向 [1]。特别是,单位四元数适用于控制3D对象和虚拟相机的旋转。单位四元数的一个优点是它们没有万向节锁等奇异性。因此,如何设计单位四元数曲线在计算机动画中占有重要地位。

Barsky [2] 将几何连续条件引入B样条曲线,从而构造出来均匀三次Beta样条基函数。Beta样条曲线既具有B样条的若干性质,还放松了曲线光滑性的要求,将连续松弛为连续。该样条还提供了形状控制参数,可以不改变控制顶点而通过改变形状控制参数来实现对曲线的控制。1990年Barsky [3] 等改进几何方法构造样条曲线,给出了Beta样条曲线定义。紧接着,Joe [4] 提出含有三个参数的Beta样条曲线,并分析了参数对样条曲线的影响。Nur [5] 等提出了一种含有一个参数的三角函数Beta样条曲线,使得Beta样条曲线具有更好的光滑性。

1985年Shoemake [6] 最先提出了一种构造四元数曲线的方法。其将n维欧氏空间中Bézier曲线的线性插值(即经典De Casteljau算法)转变为球面线性插值,构造出单位四元数Bézier曲线,这种构造方式自然地扩展到m维球面中任意次曲线上。Kim [8] 给出了单位四元数曲线一阶导数的微分公式,该公式只适用于单位四元数的一阶导数。在此基础上,Kim [9] 提出一类新的单位四元数曲线,通过将样条曲线基函数的累加形式转化为累积形式来构造相应的四元数曲线,该曲线保留了欧氏空间中样条曲线的微分性质,具有高阶导矢。2004年Nielson [10] 将样条曲线推广到四元数空间,通过改变张力参数和节点间距,使得样条曲线具有更加灵活的形状调控能力。邢燕 [11] [12] 通过选取适当的多项式调配函数,分别构造了连续的四元数样条曲线,檀结庆 [13] 构造了基于参数五次多项式的单位四元数样条曲线,对给定数据点进行精确插值,并且引入局部张力参数,通过改变参数影响局部曲线形状。孙楠 [14] 在此基础上,给出Bézier四元数样条曲线端点处的高阶导矢计算公式,并构造出连续的四元数样条曲线。

基于此,本文在Kim研究的基础上,将欧氏空间中Beta样条曲线与四元数结合起来推广到四元数空间中,构造Beta四元数样条曲线,该曲线可以通过改变各节点的形状参数,从而局部调整样条曲线的形状,为刚体旋转运动的运动轨迹设计提供新方法。

2. 预备知识

2.1. Beta样条曲线

给定三维欧氏空间中的多边形顶点,两组参数,按如下步骤定义顶点。

首先定义内顶点:

其次定义首末顶点:

b i , 3 = { β i + 1 , 1 b i , 2 + b i + 1 , 1 1 + β i + 1 , 1 , i = 0 , 1 , , l , 0 , i = l + 1 ,

其中 γ i = 2 ( 1 + β i , 1 ) β i , 2 + 2 β i , 1 ( 1 + β i , 1 )

以点 b i , j ( j = 0 , 1 , 2 , 3 ; i = 1 , 2 , , l ) 为控制顶点构造的Bézier样条曲线,称为三次Beta样条曲线 [15],其第i段表达式为

s i ( t ) = j = 0 3 b i , j B j , 3 ( t ) , t [ 0 , 1 ]

其中 B j , 3 ( t ) = C 3 j t j ( 1 t ) 3 j 是Bernstein函数。称 d i 为辅助控制顶点, b i , j 为控制顶点, β i , 1 β i , 2 为形状参数。

若令两组形状参数 β i , 1 = 1 β i , 2 = 0 ,则三次Beta样条曲线退化为三次B样条曲线。

欧氏空间中Beta样条曲线是 G 2 的。由几何连续性定义 [1] 可知,Beta样条曲线满足以下Beta约束式:

i) s i ( 0 ) = s i 1 ( 1 )

ii) 存在 ξ i > 0 ,使得 s i ( 0 ) = ξ i s i 1 ( 1 )

iii) 存在 δ i R ,使得 s i ( 0 ) = ξ i 2 s i 1 ( 1 ) + δ i s i 1 ( 1 )

2.2. 四元数

q = w + x i + y j + z k S 3 为一个四元数,其中 w , x , y , z R i , j , k 为不同的虚数单位,且满足

i 2 = j 2 = k 2 = 1 i j = j i = k j k = k j = i k i = i k = j

四元数也可以表示成 ( w , x , y , z )

给定四元数 q i = ( w i , x i , y i , z i ) , i = 1 , 2 。四元数有如下运算 [6]。

四元数的加减:

q 1 ± q 2 = ( w 1 ± w 2 ) + ( x 1 ± x 2 ) i + ( y 1 ± y 2 ) k + ( z 1 ± z 2 ) k

四元数的乘法:

q 1 q 2 = ( w 1 w 2 x 1 x 2 y 1 y 2 z 1 z 2 ) + ( w 1 x 2 + x 1 w 2 + y 1 z 2 z 1 y 2 ) i + ( w 1 y 2 + y 1 w 2 + z 1 x 2 x 1 z 2 ) j + ( w 1 z 1 + z 1 w 2 + x 1 y 2 y 1 x 2 ) k .

注意的是四元数乘法不满足交换律。

四元数的逆:

q 1 = ( w , x , y , z )

给定单位四元数 q = ( w , x , y , z ) ,即 w 2 + x 2 + y 2 + z 2 = 1 。令

θ = arccos w [ 0 , π ]

( a , b , c ) = ( x , y , z ) x 2 + y 2 + z 2 S 2

经过简单的计算,单位四元数q还可以表示为 [6]

q = ( cos θ , sin θ ( a , b , c ) )

对于单位四元数 p = ( cos θ , v sin θ ) ,其中 v = ( a , b , c ) S 2 ,其对数映射为 [8]

log ( p ) = ( 0 , θ v )

则有以下等式成立:

log ( p ) n = n log ( p ) , n [ 0 , 1 ]

2.3. 四元数曲线

Shoemake [6] 提供了 S 3 空间中两个单位四元数 q 1 q 2 之间的最短路径的计算方法,即

γ q 1 , q 2 ( t ) = q 1 ( q 1 1 q 2 ) t , t [ 0 , 1 ] (1)

引理1 [7] 给定单位四元数 q 1 q 2 ,连接两点的单位四元数曲线有以下等价表示形式:

γ q 1 , q 2 ( t ) = q 2 ( q 2 1 q 1 ) 1 t = ( q 2 1 q 1 ) t q 1 = ( q 1 1 q 2 ) 1 t q 2 (2)

q 1 = ( 1 , 0 , 0 , 0 ) 时,Kim [8] 给出了上述单位四元数曲线的一阶微分公式

γ 1 , q ( t ) = log ( q ) γ 1 , q ( t ) (3)

其中 q S 3

在此基础上,Kim [9] 等人在对单位四元数曲线的研究中,给出了一种单位四元数曲线的一般构造方案。首先将以基函数 B i 和控制顶点 p i 构造的样条曲线的基本形式 p ( t ) = i = 0 n p i B i ( t ) ,转化为累加形式

p ( t ) = p 0 B ˜ 0 ( t ) + i = 1 n Δ p i B ˜ i ( t ) , t [ 0 , 1 ]

其中 B ˜ i ( t ) = j = i n B i ( t ) 。再通过Kim提供的构造方法,利用四元数的对数与指数运算,得到相应的单位四元数曲线为

q ( t ) = q 0 B ˜ 0 ( t ) i = 1 n ( q i 1 1 q i ) B ˜ i ( t ) , t [ 0 , 1 ]

其中 q i S 3 为控制顶点。

3. Beta四元数样条曲线

3.1. Beta四元数样条曲线的构造

在本节中,我们将欧氏空间中的Beta样条曲线转化为具有累积形式的单位四元数样条曲线。

给定四元数顶点 p 0 , p 1 , , p l + 2 S 3 以及两组参数 β 0.1 , β 1 , 1 , , β l + 1 , 1 > 0 β 0 , 2 , β 1 , 2 , , β l + 1 , 2 ,按如下步骤定义顶点。

首先定义内顶点:

q i , 1 = p i ( p i 1 p i + 1 ) γ i / Δ i , i = 0 , 1 , , l + 1

q i , 2 = p i ( p i 1 p i + 1 ) ( γ i + 1 ) / Δ i , i = 0 , 1 , , l + 1

其次定义首末顶点:

q i , 0 = { q i 1 , 2 ( q i 1 , 2 1 q i , 1 ) 1 / ( 1 + β i , 1 ) , i = 1 , 2 , , l + 1 , 0 , i = 0 ,

q i , 3 = { q i , 2 ( q i , 2 1 q i + 1 , 1 ) 1 / ( 1 + β i + 1 , 1 ) , i = 0 , 1 , , l , 0 , i = l + 1 ,

其中 Δ i = γ i + 1 + β i + 1 , 1 2 γ i + 1 γ i = 2 ( 1 + β i , 1 ) β i , 2 + 2 β i , 1 ( 1 + β i , 1 ) 。显然 q i , 3 = q i + 1 , 0 。为了便于大家理解,我们给出了点 q i , j 在三维空间的构造示意图,如图1所示。

Figure 1. Control point construction diagram

图1. 控制顶点构造示意图

引理2 对于上述方式定义的点 q i , j ( j = 0 , 1 , 2 , 3 ; i = 1 , 2 , , l ) ,有以下关系式成立:

i) log ( p i 1 q i , 1 ) = γ i log ( q i , 1 1 q i , 2 )

ii) log ( q i 1 , 2 1 p i ) = β i , 1 2 γ i log ( q i 1 , 1 1 q i 1 , 2 )

iii) log ( q i , 0 1 q i , 1 ) = β i , 1 log ( q i 1 , 2 1 q i 1 , 3 )

证明:由点 q i , j 的定义方式即可验证上述关系式成立。

定义1 由点 q i , j ( j = 0 , 1 , 2 , 3 ; i = 1 , 2 , , l ) 生成的四元数样条曲线,称为Beta四元数样条曲线。其第i段曲线表示为:

s i ( t ) = q i , 0 j = 1 3 ( q i , j 1 1 q i , j ) B ˜ j , 3 ( t ) , t [ 0 , 1 ] (4)

其中 B ˜ j , 3 = i = j 3 B i , 3 , j = 1 , 2 , 3 ,称 p i 为辅助控制顶点, q i , j 为控制顶点, β i , 1 β i , 2 为形状参数, s i ( t ) 为第i段Beta四元数曲线。

3.2. Beta四元数样条曲线性质

3.2.1. Beta四元数样条曲线一阶微分性质

Beta四元数样条曲线保持了欧氏空间中Beta样条曲线的许多重要微分性质。由于所构造的曲线是由l条四元数曲线段构成,且每一段都是光滑多项式函数和光滑指数函数的复合函数的乘积,因此研究样条曲线连接点处的光滑性即可。在这里,我们给出Beta四元数样条曲线 G 1 连续性的证明。

定理1 Beta四元数曲线 s i ( t ) , i = 1 , 2 , , l ; t [ 0 , 1 ] ,在连接点处是 G 1 连续的。

证明:将 t = 0 t = 1 分别代入式(4),可以得

s i ( 0 ) = q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( 0 ) ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( 0 ) ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( 0 ) = q i , 0 , s i ( 1 ) = q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( 1 ) ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( 1 ) ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( 1 ) = q i , 3 , (5)

因此,曲线 s i ( t ) 的两个端点是 q i , 0 q i , 3 。由 s i ( 0 ) = s i 1 ( 1 ) 可证明Beta四元数样条曲线是 G 0 连续的。

对曲线 s i ( t ) 关于参数t求一阶导矢得

s i ( t ) = q i , 0 [ ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) ] ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) + q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) + q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) [ ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) ] , (6)

其中

[ ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) ] = ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) B ˜ 1 , 3 ( t ) log ( q i , 0 1 q i , 1 ) , [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] = ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) B ˜ 2 , 3 ( t ) log ( q i , 1 1 q i , 2 ) , [ ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) ] = ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) B ˜ 3 , 3 ( t ) log ( q i , 2 1 q i , 3 ) ,

B ˜ 1 , 3 ( t ) = 1 ( 1 t ) 3 , B ˜ 1 , 3 = 3 ( 1 t ) 2 , B ˜ 2 , 3 ( t ) = 2 t 3 + 3 t 2 , B ˜ 2 , 3 = 6 t ( 1 t ) , B ˜ 3 , 3 ( t ) = t 3 , B ˜ 3 , 3 = 3 t 2 ,

t = 0 t = 1 分别代入式(6),可得

s i ( 0 ) = 3 q i , 0 log ( q i , 0 1 q i , 1 ) , s i ( 1 ) = 3 q i , 3 log ( q i , 2 1 q i , 3 ) , (7)

由引理1可知

q i , 0 = q i , 1 ( q i , 1 1 q i 1 , 2 ) β i , 1 1 + β i , 1 , q i , 3 = q i , 2 ( q i , 2 1 q i + 1 , 1 ) 1 1 + β i + 1 , 1 ,

分别代入(7)得

s i ( 0 ) = 3 β i , 1 1 + β i , 1 q i 1 , 3 log ( q i 1 , 2 1 q i , 1 ) , s i ( 1 ) = 3 1 + β i + 1 , 1 q i , 3 log ( q i , 2 1 q i + 1 , 1 ) ,

通过计算得

s i ( 0 ) = β i , 1 s i 1 ( 1 ) (8)

由一阶Beta约束可知,Beta四元数样条曲线是 G 1 连续的。特殊地,当 β i , 1 = 1 β i , 2 = 0 时,相应的四元数样条曲线是 C 1 连续的。

3.2.2. Beta四元数样条曲线二阶微分性质

上一节,我们证明了Beta四元数样条曲线是 G 1 连续的。接下来,我们研究Beta四元数样条曲线二阶微分相关性质。在欧氏空间中,若使组合Bézier曲线 G 2 连续,必须保证两曲线在公共连接点的左右导矢满足二阶Beta约束。在四元数空间中同样适用。

引理3 给定单位四元数 q 1 q 2 以及连接这两点的单位四元数曲线 γ q 1 , q 2 ( t ) ,则有以下等式成立:

log ( q 2 q 1 1 ) γ q 1 , q 2 ( t ) = γ q 1 , q 2 ( t ) log ( q 1 1 q 2 ) , t [ 0 , 1 ] (9)

证明:由式(1)可知

γ q 1 , q 2 ( t ) = q 1 γ 1 , q 1 1 q 2 ( t )

由式(3)可知

γ q 1 , q 2 ( t ) = q 1 γ 1 , q 1 1 q 2 ( t ) = γ q 1 , q 2 ( t ) log ( q 1 1 q 2 )

由引理1可知

γ q 1 , q 2 ( t ) = ( q 2 1 q 1 ) t q 1

同理可证

γ q 1 , q 2 ( t ) = log ( q 2 q 1 1 ) γ q 1 , q 2 ( t )

由此即可证明引理。

实际上,式(9)为单位四元数曲线 γ q 1 , q 2 ( t ) 一阶导矢。

定理2 Beta四元数曲线 s i ( t ) , i = 1 , 2 , , l ; t [ 0 , 1 ] ,在连接点处 G 2 连续的充分必要条件是

q i 1 , 3 log ( q i 1 , 2 1 q i , 1 ) = γ i Δ i q i , 0 log ( p i 1 p i + 1 ) + β i , 1 2 γ i Δ i 1 log ( p i 1 1 p i ) q i 1 , 3 (10)

证明:对曲线 s i ( t ) 关于参数t求二阶导矢可得

s i ( t ) = q i , 0 [ ( q i , 0 1 q i , 1 ) B 1 , 3 ( t ) ] ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) + q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) + q i , 0 ( q i , 0 1 q i , 1 ) B 1 , 3 ( t ) ( q i , 1 1 q i , 2 ) B 2 , 3 ( t ) [ ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) ] + 2 q i , 0 [ ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) ] [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) + 2 q i , 0 [ ( q i , 0 1 q i , 1 ) B 1 , 3 ( t ) ] ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) [ ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) ] + 2 q i , 0 ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] [ ( q i , 2 1 q i , 3 ) B 3 , 3 ( t ) ] , (11)

其中

[ ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) ] = ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) [ B 1 , 3 ( t ) log ( q i , 0 1 q i , 1 ) ] 2 + ( q i , 0 1 q i , 1 ) B ˜ 1 , 3 ( t ) B 1 , 3 ( t ) log ( q i , 0 1 q i , 1 ) , [ ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) ] = ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) [ B 2 , 3 ( t ) log ( q i , 1 1 q i , 2 ) ] 2 + ( q i , 1 1 q i , 2 ) B ˜ 2 , 3 ( t ) B 2 , 3 ( t ) log ( q i , 1 1 q i , 2 ) , [ ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) ] = ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) [ B 3 , 3 ( t ) log ( q i , 2 1 q i , 3 ) ] 2 + ( q i , 2 1 q i , 3 ) B ˜ 3 , 3 ( t ) B 3 , 3 ( t ) log ( q i , 2 1 q i , 3 ) ,

t = 0 t = 1 分别代入式(11),可以得

s i ( 0 ) = 9 q i , 0 log 2 ( q i , 0 1 q i , 1 ) 6 q i , 0 log ( q i , 0 1 q i , 1 ) + 6 q i , 0 log ( q i , 1 1 q i , 2 ) , s i ( 1 ) = 9 q i , 3 log 2 ( q i , 2 1 q i , 3 ) + 6 q i , 3 log ( q i , 2 1 q i , 3 ) 6 q i , 2 log ( q i , 1 1 q i , 2 ) q i , 2 1 q i , 3 ,

由引理3,可将上式改写为

s i ( 0 ) = 9 q i , 0 log 2 ( q i , 0 1 q i , 1 ) 6 q i , 0 log ( q i , 0 1 q i , 1 ) + 6 q i , 0 log ( q i , 1 1 q i , 2 ) , s i ( 1 ) = 9 q i , 3 log 2 ( q i , 2 1 q i , 3 ) + 6 q i , 3 log ( q i , 2 1 q i , 3 ) 6 log ( q i , 2 q i , 1 1 ) q i , 3 , (12)

由此可得曲线 s i ( t ) 首末端点处的二阶导矢。

首先证明必要性。由曲线控制顶点的构造可知,等式(10)可转化为

( 1 + 1 β i , 1 ) q i 1 , 3 log ( q i , 0 1 q i , 1 ) = q i , 0 log ( p i 1 q i , 1 ) + log ( p i q i 1 , 2 1 ) q i 1 , 3 , (13)

等式两边同乘 6 γ i

6 ( 1 + β i , 1 ) γ i β i , 1 q i 1 , 3 log ( q i , 0 1 q i , 1 ) = 6 γ i q i , 0 log ( p i 1 q i , 2 ) + 6 γ i log ( p i q i 1 , 2 1 ) q i 1 , 3

利用引理2的(i) (ii),整理可得

6 ( 1 + β i , 1 + β i , 2 2 β i , 1 ) q i 1 , 3 log ( q i , 0 1 q i , 1 ) = 6 q i , 0 log ( q i , 1 1 q i , 2 ) + 6 β i , 1 2 log ( q i 1 , 2 q i 1 , 1 1 ) q i 1 , 3

再利用引理2的(iii)可得

6 q i 1 , 3 log ( q i , 0 1 q i , 1 ) + 6 β i , 1 2 q i 1 , 3 log ( q i 1 , 2 1 q i 1 , 3 ) + 3 β i , 2 q i 1 , 3 log ( q i 1 , 2 1 q i 1 , 3 ) = 6 q i , 0 log ( q i , 1 1 q i , 2 ) + 6 β i , 1 2 log ( q i 1 , 2 q i 1 , 1 1 ) q i 1 , 3 ,

上式两边加 9 q i , 0 log 2 ( q i , 0 1 q i , 1 ) ,由引理2的(iii)整理可得

9 q i , 0 log 2 ( q i , 0 1 q i , 1 ) 6 q i , 0 log ( q i , 0 1 q i , 1 ) + 6 q i , 0 log ( q i , 1 1 q i , 2 ) = β i , 1 2 ( 9 q i 1 , 3 log 2 ( q i 1 , 2 1 q i 1 , 3 ) + 6 q i 1 , 3 log ( q i 1 , 2 1 q i 1 , 3 ) 6 log ( q i 1 , 2 q i 1 , 1 1 ) q i 1 , 3 ) + β i , 2 ( 3 q i 1 , 3 log ( q i 1 , 2 1 q i 1 , 3 ) ) .

s i ( 0 ) = β i , 1 2 s i 1 ( 1 ) + β i , 2 s i 1 ( 1 ) ,由此即可证明其必要性。

接着证明充分性。将式(7)和式(12)代入Beta约束条件(iii),再利用引理2即可证明式(10)成立。

4. 实验

在这节中,我们通过数值实验来说明本文提出的Beta四元数样条曲线构造方法的可行性和有效性,并将其应用于刚体运动中。

例1 给定球面 S 3 上5个辅助控制顶点

P 0 = ( 0.2011 0.7478 0.0791 0.6278 ) , P 1 = ( 0.1603 0.6073 0.3653 0.6871 ) , P 2 = ( 0.4696 0.0554 0.8480 0.2394 ) , P 3 = ( 0.5268 0.5665 0.4194 0.4751 ) , P 4 = ( 0.6921 0.2551 0.1314 0.6623 ) ,

以及形状控制参数 β j , 1 = 1 , β j , 2 = 0.5 , j = 0 , , 4 ,利用本文的构造方法,我们得到一组控制顶点

q 1 , 0 = ( 0.3796 0.4589 0.1106 0.7956 ) , q 1 , 1 = ( 0.4610 0.6671 0.1507 0.5655 ) , q 1 , 2 = ( 0.5894 0.4380 0.6543 0.1810 ) , q 2 , 0 = q 1 , 3 = ( 0.6093 0.1514 0.7734 0.0877 ) , q 2 , 1 = ( 0.5263 0.1607 0.7619 0.3415 ) , q 2 , 2 = ( 0.5474 0.3901 0.6038 0.4284 ) , q 2 , 3 = ( 0.3509 0.7065 0.5548 0.2642 ) ,

由此八个控制顶点可构造两段相邻的Beta四元数曲线 s 1 ( t ) s 2 ( t ) t [ 0 , 1 ] ,其中曲线 s i ( t ) 的控制顶点为 q i , 0 , q i , 1 , q i , 2 , q i , 3 , i = 1 , 2

由式(7)可得到曲线 s 1 ( t ) s 2 ( t ) t = 0 t = 1 处的一阶导矢,经过计算可知满足式(8)。即给定插值点构造的Beta四元数样条曲线是 G 1 连续的。由式(12)可得到曲线 s 1 ( t ) s 2 ( t ) t = 0 t = 1 处的二阶导矢,由一阶和二阶导矢计算可知,满足Beta约束条件(iii),因此给定辅助控制顶点构造的Beta四元数样条曲线是 G 2 连续的。

利用本文所给的定理2,将辅助控制顶点p,控制顶点q以及形状参数 β 相应的点,直接代入式(10),经过计算可知满足式(10)。即得给定插值点构造的Beta四元数曲线是 G 2 连续的。由定理2即可直接证明曲线是 G 2 连续的,无需求解样条曲线导矢。

基于四元数与旋转变换的关系 [16],我们将上述Beta四元数样条曲线应用于刚体旋转运动的表示,得到了刚体中心的旋转运动轨迹,如图2所示。在此基础上,假定刚体的平移运动为直线运动,就可以得到图3所示的该运动的等时间离散表示,其中绿色立方体表示样条连接点处的姿态。

Figure 2. The rotational motion trajectory of the center of the rigid body

图2. 刚体中心的旋转运动轨迹

Figure 3. Schematic diagram of rigid body motion

图3. 刚体运动示意图

例2 给定球面 S 3 上5个辅助控制顶点

P 0 = ( 0.6387 0.6301 0.3306 0.2927 ) , P 1 = ( 0.4412 0.7009 0.5567 0.0646 ) , P 2 = ( 0.8180 0.5011 0.0249 0.2813 ) , P 3 = ( 0.7494 0.5340 0.0433 0.3891 ) , P 4 = ( 0.9914 0.0398 0.1179 0.0393 ) ,

令形状控制参数 β j , 1 = 1 , β j , 2 = 0.5 , j = 0 , , 4 ,利用本文的构造方法,我们得到一条Beta四元数样条曲线,将该Beta四元数样条曲线应用于刚体旋转运动的表示,得到了刚体中心的旋转运动轨迹,如图4所示。若改变形状参数 β 1 , 2 的值,从图4可以看出样条曲线形状发生变化。

Figure 4. The effect of shape parameters β 1 , 2 on the shape of the spline, the corresponding β 1 , 2 values of red, black and blue curves are 4, 2 and 0.5 respectively

图4. 形状参数 β 1 , 2 对样条曲线形状的影响,蓝,黑,红曲线分别对应 β 1 , 2 的值为0.5, 2, 4

5. 总结

本文将欧氏空间中的Beta样条曲线推广到单位四元数空间,提出了一种构造Beta四元数样条曲线的方法,构造的样条曲线满足 G 1 连续,并且给出了 G 2 连续的充要条件。该方法直接由给定的辅助控制顶点以及形状相应的形状控制参数计算控制顶点,不需要迭代算法求解非线性方程组。在给定插值点不变的情况下,可以独立计算每段四元数样条曲线的控制顶点,并且可通过改变局部形状控制参数,调整四元数样条曲线形状。在后续的研究中,将会考虑如何选取形状控制参数使得曲线达到最优,以及如何进行Beta四元数样条曲线光滑拼接问题。

NOTES

*通讯作者。

参考文献

[1] Su, B.Y., Zhang, J. and Wang, G.J. (2013) The Solid Orientations Interpolation in Quaternion Space Using a Class of Blending Interpolation Spline. International Journal of Advancements in Computing Technology, 5, 335-341.
https://doi.org/10.4156/ijact.vol5.issue6.39
[2] Barsky, B.A. (1981) The Beta Spline: A Local Representation Based on Shape Parameters and Fundamental Geometric Measure. Ph.D. Thesis, University of Utah, Salt Lake City.
[3] Barsky, B.A. and DeRose, T.D. (1990) Geometric Continuity of Parametric Curves: Constructions of Geo-metrically Continuous Splines. IEEE Computer Graphics and Applications, 10, 60-68.
https://doi.org/10.1109/38.45811
[4] Joe, B. (1990) Quartic Beta-Splines. ACM Transactions on Graphics, 9, 301-337.
https://doi.org/10.1145/78964.78968
[5] Munir, N.A.A.A., Yahya, F. and Hadi, N.A. (2018) C1 Quad-ratic Trigonometric Beta Spline with a Shape Parameter. AIP Conference Proceedings, 1974, Article No. 030028.
https://doi.org/10.1063/1.5041672
[6] Shoemake, K. (1985) Animating Rotation with Quaternion Curves. ACM SIGGRAPH Computer Graphics, 19, 245-254.
https://doi.org/10.1145/325165.325242
[7] Dam, E.B., Koch, M. and Lillholm, M. (1998) Quaternions, Interpo-lation and Animation. Datalogisk Institut, Københavns Universitet, Copenhagen.
[8] Kim, M.J., Kim, M.S. and Shin, S.Y. (1996) A Compact Differential Formula for the First Derivative of a Unit Quaternion Curve. The Journal of Visual-ization and Computer Animation, 7, 43-57.
https://doi.org/10.1002/(SICI)1099-1778(199601)7:1<43::AID-VIS136>3.0.CO;2-T
[9] Kim, M.J., Kim, M.S. and Shin, S.Y. (1995) A General Construction Scheme for Unit Quaternion Curves with Simple High Order Derivatives. In: Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques, Association for Computing Machinery, New York, 369-376.
https://doi.org/10.1145/218380.218486
[10] Nielson, G.M. (2004) ν-Quaternion Splines for the Smooth Interpolation of Orientations. IEEE Transactions on Visualization and Computer Graphics, 10, 224-229.
https://doi.org/10.1109/TVCG.2004.1260774
[11] 邢燕, 樊文, 檀结庆, 许任政. 一类C2连续的单位四元数插值样条曲线[J]. 计算机辅助设计与图形学学报, 2017, 29(1): 45-51.
[12] 邢燕, 白龙, 樊文, 檀结庆. C3连续的单位四元数插值样条曲线[J]. 中国图象图形学报, 2018, 23(4): 534-541.
[13] Tan, J., Xing, Y., Fan, W. and Hong, P. (2018) Smooth Orientation Interpolation Using Parametric Quintic-Polyno- mial-Based Qua-ternion Spline Curve. Journal of Computational and Applied Mathematics, 329, 256-267.
https://doi.org/10.1016/j.cam.2017.07.007
[14] 孙楠, 王倩, 何耀, 杨雷, 陈佳惠. Bézier四元数曲线相关问题研究[J]. 应用数学进展, 2022, 11(3): 1428-1437.
[15] 施法中. 计算机辅助几何设计与非均匀有理B样条[M]. 北京: 高等教育出版社, 2001: 12-24.
[16] 王倩, 潘乐, 张洁琳, 彭兴璇. 具有局部性质的球面插值样条曲线的构造[J]. 图学学报, 2021, 42(2): 230-236.