Q
计算四元数逆
9
A
回答
8
查看Wikipedia article整个四元数学。
不知道你想用什么语言,但我会尝试给Haskell一些提示。
data Quaternion = Q Double Double Double Double deriving (Show, Eq)
首先,您需要实现四元数的乘法和加法。
instance Num Quaternion where
(+) = q_plus
(*) = q_mult
--....
q_plus (Q a b c d) (Q a' b' c' d') = Q (a + a') (b + b') (c + c') (d + d')
q_mult (Q a b c d) (Q a' b' c' d') = Q a'' b'' c'' d''
where
a'' = a * a' - b * b' - c * c' - d * d'
b'' = a * b' + b * a' + c * d' - d * c'
c'' = a * c' - b * d' + c * a' + d * b'
d'' = a * d' + b * c' - c * b' + d * a'
乘以标量应通过一个转换来完成:
scalar_to_q a = Q a 0 0 0
定义
i = Q 0 1 0 0
j = Q 0 0 1 0
k = Q 0 0 0 1
然后实现共轭和弹性模量:
q_conjugate q = (scalar_to_q (negate .5)) * (q + i * q * i + j * q * j + k * q * k)
q_modulus q = sqrt $ q * (q_conjugate q)
现在,逆:
q_inverse q = (q_conjugate q) * (scalar_to_q (m * m))
where
m = q_modulus q
希望它有用。 PS:如果成功完成,上面的实例定义将简化一些事情。我让你填补空白。
+0
谢谢。真棒回答! – user346443
+10
为什么这个问题是关闭的,这是一个合法的问题,问如何计算四元数的倒数。是不是StackOverflow变得过度主持? – kaalus
1
看那Matrix and Quaternion FAQ。还有一些代码示例。
相关问题
- 1. 从陀螺仪+加速度计数据计算四元数
- 2. 计算四个数字
- 3. Python:计算伪逆矩阵的逆
- 4. 如何在Matlab中计算四元数的范数?
- 5. 可逆计算平台
- 6. Java逆矩阵计算
- 7. 从3D空间中的2点计算四元数/旋转
- 8. 如何计算四元数旋转的相反视图?
- 9. 使用threejs计算三角形四元数
- 10. 用四元数创建第3人相机位置计算
- 11. Android计算器数字四舍五入
- 12. CSS计算()四舍五入
- 13. Rcpp与四精度计算
- 14. 四位计算器溢出
- 15. 四元搜索算法
- 16. 四元数 - 使用加速计和陀螺仪进行角度计算
- 17. 颜色和谐理论和算法,计算互补,三元组,四元等
- 18. 如何计算巨大元素大小的休矩阵逆?
- 19. 转置矩阵与计算逆矩阵的计算强度
- 20. 四元数角
- 21. 四元数角
- 22. 四元数到EulerXYZ,如何区分负四元数和正四元数
- 23. 计算PI使用逆平方和
- 24. Matlab:如何计算矩阵的逆
- 25. 有限域:计算矩阵的逆
- 26. Sympy计算逆拉普拉斯变换
- 27. 试图计算方阵的逆
- 28. 在Matlab中计算逆矩阵
- 29. IDF(逆文档频率)计算
- 30. 使用lapack计算逆矩阵
@TabbyCool他会如何“尝试”任何东西?你是否期望他能够从字面上得到一支笔和一个记事本,并重新发现一段数百年的人类数学知识? – MaiaVictor