Frage

Jede gute Bibliotheken für quaternion Berechnungen in C / C ++?

Side Hinweis: gute Tutorials / Beispiele? Ich habe es Google und auf den ersten Seiten gewesen, aber vielleicht haben Sie einige Demos haben / Labors von compsci oder Mathematik Kurse könnten Sie / teilen würde?

Danke

War es hilfreich?

Lösung

Ich bin ein Fan von der Irrlicht quaternion Klasse. Es ist zlib lizenziert und ist ziemlich einfach von Irrlicht zu extrahieren:

Andere Tipps

Sie können mit Boost-versuchen - in der Regel guten Anfang mit. Sie haben eine gewidmet Subbibliothek dafür.

Wie für die Beispiele sehen Sie die Dokumentation und die Unit-Tests, die zusammen mit Boost-kommen.

Es gibt Eigen, eine Templat-Bibliothek der Mathematik und Geometrie Sachen in Blender verwendet und von KDE-Programme, die eine glatte Quaternion-Klasse in einer einzigen H-Datei definiert ist.

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

Wenn Sie sich entscheiden, Ihre eigene Rolle, oder wollen eigentlich die Mathematik hinter dem Code (nützlich für das Debuggen) zu verstehen, empfehle ich Martin Baker Webseite . Es sieht primitiv, aber die Erklärungen sind gründlich und einfach zu folgen, und er bietet auch Code in Orten.

hat DirectX seine eigenen quaternion Funktionen , wie andere tun mehr 3D-Bibliotheken.

Meiner Meinung nach ist der beste Weg, zu lernen, wie quaternions Arbeit durch die Mathematik selbst zu pflügen ist. Die Wikipedia-Seite über quaternions und Umwandlung alle Formeln enthalten, die Sie benötigen. Ich schrieb meine eigene quaternion Bibliothek von diesem :) (es ist in Haskell, so dass ich nicht die Mühe, es zu veröffentlichen.)

Für die Dokumentation auf quaternions Besuche 3D-Grafik-Text Bücher. Sie sind einfach Matrizen, die die Wirkung von 3D-Rotation mit Multiplikation statt rechnerisch teuer Trigonometrie erzeugen.

Diese Web, Euklidischer Raum , ist sehr wichtig, wenn Sie arbeiten mit Quaternionen. Es hat alle arithmetischen Schritt für Schritt, Äquivalenzen, Vereinfachungen, Codebeispiele in verschiedenen Sprachen. Ich habe die meisten meiner Funktionen auf meiner eigenen folgenden Seite. Ich ziehe es, dass als eine Bibliothek downoading. Die Funktionen sind einfach zu programmieren und Sie lernen auf dem Weg.

Als Beispiel empfehle ich Ihnen diese c ++ Funktion über eine Quaternionenmultiplikation zu überprüfen: Effiziente C ++ Quaternionenmultiplikation mit cv :: Mat

Es gibt Graphen , die eine einfache C / GObject Bibliothek mit SIMD-Optimierungen für verschiedene Vektor, Matrix , quaternion usw. Berechnungen, die in 3D-Grafik üblich sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top