#L10 · 线性代数 (Linear Algebra) · Lv.5在3D思维导图中查看

四元数(Quaternion)与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

将复数扩展至四维超复数空间,彻底消除欧拉角旋转的万向节死锁(Gimbal Lock),并通过SLERP实现最平滑的3D姿态插值。

🧮 即时公式计算器与图形绘制器
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#G02二维与三维空间欧几里得距离公式
STEP 12#A04一元二次方程求根公式与判别式
STEP 13#G04单位圆三角函数与基本恒等式
STEP 14#C01极限的定义与自然常数 e 的诞生
STEP 15#G05正弦定理与余弦定理
STEP 16#L04矩阵乘法与线性变换复合 (GEMM)
STEP 17#L02向量点积(内积)与余弦相似度
STEP 18#L03三维向量叉积(外积)与表面法向量
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四元数(Quaternion)与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) — 同领域相关公式