四元数计算器
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| 模
1conj(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|=1slerp(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=
0axis.y=
0axis.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 及移动设备,数据在本地处理不上传服务器。
四元数计算器 使用方法
- 在输入框中输入或粘贴需要处理的内容
- 选择相应的处理选项或参数
- 点击"处理"或"转换"按钮获取结果
- 点击"复制"按钮可一键复制结果到剪贴板