web-dev-qa-db-ja.com

C / C ++のクォータニオンライブラリ

quaternion C/C++での計算に適したライブラリはありますか?

補足:良いチュートリアル/例はありますか?私はそれをグーグルで検索して最初の数ページに行きましたが、おそらくあなたはあなたが共有できる/共有するであろう計算機科学または数学コースからのいくつかのデモ/ラボを持っていますか?

ありがとう

24
cbrulak

私はIrrlichtクォータニオンクラスのファンです。これはzlibライセンスであり、Irrlichtから抽出するのはかなり簡単です。

8
Jeff M

BlenderやKDEプログラムで使用される数学と幾何学のテンプレートライブラリであるEigenがあり、単一の.hファイルで定義された洗練されたQuaternionクラスがあります。

http://eigen.tuxfamily.org/index.php?title=Main_Page および http://www.ohloh.net/p/539 の情報

9
DarenW

Boostを試してみることができます-通常は最初から始めるのに適した場所です。そのために 専用サブライブラリ があります。

例については、Boostに付属するドキュメントと単体テストを参照してください。

9
Anonymous

自分で作成する場合、または実際にコードの背後にある数学を理解したい場合(デバッグに役立ちます)、 Martin BakerのWebサイト を強くお勧めします。原始的に見えますが、説明は徹底的でわかりやすく、場所によってはコードも提供しています。

7
SuperElectric

クォータニオンに関するドキュメントについては、3Dグラフィックスの教科書をご覧ください。これらは、計算コストの高い三角法の代わりに乗算を使用して3D回転の効果を生成する単なる行列です。

3
Sam

graphene があります。これは、3Dグラフィックスで一般的なさまざまなベクトル、行列、クォータニオンなどの計算用のSIMD最適化を備えた単純なC/GObjectライブラリです。

2
robswain

このWeb、 euclideanspace は、クォータニオンを使用している場合に非常に重要です。それはすべての算術ステップバイステップ、同等性、単純化、異なる言語のコードサンプルを持っています。このページに従って、ほとんどの機能を自分で作成しました。私はライブラリをダウンロードするよりもそれを好みます。関数はプログラミングが簡単で、途中で学習します。

例として、クォータニオン乗算についてこのc ++関数を確認することをお勧めします。 cv :: Matを使用した効率的なC++クォータニオン乗算

2
Jav_Rock