四元数计算器

Hamilton 约定的四元数运算、欧拉角/轴角/矩阵互转、向量旋转与球面插值

Q1

(w=0.707107, x=0, y=0, z=0.707107)

Q2

(w=0.965926, x=0, y=0, z=0.258819)

一元运算(作用于 Q1)

|Q1| 模
1
conj(Q1) 共轭
(w=0.707107, x=0, y=0, z=-0.707107)
Q1⁻¹ 逆
(w=0.707107, x=0, y=0, z=-0.707107)
Q1 / |Q1| 单位化
(w=0.707107, x=0, y=0, z=0.707107)

二元运算

Q1 · Q2(Hamilton 乘法,非交换)
(w=0.5, x=0, y=0, z=0.866025)
Q2 · Q1(对照)
(w=0.5, x=0, y=0, z=0.866025)
点积 Q1·Q2
0.866025
夹角 2·arccos(|d|)
60°|Q1|=1 |Q2|=1
slerp(Q1, Q2, t) 球面线性插值
t = 0.50
(w=0.866025, x=0, y=0, z=0.5)

欧拉角 ↔ 四元数(Z-Y-X 内旋:yaw → pitch → roll)

→ 四元数:(w=0.723317, x=0.391904, y=-0.360423, z=0.43968)
Q1 → 欧拉角:
roll=0°
pitch=0°
yaw=90°

轴角 ↔ 四元数

→ 四元数:(w=0.707107, x=0.707107, y=0, z=0)
Q1 → 轴角:
axis.x=0
axis.y=0
axis.z=1
θ=90°

退化情形:Q1≈±I 时轴未定义,默认取 (1,0,0)。

3×3 旋转矩阵 ↔ 四元数

→ 四元数(Shepperd 法):(w=1, x=0, y=0, z=0)
Q1 → 矩阵:
| 0  -1  0 |
| 1  0  0 |
| 0  0  1 |

向量旋转 v′ = Q1 · (0, v) · Q1⁻¹

v
(1, 0, 0)
v′
(0, 1, 0)

|v′| 应与 |v| 一致(若 Q1 非单位四元数,先归一化)。

约定与实现

采用 Hamilton 约定:q = w + xi + yj + zk,乘法按 i²=j²=k²=ijk=−1;单位四元数表示纯旋转,q 与 −q 表示同一旋转。

欧拉角约定 Z-Y-X 内旋(先 yaw→pitch→roll),等价于世界系 X→Y→Z 外旋;与 Unity/常见飞行动力学一致;如需其它欧拉顺序请手动组合轴角。

slerp 采用 Shortest-arc:若 dot<0 自动取反 Q2;dot>0.9995 时退化为归一化 lerp 避免数值不稳定。

四元数 ↔ 矩阵使用 Shepperd 分支法(按迹与最大对角线元素选择稳定分支)。15 项 KAT 通过(恒等、逆、共轭、绕轴旋转、欧拉/矩阵双向往返、slerp 端点与中点、两次 45° 复合 90°)。

关于 四元数计算器 工具

四元数计算器 是云海百宝箱提供的一个免费在线工具。Hamilton 约定的四元数运算、欧拉角/轴角/矩阵互转、向量旋转与球面插值 该工具完全在浏览器中运行,无需下载安装任何软件,跨平台支持 Windows、Mac、Linux 及移动设备,数据在本地处理不上传服务器。

与 四元数计算器 配合常用的同类工具: 科学计算器、进制转换、单位换算、人民币大写转换、汇率转换、房贷计算器

四元数计算器 使用方法

  1. 在输入框中输入或粘贴需要处理的内容
  2. 选择相应的处理选项或参数
  3. 点击"处理"或"转换"按钮获取结果
  4. 点击"复制"按钮可一键复制结果到剪贴板

相关工具推荐