9
A
答えて
8
クォータニオン計算全体については、Wikipedia articleを参照してください。
あなたはどの言語を使用したいのか分かりませんが、私はハスケルでいくつかのヒントを出そうとします。
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'
スカラーとの乗算は、変換を介して行われるべきである:
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)
今、逆:
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_inverse q = (q_conjugate q) * (scalar_to_q (m * m))
where
m = q_modulus q
希望します。
PS:上記のインスタンス定義は、正常に完了した場合は少し簡単になります。私はあなたがギャップを埋めることができます。
+0
ありがとうございます。素晴らしい答え! – user346443
+10
この質問はなぜ閉じられるのですか?四元数の逆数を計算する方法を尋ねる正当な質問です。 StackOverflowが過度にモデレートされていませんか? – kaalus
1
ルック。いくつかのコードサンプルもあります。
関連する問題
- 1. 逆メッセージCRC計算
- 2. 行列を転置する計算量と逆算する計算量
- 3. Matlabで逆行列を計算する
- 4. IMultiValueConverter + MultiBinding - データバインド値の逆算術計算?
- 5. 逆tanの計算方法は?
- 6. 関数の逆関数を計算する - ライブラリ
- 7. 目的の計算で計算する
- 8. 逆乗算
- 9. VATを逆に計算すると、常に0が返されます。
- 10. クライアントデータセットで計算フィールドと内部計算フィールドを再計算する方法
- 11. 行列の逆行列を正確に計算する方法は?
- 12. Pythonの疎行列逆行列とラプラシアン計算
- 13. ヒュージグラムによる計算の計算
- 14. ブラウザで異なる動作をする計算式計算
- 15. 時間を加算して合計時間を計算する
- 16. 算術計算
- 17. TClientDatasetで計算フィールドを集計する
- 18. グリッドビューで合計を計算する
- 19. PHPExcelで合計を計算する
- 20. postgresql resultsetの合計を計算する
- 21. サブフォームの合計を計算する
- 22. 配列の統計を計算する
- 23. SQLサーバーで合計を計算する
- 24. C++で合計を計算する
- 25. 計算合計
- 26. コードの計算量を計算するソフトウェア/スクリプト?
- 27. numpyで計算/計算カラムを追加するには?
- 28. リカバリーアルゴリズムの時間計算量を計算する
- 29. UIButtonの計算時間を計算する
- 30. このアルゴリズムの時間計算量を計算する
@TabbyCoolどのように彼は何を "試してみましょう"?彼は文字通りペンとメモ帳を手に入れ、数百年の人類を理解する数学的な作品を再発見すると期待していますか? – MaiaVictor