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