#L10 · 線形代数学 (Linear Algebra) · Lv.53Dマインドマップで見る

四元数(クォータニオン)と3D球面線形補間(SLERP)

William Rowan Hamilton · 1843년

q=cos⁡θ2+(uxi+uyj+uzk)sin⁡θ2,i2=j2=k2=ijk=−1q = \cos\frac{\theta}{2} + (u_x i + u_y j + u_z k)\sin\frac{\theta}{2},\quad i^2=j^2=k^2=ijk=-1
p′=q p q−1,Slerp⁡(q1,q2,t)=sin⁡((1−t)Ω)sin⁡Ωq1+sin⁡(tΩ)sin⁡Ωq2\mathbf{p}' = q\,\mathbf{p}\,q^{-1},\quad \operatorname{Slerp}(q_1, q_2, t) = \frac{\sin((1-t)\Omega)}{\sin\Omega}q_1 + \frac{\sin(t\Omega)}{\sin\Omega}q_2

複素数を4次元へと拡張し、オイラー角の致命的欠陥であるジンバルロック(Gimbal Lock)を完全に防いで滑らかな3D回転補間(SLERP)を実現するゲーム・航空宇宙の必須公式です。

🧮 即時公式計算機 & グラフプロッター
3D回転角 θ°
回転軸 uz
q=0.707+0.000i+0.707k(∥q∥=1)\mathbf{q} = 0.707 + 0.000\mathbf{i} + 0.707\mathbf{k} \quad (\|\mathbf{q}\|=1)
스칼라부 w = cos(θ/2)
0.7071
벡터부 (qx, qz)
(0.000, 0.707)
단위 노름 ||q||
1.0000
q(θ/2=45°)

前提概念ルート (Prerequisite Path) (26 STEP)

ルート解析機

順番にクリックすると基礎から目標公式までの3Dネオン経路を辿れます。

STEP 1#A01等式の性質と一次方程式
STEP 2#A02乗法公式と因数分解の恒等式
STEP 3#A03指数法則と累乗根
STEP 4#G03円周率 π と弧度法(ラジアン)・扇形の公式
STEP 5#G01ピタゴラスの定理 (三平方の定理)
STEP 6#L01ベクトルの演算と L1・L2 ノルム・正規化
STEP 7#A06対数の定義と底の変換公式
STEP 8#A08二項定理とパスカルの三角形
STEP 9#A07等差・等比数列の和と無限等比級数
STEP 10#C02微分係数と導関数 (瞬間変化率と接線)
STEP 11#G022D・3D座標空間のユークリッド距離公式
STEP 12#A04二次方程式の解の公式と判別式
STEP 13#G04単位円上の三角関数と基本恒等式
STEP 14#C01極限の定義とネイピア数 e の誕生
STEP 15#G05正弦定理と余弦定理
STEP 16#L04行列の積と線形変換の合成 (GEMM)
STEP 17#L02ベクトルの内積(ドット積)とコサイン類似度
STEP 18#L033次元ベクトルの外積(クロス積)と法線ベクトル
STEP 19#C04微分積分学の基本定理と定積分
STEP 20#G06三角関数の加法定理と倍角の公式
STEP 21#L05行列式(Determinant)と逆行列の公式
STEP 22#A09虚数単位 i と複素平面の極形式
STEP 23#L072D・3D回転行列と直交行列 (SO(3))
STEP 24#C06テイラー級数とマクローリン展開
STEP 25#C07オイラーの公式と世界で最も美しい等式
STEP 26#L10四元数(クォータニオン)と3D球面線形補間(SLERP)

幾何学的・直観的解説

2D 평면 회전을 복소수 e^(iθ) = cos θ + i sin θ 로 표현했듯, 3D 공간에서 단위 회전축 u = (u_x, u_y, u_z) 둘레로 θ만큼 회전하는 것은 q · p · q⁻¹ 양쪽 곱셈 때문에 반각(θ/2)을 쓰는 4차원 단위 사원수가 됩니다!

ステップ別 数式導出

  1. Step 1.1단계: 해밀턴이 더블린 브로엄 다리에 새긴 기본 관계식 i² = j² = k² = ijk = -1 로부터 ij = k, ji = -k (외적 성질)가 도출됩니다.
  2. Step 2.2단계: 회전축 단위벡터 u 에 대해 단위 사원수 q = cos(θ/2) + u sin(θ/2) 를 구성합니다.
  3. Step 3.3단계: 3D 점 p를 순허수 사원수로 보고 q p q⁻¹ 을 계산하면, 축 u 에 수직인 성분이 정확히 θ/2 + θ/2 = θ 만큼 회전합니다.

AI・プログラミング実戦活用

Three.js・Unity・Unrealの骨格アニメーション補間(SLERP)およびドローン・宇宙船の姿勢制御

#Three.js Quaternion#Gimbal Lock Free#Aerospace Attitude
const quatFromAxisZ = (rad: number) => ({ w: Math.cos(rad/2), x: 0, y: 0, z: Math.sin(rad/2) });

線形代数学 (Linear Algebra) — 同分野の関連公式