四元數計算器 - 4D 數學與 3D 旋轉

執行四元數加法、減法、乘法、共軛、範數與反元素運算,適用於 3D 圖形和機器人學。

輸入四元數的 w、x、y、z 分量,選擇運算,即可立即取得結果。

四元數計算器 - 4D 數學與 3D 旋轉
執行四元數加法、減法、乘法、共軛、範數與反元素運算,適用於 3D 圖形和機器人學。

關於四元數計算器

四元數是一種擴展複數的數系。複數只有一個虛數單位 i,而四元數有三個:i、j 和 k。四元數寫成 q = w + xi + yj + zk,其中 w 是實部(純量部分),x、y、z 是虛部(向量分量)。四元數由愛爾蘭數學家威廉·羅恩·哈密頓於 1843 年發現,此後在電腦圖學、航太工程、機器人學和物理模擬中變得不可或缺。 相較於歐拉角等其他旋轉表示法,四元數的主要優勢在於能避免萬向節鎖死——也就是兩個旋轉軸對齊,導致失去一個自由度的現象。四元數將 3D 旋轉表示為單一、連續且可插值的物件。因此,它們是平滑動畫、電玩遊戲角色移動以及太空船姿態控制的首選。 此四元數計算器支援六種基本運算。加法和減法是逐分量運算:只需分別加上或減去四個分量 (w, x, y, z)。乘法則更複雜,因為四元數乘法不具交換性——也就是一般而言 q1 × q2 ≠ q2 × q1。乘積遵循哈密頓乘積規則:(w1w2 - x1x2 - y1y2 - z1z2) + (w1x2 + x1w2 + y1z2 - z1y2)i + (w1y2 - x1z2 + y1w2 + z1x2)j + (w1z2 + x1y2 - y1x2 + z1w2)k。 四元數 q = w + xi + yj + zk 的共軛為 q* = w - xi - yj - zk——它會將三個虛部分量全部取負,同時保持實部不變。共軛類似複共軛,並用於計算反元素。 四元數的範數(也稱大小)為 |q| = √(w² + x² + y² + z²)。單位四元數的範數等於 1,在表示不含任何縮放的純旋轉時特別重要。 四元數的反元素為 q⁻¹ = q* / |q|²,其中 q* 是共軛,|q|² 是範數平方。對單位四元數而言,反元素等於共軛。反元素可用來撤銷旋轉——如果 q 將向量旋轉某個角度,q⁻¹ 會將它旋轉回來。此計算器可即時處理所有這些運算,對從事 3D 變換、動畫系統或高等數學的人非常有用。

四元數計算器範例

透過這些範例了解常見的四元數運算。

輸入結果說明
q1 = 1+2i+3j+4k, q2 = 5+6i+7j+8k(加法)6 + 8i + 10j + 12k逐分量相加:四個分量各自獨立相加。實部:1+5=6,i:2+6=8,j:3+7=10,k:4+8=12。
q1 = 0+1i+0j+0k, q2 = 0+0i+1j+0k(乘法)0 + 0i + 0j + 1k不具交換性的哈密頓乘積:i × j = k。請注意 j × i = -k,這展示了非交換性。
q = 3 - 1i + 2j + 5k(共軛)3 + 1i - 2j - 5k共軛會將三個虛部全部取負,同時保持實部(純量部分)不變。
q = 1+1i+1j+1k(範數)2|q| = √(1²+1²+1²+1²) = √4 = 2。範數用來衡量四元數的大小。

如何使用四元數計算器

  1. 從下拉選單選擇要執行的運算(加法、減法、乘法、共軛、範數或反元素)。
  2. 輸入第一個四元數 q1 的四個分量 (w, x, y, z)。若是二元運算,也請輸入第二個四元數 q2 的分量。
  3. 按一下計算查看結果。二元運算會傳回四元數;範數會傳回純量;反元素會傳回四元數。
  4. 查看下方顯示的結果。對乘法而言,請記住順序很重要——q1 × q2 ≠ q2 × q1。
  5. 按一下重設清除所有欄位並開始新的計算。

四元數計算器常見問題

什麼是四元數?
四元數是形如 q = w + xi + yj + zk 的四維數,其中 w 是純量(實)部分,x、y、z 是向量(虛)部分,並受 i² = j² = k² = ijk = -1 規則支配。它們擴展了複數,並廣泛用於表示沒有萬向節鎖死的 3D 旋轉。
為什麼四元數乘法不具交換性?
虛數單位 i、j、k 遵循 ij = k、ji = -k、jk = i、kj = -i、ki = j、ik = -j 的規則。由於乘法順序會改變某些交叉項的符號,q1 × q2 通常不等於 q2 × q1。這與 3D 旋轉矩陣的行為相似。
四元數如何用來表示 3D 旋轉?
繞單位軸 (ax, ay, az) 旋轉角度 θ 可編碼為 q = cos(θ/2) + sin(θ/2)·(ax·i + ay·j + az·k)。得到的四元數範數為 1(單位四元數)。若要旋轉向量 v,可計算 q × v × q⁻¹,其中 v 被視為 w=0 的純四元數。
什麼是單位四元數,為什麼重要?
單位四元數的範數等於 1。單位四元數在乘法下形成一個群,是圖學和機器人學中表示 3D 方位的標準方式。將任意四元數除以其範數即可得到對應的單位四元數。非單位四元數會把旋轉與縮放結合在一起。
共軛和反元素有什麼差別?
共軛 q* = w - xi - yj - zk 只是將虛部取負。反元素 q⁻¹ = q* / |q|² 則是將共軛除以範數平方。對單位四元數 (|q| = 1) 而言,反元素和共軛相同;對非單位四元數而言則不同。
我可以用這個計算器做基於四元數的動畫插值(SLERP)嗎?
此計算器可計算理解與實作 SLERP(球面線性插值)所需的基本代數運算。SLERP 本身需要計算 q1 × (q1⁻¹ × q2)^t,你可以使用這裡提供的乘法和反元素運算逐步建立。