免费四元数计算器

输入数值后结果将显示于此。

什么是四元数?

四元数是复数的四维扩展,由威廉·哈密顿爵士首次提出,用于建模三维旋转。四元数表示为

q=a+b i+c j+d k,q = a + b\,\mathbf{i} + c\,\mathbf{j} + d\,\mathbf{k},

其中 aa, bb, cc, 和 dd 是实数,i\mathbf{i}, j\mathbf{j}, k\mathbf{k} 是基本的单位四元数。实部是 aa,其余三个分量构成“向量”部分。当 c=d=0c = d = 0 时,表达式简化为普通复数,凸显了四元数如何推广熟悉的二维平面。

四元数的加法和减法

四元数的加法(和减法)与向量加法完全相同:只需将对应系数相加。

(a+bi+cj+dk)+(e+fi+gj+hk)=(a+e)+(b+f)i+(c+g)j+(d+h)k.(a + b\mathbf{i} + c\mathbf{j} + d\mathbf{k}) + (e + f\mathbf{i} + g\mathbf{j} + h\mathbf{k}) = (a+e) + (b+f)\mathbf{i} + (c+g)\mathbf{j} + (d+h)\mathbf{k}.

该运算满足结合律、交换律,且每个四元数都有加法逆元。减法遵循相同原则——加上每个系数的相反数。

四元数的乘法——哈密顿乘积

乘法更为复杂,因为它是不可交换的。规则依赖于单位四元数的乘积:

i2=j2=k2=−1,ij=k,  jk=i,  ki=j,ji=−k,  kj=−i,  ik=−j.\mathbf{i}^2 = \mathbf{j}^2 = \mathbf{k}^2 = -1, \quad \mathbf{i}\mathbf{j} = \mathbf{k},\; \mathbf{j}\mathbf{k} = \mathbf{i},\; \mathbf{k}\mathbf{i} = \mathbf{j},\quad \mathbf{j}\mathbf{i} = -\mathbf{k},\; \mathbf{k}\mathbf{j} = -\mathbf{i},\; \mathbf{i}\mathbf{k} = -\mathbf{j}.

利用分配律,两个四元数

q1=a+bi+cj+dkq_1 = a + b\mathbf{i} + c\mathbf{j} + d\mathbf{k} 和 q2=e+fi+gj+hkq_2 = e + f\mathbf{i} + g\mathbf{j} + h\mathbf{k}

的乘积称为哈密顿乘积。结果的形式为:

q1q2=  (ae−bf−cg−dh)+(af+be+ch−dg) i+(ag−bh+ce+df) j+(ah+bg−cf+de) k.\begin{aligned} q_1 q_2 = &\;(ae - bf - cg - dh) \\ &+ (af + be + ch - dg)\,\mathbf{i} \\ &+ (ag - bh + ce + df)\,\mathbf{j} \\ &+ (ah + bg - cf + de)\,\mathbf{k}. \end{aligned}

由于乘法不可交换,q1q2q_1 q_2 通常不同于 q2q1q_2 q_1。因此,当您执行四元数乘法操作时,计算器会返回两种顺序的结果。

模、共轭和逆

四元数的模(或长度)类似于四维向量的长度:

∥q∥=a2+b2+c2+d2.\|q\| = \sqrt{a^{2} + b^{2} + c^{2} + d^{2}}.

共轭将向量部分的符号取反:

q‾=a−b i−c j−d k.\overline{q} = a - b\,\mathbf{i} - c\,\mathbf{j} - d\,\mathbf{k}.

四元数与其共轭相乘得到模的平方:qq‾=∥q∥2q\overline{q} = \|q\|^{2}。

非零四元数的逆由下式给出:

q−1=q‾∥q∥2.q^{-1} = \frac{\overline{q}}{\|q\|^{2}}.

由于乘法不可交换,除法解释为乘以逆,并且顺序重要。四元数逆计算器功能自动计算 q1q2−1q_1 q_2^{-1} 和 q2−1q1q_2^{-1} q_1。

矩阵表示

一个四元数可以表示为 4×44\times 4 的实矩阵:

(a−b−c−dba−dccda−bd−cba).\begin{pmatrix} a & -b & -c & -d \\ b & a & -d & c \\ c & d & a & -b \\ d & -c & b & a \end{pmatrix}.

另外,也存在 2×22\times 2 的复矩阵表示。模等于行列式的平方根,共轭对应于共轭转置。

使用四元数进行三维旋转

四元数的一个主要应用是三维空间中的四元数旋转。任何旋转都可以通过一个轴(单位向量 va\mathbf{v}_a)和一个角度 θ\theta 来描述。旋转四元数为

q=cos⁡θ2+sin⁡θ2 (xai+yaj+zak),q = \cos\frac{\theta}{2} + \sin\frac{\theta}{2}\,(x_a\mathbf{i} + y_a\mathbf{j} + z_a\mathbf{k}),

其中 va=(xa,ya,za)\mathbf{v}_a = (x_a, y_a, z_a) 是单位向量。要旋转点 v=(x,y,z)\mathbf{v} = (x,y,z),首先将其表示为纯四元数 qv=0+xi+yj+zkq_v = 0 + x\mathbf{i} + y\mathbf{j} + z\mathbf{k}。然后计算

qv′=q⋅qv⋅q−1.q_v' = q \cdot q_v \cdot q^{-1}.

得到的四元数 qv′=0+x′i+y′j+z′kq_v' = 0 + x'\mathbf{i} + y'\mathbf{j} + z'\mathbf{k} 直接给出旋转后的坐标 (x′,y′,z′)(x', y', z')。通过将四元数转换为旋转矩阵也可以得到相同的结果。

本工具中的四元数旋转计算器处理所有中间步骤:将任意轴向量转换为单位向量,构建旋转四元数,并可选择输出等价的旋转矩阵。

计算器使用实例

假设您想计算

q1=2−i+3j+kq_1 = 2 - \mathbf{i} + 3\mathbf{j} + \mathbf{k} 和 q2=5−4i+kq_2 = 5 - 4\mathbf{i} + \mathbf{k} 的哈密顿乘积。

使用计算器的“积”功能,输入系数即可立即获得两种可能的结果。

或者,要为轴 va=(1,0,−1)\mathbf{v}_a = (1, 0, -1) 和角度 60∘60^\circ 创建旋转四元数,选择“旋转四元数”,输入轴分量和角度,工具将返回四元数以及对应的旋转矩阵。免去您手动进行三角和代数运算。

计算器支持所有核心运算:四元数加法、四元数乘法、四元数模计算器、四元数共轭、四元数逆计算器以及旋转相关计算。每个运算都能提供精确结果,并且在顺序重要时显示两种可能的结果。

常见问题

1. 如何使用计算器计算两个四元数的乘法?

从操作菜单中选择“积”,然后输入每个四元数的四个系数。计算器应用哈密顿乘积规则并显示两种可能的结果(因为乘法不可交换)。

2. 四元数和复数有什么区别?

复数有一个实部和一个虚部,而四元数有一个实部和三个虚部(i、j、k)。四元数扩展了复数,且在乘法下不可交换,这使其特别适用于三维旋转。

3. 如何计算四元数的逆?

非零四元数 q 的逆由 q⁻¹ = conj(q) / |q|² 给出。计算器的逆函数会自动计算,还可以计算左除和右除(q₁ / q₂ = q₁ · q₂⁻¹ 或 q₂⁻¹ · q₁)。

4. 四元数旋转计算器是否支持非单位轴?

是的。您可以输入任何轴向量(即使不是单位向量)。工具会在内部将其归一化,然后使用您指定的角度构建旋转四元数。

5. 我能使用此工具从四元数获得旋转矩阵吗?

可以。当您计算旋转四元数时,计算器还会输出等价的3×3旋转矩阵,可直接用于变换向量。

使用方法

  1. 从下拉菜单中选择要执行的四元数运算:和、差、积、商、逆、模、共轭或旋转四元数。
  2. 输入四元数的实部和虚部系数(a、b、c、d)。对于旋转模式,提供轴向量分量和旋转角度。
  3. 立即查看计算结果。对于积和商,由于四元数乘法不可交换,将显示两种次序的结果。