【发布时间】:2023-03-31 15:22:01
【问题描述】:
谁能告诉我如何得到四元数的倒数。
q-1=q'/(q*q')
q' = 四元数共轭
(q*q') = 四元数的范数 * 四元数的范数
我有我的四元数:(C 语言)
quat.x = 0.0;
quat.y = 1.0;
quat.z = 0.0;
quat.w = 45.0;
第一个共轭:
quat.conjx = 0.0;
quat.conjy = -1.0;
quat.conjz = 0.0;
quat.conjw = 45.0;
下一步:规范
quat.norm = sqrt(quat.x*quat.x + quat.y*quat.y + quat.z*quat.z + quat.w*quat.w);
好的,但是...如何使用 C 语法计算逆?是这样吗?:
quat.invx = quat.conjx / (quat.norm*quat.norm);
quat.invy = quat.conjy / (quat.norm*quat.norm);
quat.invz = quat.conjz / (quat.norm*quat.norm);
quat.invw = quat.conjw / (quat.norm*quat.norm);
非常感谢您的帮助
【问题讨论】:
-
在这篇文章中使用 C 语法?
-
这不是重复的。另一个问题在 Haskell 中回答。
-
逆公式如下:
inverse = conjugate(q) / norm(q)I wrote a C-library that does this.我会创建一个新答案,但这是一个封闭的问题。
标签: c quaternions