通过MCP连接 →

输入计算

数学公式

Show calculation steps (3)
  1. Conjugate of q1

    Conjugate of q1: 四元数计算器

    Negate the vector (i, j, k) part of q1.

  2. Norm of q1

    Norm of q1: 四元数计算器

    Magnitude of q1.

  3. Norm of q2

    Norm of q2: 四元数计算器

    Magnitude of q2.

广告

结果

Quaternion Product q1 × q2
-60 + 12i + 30j + 24k
(w, x, y, z)
q1 的共轭 1, -2, -3, -4
q1 的模长 5.4772
q2 的模长 13.1909

什么是四元数计算器?

四元数是一种四维数,记作 \(q = w + xi + yj + zk\),其中 w 是标量部分(实部),(x, y, z) 是向量部分(虚部)。四元数广泛应用于三维计算机图形、机器人、航空航天和物理学等领域,用于表示旋转,可以有效避免欧拉角带来的万向锁问题。本计算器能够计算两个四元数的乘积,同时给出每个输入的模长以及第一个四元数的共轭。

四元数表示为一个实部分量和三个虚轴分量
四元数将标量部分 w 与沿 i、j、k 轴的三维向量部分结合在一起。

使用方法

分别为四元数 q1 和 q2 输入四个分量(w、x、y、z)。计算器会返回哈密顿积 \(q_1 \times q_2\)(一个新的四元数)、两个输入的模长(大小),以及 q1 的共轭。请注意,四元数乘法不满足交换律:一般情况下 \(q_1 \times q_2 \neq q_2 \times q_1\),因此运算顺序非常重要。

公式详解

哈密顿积由标量部分和向量部分共同构成。标量结果等于 w₁w₂ 减去两个向量部分的点积;向量结果等于 w₁v₂ + w₂v₁ 再加上叉积 v₁ × v₂。模长即欧几里得长度 \(\sqrt{w^{2}+x^{2}+y^{2}+z^{2}}\),而共轭只需将向量分量取反即可:\(q^{*} = (w, -x, -y, -z)\)。

$$\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}$$

共轭与模长:

$$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}}$$
Advertisement
哈密顿积分解为标量项和向量项的示意图
哈密顿积可分解为标量部分(点积)和向量部分(叉积加上缩放后的向量)。

实例演算

设 \(q_1 = (1, 2, 3, 4)\),\(q_2 = (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)\)。

常见问题

四元数乘法满足交换律吗? 不满足。由于存在叉积项,\(q_1 \times q_2\) 通常不等于 \(q_2 \times q_1\)。

什么是单位四元数? 模长等于 1 的四元数。单位四元数可用来表示三维空间中的纯旋转。

如何旋转一个向量? 将该向量视为 w = 0 的四元数,然后计算 \(q \cdot v \cdot q^{*}\),其中 q 是编码旋转信息的单位四元数。

最后更新: