王 倩, 劉美含, 周 彤, 周奕含, 徐宇飛
(遼寧師范大學 數學學院,遼寧 大連 116081)
隨著計算機動畫和機器人控制技術的飛速發展,剛體運動曲線的設計變得愈發重要[1].通常情況下,人們使用位置曲線和朝向曲線來共同生成剛體運動曲線.對比于傳統的歐拉角法和旋轉矩陣表示法,單位四元數更適合表示剛體的朝向,其優勢是可以避免萬向節鎖死現象的發生.因此,單位四元數曲線近年來被廣泛應用于剛體運動曲線的設計中.但是并非所有的曲線都能夠被推廣到單位四元數空間S3中,本文圍繞如何構造單位四元數曲線問題進行研究.
1985年,Shoemake[6]利用球面線性插值(slerp)方法構造了具有C1連續性的單位四元數Bézier曲線,成功將四元數應用到了剛體運動中.1995年,Kim[7-8]給出了定義在旋轉群SO(3)或S3上的單位四元數曲線的一般代數構造方法和高階導數微分公式,其做法是將歐氏空間中樣條曲線的基函數由累加形式轉化為累積形式,從而得到相應的四元數曲線,該類曲線保留了在3中的一些幾何和微分性質.以Kim和文獻[3-5]為基礎,邢燕等[9]對單位四元數插值樣條曲線的連續性與插值性問題進行了研究,構造了基于四次多項式的C2連續單位四元數插值樣條曲線.Tan等[10]給出了基于參數五次多項式的單位四元數插值樣條曲線的構造方法,該曲線能夠達到G2連續,并且可以通過改變參數調整曲線形狀.孫楠等[11]研究了Bézier四元數樣條曲線的性質和端點處的高階導矢,構造出具有C2連續性的四元數插值樣條曲線.文獻[12]將Gamma樣條推廣到四元數空間,研究了四元數樣條曲線的連續性問題和局部控制參數對曲線形狀的影響.
受以上研究的啟發,結合四元數理論,本文構造了基于四次多項式的含參單位四元數樣條曲線,并對其在每段連接點處的連續性進行了研究.該曲線不但能夠精確地插值任意給定的四元數序列,而且可以通過改變參數來整體調整樣條曲線的形狀,滿足了平滑性和計算效率的要求.
類似復數的定義,四元數的一般形式為
i2=j2=k2=ijk=-1,
ij=-ji=k, jk=-kj=i, ki=-ik=j.
為了方便,四元數q還可以表示成另一種形式:
四元數的加減法定義為
四元數的乘法定義為
q=(cosθ,sinθ(a,b,c)),
給定一個向量v=θ(a,b,c)∈3,其中,θ∈[0,π],(a,b,c)∈S2,指數映射可以解釋為從向量v到單位四元數的映射:
q=exp(v)=(cosθ,sinθ(a,b,c))∈S3.
當限制|θ|<π時,映射exp是一一映射,則可以定義它的逆映射對數映射:
v=log(q)∈3.
所以單位四元數q對于實值指數α的冪可以定義為qα=exp(αlog(q)).
給定2個單位四元數q1和q2,則q1到q2之間的最短距離可以用測地線方程來表示[7]:
給定控制頂點q0,q1,…,qn∈S3.根據Kim的構造方法[8],可以定義相應的四元數曲線如下:
(1)
式(1)可改寫成簡單四元數曲線乘積的形式:
(2)
歐氏空間中樣條曲線的構造方法有很多,本節內容引用了韓旭里等[3]的構造方法,得到的四次樣條曲線可以直接插值給定的點列,并且能夠達到C2連續.
給定點列p1,p2,…,pn∈和參數λ∈,令p0=p1,pn+1=pn.對于每4個相鄰的點pi-1,pi,pi+1,pi+2(i=1,2,…,n-1),構造四次多項式曲線[3]:
Pi(t)?Pi(t,λ)=(B0,4(t),B1,4(t),B2,4(t),B3,4(t),B4,4(t))
(3)
將Bernstein基函數做線性組合,則可以得到四次多項式曲線的另一種表達方式:
(4)
其中,
(5)
對于i=1,2,…,n-1,t∈[1,n],令
P(t)=Pi(t-i),i≤t≤i+1.
(6)
顯然P(t)是由n-1段Pi(t)依次拼接而成的四次多項式樣條曲線.
基于Kim等人[8]的工作,本節在S3空間中構造基于四次多項式的單位四元數樣條曲線.
定義1給定四元數q1,q2,…,qn∈S3,數列u1,u2,…,un∈和參數λ∈,令對于i=1,2,…,n-1,在每個子區間[ui,ui+1]上定義單位四元數曲線:
(7)
對于i=1,2,…,n-1,u∈[u1,un],令
Q(u)=Qi(u),ui≤u≤ui+1,
(8)
則Q(u)是一條單位四元數樣條曲線.顯然Q(u)是由n-1段Qi(u)依次拼接而成的.
當u∈[ui,ui+1]時,有
單位四元數樣條曲線Q(u)保持了歐氏空間中樣條曲線P(t)的許多重要性質.由于所構造的樣條曲線Q(u)是由n-1段Qi(u)拼接而成的,因此研究相鄰兩段單位四元數曲線在連接點處的光滑性即可.
證式(7)可以改寫為
(9)
將ui,ui+1代入式(9),得
Qi(ui)=qi,Qi(ui+1)=qi+1.
對Qi(u)關于u求一階導,得
(10)
由式(2)知
將ui,ui+1代入式(10),得
對Qi(u)關于u求二階導,得
(11)
由式(2)知
將ui,ui+1代入式(11),得
通過將各類單位四元數樣條曲線應用于剛體運動,以對比實驗的形式來說明本文提出的構造方法的可行性和有效性.
隨機選取一組四元數作為插值點
構造由3段四元數曲線組成的單位四元數樣條曲線,應用于剛體運動中.圖1中剛體運動均是由不同單位四元數樣條曲線作朝向曲線生成的,位置曲線均選取為直線.為了更好地觀察剛體的旋轉情況,將插值點設置成了易于區分的顏色.
圖1(a)和圖1(b)展示了本文構造的單位四元數樣條曲線作朝向曲線生成的剛體運動圖像.圖1(c)是邢燕等人[9]的單位四元數樣條曲線作朝向曲線生成的剛體運動圖像.特別地,此方法是本文所得方法在λ取0.5時得到的結果.圖1(d)是Tan等人[10]的單位四元數樣條曲線作朝向曲線生成的剛體運動圖像.可以看出,令λ=0.5時,應用本文方法得到的剛體運動圖像接近檀結慶方法的剛體運動圖像,但是本文方法構造出的單位四元數樣條曲線次數較低.
為了進一步探討參數的選取對本文構造方法的影響,將單位四元數樣條曲線應用于剛體運動,繪制剛體中心的旋轉運動軌跡.隨機選取另一組四元數作為插值點
圖2(a)~圖2(i) 展示了λ取不同值時剛體中心的旋轉運動軌跡.可以看出,λ的取值越接近0.5時,軌跡曲線在插值點處就越順滑.λ的取值接近0時,軌跡曲線在剛經過插值點后變得尖銳,對應時刻的剛體旋轉速度加快,其余時刻軌跡曲線較為平坦.λ的取值接近1時,軌跡曲線在即將到達下一個插值點時變得尖銳,其余時刻較為平坦.如果λ取值為負或者>1時,插值點附近的軌跡曲線就會扭結(如圖2(a)(i)),所以一般在[0,1]中選擇參數值.
本文提出一種基于四次多項式的G2連續單位四元數樣條曲線的構造方法.該曲線能夠精確地插值任意給定的四元數序列,并且可以通過改變參數大小來調整整體形狀.此方案能夠應用于計算機動畫和機器人控制中的剛體運動曲線設計.在后續的研究中,將會考慮如何添加多個參數使得曲線能進行局部調控,以及改良調配基函數,使曲線具有更高階的幾何連續性.