Question

Toutes les bonnes bibliothèques pour les calculs quaternion en C / C ++?

Side note: tous les bons tutoriels / exemples? J'ai google et été les premières pages, mais peut-être vous avez avoir des démos / laboratoires de cours de mathématiques ou compsci vous pourriez / partageriez?

Merci

Était-ce utile?

La solution

Je suis un fan de la classe quaternion Irrlicht. Il est zlib sous licence et est assez facile à extraire de Irrlicht:

Autres conseils

Vous pouvez essayer avec Boost - généralement bon endroit pour commencer. Ils ont un dédié sous-bibliothèque pour ça.

En ce qui concerne les exemples regardent la documentation et les tests unitaires qui viennent avec Boost.

Il y a Eigen, une bibliothèque de trucs basé sur des modèles mathématiques et de la géométrie utilisée dans Blender et par des programmes KDE, qui a une classe Quaternion lisse définie dans un seul fichier .h.

Info http://eigen.tuxfamily.org/index.php?title= Main_Page et http://www.ohloh.net/p/5393

Si vous décidez de rouler votre propre, ou si vous voulez vraiment comprendre les mathématiques derrière le code (utile pour le débogage), je recommande fortement site web de Martin Baker . Il semble primitif, mais les explications sont à suivre en profondeur et facile, et il fournit également le code dans les lieux.

DirectX a son propre quaternion fonctions , tout comme plusieurs autres bibliothèques 3D.

A mon avis, la meilleure façon d'apprendre comment fonctionnent les escouades est de labourer à travers le calcul vous-même. La page Wikipedia sur escouades et conversion contient toutes les formules dont vous avez besoin. J'ai écrit ma propre bibliothèque de quaternion de cette :) (Il est en Haskell, donc je ne vais pas la peine de l'afficher.)

Pour la documentation sur escouades, consultez les manuels graphiques 3D. Ils sont tout simplement des matrices qui produisent l'effet de rotation 3D en utilisant la multiplication au lieu de trigonométrie informatiquement cher.

Web, espace euclidien, est très important si vous travaillez avec escouades. Il a tout arithmétique étape par étape, d'équivalences, des échantillons de simplification du code dans différentes langues. J'ai fait la plupart de mes fonctions en mon suivant cette page. Je préfère cela que downoading une bibliothèque. Les fonctions sont faciles à programmer et vous apprendre sur le chemin.

À titre d'exemple, je vous suggère de vérifier cette c ++ fonction sur une multiplication de quaternion: efficace C ++ multiplication quaternion en utilisant cv :: Mat

Il est graphène qui est une simple bibliothèque C / GObject avec SIMD pour divers Optimisations vecteur, matrice , quaternion, etc calculs qui sont communs dans les graphiques 3D.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top