四元数(クォータニオン)計算機とは?
四元数(クォータニオン)とは、\(q = w + xi + yj + zk\) の形で表される4次元の数です。w はスカラー部(実部)、(x, y, z) はベクトル部(虚部)を表します。四元数は3Dコンピュータグラフィックスやロボティクス、航空宇宙、物理学などで広く使われ、オイラー角のようなジンバルロックの問題を起こすことなく回転を表現できるのが大きな特長です。この計算機では、2つの四元数の積を求めるほか、それぞれの入力のノルムと、1つ目の四元数の共役も同時に算出します。
使い方
四元数 q1 と q2 のそれぞれについて、4つの成分(w, x, y, z)を入力してください。計算機は、ハミルトン積 \(q_1 \times q_2\) を新しい四元数として返すほか、両方の入力の大きさ(ノルム)と、q1 の共役を表示します。なお、四元数の掛け算は交換法則が成り立たない点に注意が必要です。一般に \(q_1 \times q_2 \neq q_2 \times q_1\) となるため、掛ける順序が結果を左右します。
計算式の解説
ハミルトン積は、スカラー部とベクトル部を組み合わせて求めます。
$$\begin{gathered} 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 - x_1 z_2 + y_1 w_2 + z_1 x_2)\,j + (w_1 z_2 + x_1 y_2 - y_1 x_2 + z_1 w_2)\,k \\[1.5em] \text{where}\quad \left\{ \begin{aligned} q_1 &= \text{w}_1 + \text{x}_1\,i + \text{y}_1\,j + \text{z}_1\,k \\ q_2 &= \text{w}_2 + \text{x}_2\,i + \text{y}_2\,j + \text{z}_2\,k \end{aligned} \right. \end{gathered}$$スカラー部の結果は、w₁w₂ からベクトル部どうしの内積を引いたものです。ベクトル部の結果は、w₁v₂ + w₂v₁ に、ベクトルの外積 v₁ × v₂ を足したものになります。ノルムはユークリッド距離 \(\sqrt{w^2+x^2+y^2+z^2}\) で求め、共役はベクトル成分の符号を反転させるだけです(q* = (w, −x, −y, −z))。
$$q_1^{*} = \text{w}_1 - \text{x}_1\,i - \text{y}_1\,j - \text{z}_1\,k$$$$\lVert q_1 \rVert = \sqrt{\text{w}_1^{2} + \text{x}_1^{2} + \text{y}_1^{2} + \text{z}_1^{2}}$$$$\lVert q_2 \rVert = \sqrt{\text{w}_2^{2} + \text{x}_2^{2} + \text{y}_2^{2} + \text{z}_2^{2}}$$
計算例
q1 = (1, 2, 3, 4)、q2 = (5, 6, 7, 8) としてみましょう。スカラー部は \(1\cdot5 - 2\cdot6 - 3\cdot7 - 4\cdot8 = 5 - 12 - 21 - 32 = -60\) です。i 成分は \(1\cdot6 + 2\cdot5 + 3\cdot8 - 4\cdot7 = 6 + 10 + 24 - 28 = 12\)。j 成分は \(1\cdot7 - 2\cdot8 + 3\cdot5 + 4\cdot6 = 7 - 16 + 15 + 24 = 30\)。k 成分は \(1\cdot8 + 2\cdot7 - 3\cdot6 + 4\cdot5 = 8 + 14 - 18 + 20 = 24\) となります。したがって、\(q_1 \times q_2 = (-60, 12, 30, 24)\) です。
よくある質問(FAQ)
四元数の掛け算に交換法則は成り立ちますか? いいえ。外積の項があるため、一般に \(q_1 \times q_2\) と \(q_2 \times q_1\) は異なる結果になります。
単位四元数とは何ですか? ノルムが 1 に等しい四元数のことです。単位四元数は、3D空間における純粋な回転を表します。
ベクトルを回転させるには? ベクトルを w = 0 の四元数とみなし、\(q \cdot v \cdot q^{*}\) を計算します。ここで q は回転を表す単位四元数です。