Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In Direct3D beschreiben Scheitelpunkte die Position und Ausrichtung. Jeder Scheitelpunkt in einem Grundtyp wird durch einen Vektor beschrieben, der seine Position, Farbe, Texturkoordinaten und einen normalen Vektor angibt, der seine Ausrichtung angibt.
Quaternions fügen ein viertes Element zu den Werten [x, y, z] hinzu, die einen Vektor mit drei Komponenten definieren. Quaternionen sind eine Alternative zu den Matrixmethoden, die in der Regel für 3D-Drehungen verwendet werden. Eine Quaternion stellt eine Achse im 3D-Raum und eine Drehung um diese Achse dar. Beispielsweise kann eine Quaternion eine Achse (1,1,2) und eine Drehung von 1 Bogenmaß darstellen. Quaternionen tragen wertvolle Informationen, aber ihre wahre Kraft kommt aus den beiden Operationen, die Sie ausführen können: Zusammensetzung und Interpolation.
Die Komposition auf Quaternionen ist vergleichbar mit der Kombination. Die Zusammensetzung von zwei Quaternionen wird wie in der folgenden Abbildung notiert.
Die Zusammensetzung von zwei Quaternionen, die auf eine Geometrie angewendet werden, bedeutet: "Drehen sie die Geometrie um die Achse durch Drehung₁, und drehen Sie sie dann um die Achse₁." In diesem Fall stellt Q eine Drehung um eine einzelne Achse dar, die das Ergebnis des Anwendens von q₁ auf die Geometrie ist.
Mithilfe der Quaternion-Interpolation kann eine Anwendung einen reibungslosen und vernünftigen Pfad von einer Achse und Ausrichtung zu einer anderen berechnen. Daher bietet die Interpolation zwischen q₁ und q² eine einfache Möglichkeit, von einer Ausrichtung zur anderen zu animieren.
Wenn Sie Die Komposition und Interpolation zusammen verwenden, bieten sie ihnen eine einfache Möglichkeit, eine Geometrie so zu bearbeiten, dass sie komplex erscheint. Angenommen, Sie haben eine Geometrie, die Sie in eine bestimmte Ausrichtung drehen möchten. Sie wissen, dass Sie ihn um die Achse herum drehen möchten, dann um die Achse r₁ Grad um die Achse herum drehen möchten₁, aber Sie wissen nicht, dass die endgültige Quaternion. Mithilfe der Komposition können Sie die beiden Drehungen der Geometrie kombinieren, um eine einzelne Quaternion zu erhalten, die das Ergebnis ist. Dann könnten Sie zwischen dem Original und dem zusammengesetzten Quaternion interpolieren, um einen reibungslosen Übergang von einem zum anderen zu erzielen.
Die D3DX-Hilfsprogrammbibliothek enthält Funktionen, die Ihnen bei der Arbeit mit Quaternionen helfen. Beispielsweise fügt die D3DXQuaternionRotationAxis Funktion einen Drehungswert zu einem Vektor hinzu, der eine Drehachse definiert, und gibt das Ergebnis in einer durch eine D3DXQUATERNION Struktur definierten Quaternion zurück. Darüber hinaus verfasst die D3DXQuaternionMultiply Funktion Quaternionen und die D3DXQuaternionSlerp eine sphärische lineare Interpolation zwischen zwei Quaternionen.
Direct3D-Anwendungen können die folgenden Funktionen verwenden, um die Arbeit mit Quaternionen zu vereinfachen.
- D3DXQuaternionBaryCentric
- D3DXQuaternionConjugate-
- D3DXQuaternionDot
- D3DXQuaternionExp
- D3DXQuaternionIdentity-
- D3DXQuaternionInverse-
- D3DXQuaternionIsIdentity-
- D3DXQuaternionLength
- D3DXQuaternionLengthSq-
- D3DXQuaternionLn
- D3DXQuaternionMultiply
- D3DXQuaternionNormalize
- D3DXQuaternionRotationAxis
- D3DXQuaternionRotationMatrix-
- D3DXQuaternionRotationYawPitchRoll
- D3DXQuaternionSlerp
- D3DXQuaternionSquad
- D3DXQuaternionToAxisAngle
Direct3D-Anwendungen können die folgenden Funktionen verwenden, um die Arbeit mit drei Komponentenvektoren zu vereinfachen.
- D3DXVec3Add
- D3DXVec3BaryCentric
- D3DXVec3CatmullRom
- D3DXVec3Cross-
- D3DXVec3Dot
- D3DXVec3Hermite
- D3DXVec3Length
- D3DXVec3LengthSq-
- D3DXVec3Lerp
- D3DXVec3Maximize
- D3DXVec3Minimize
- D3DXVec3Normalize
- D3DXVec3Project
- D3DXVec3Scale-
- D3DXVec3Subtract
- D3DXVec3Transform-
- D3DXVec3TransformCoord
- D3DXVec3TransformNormal
- D3DXVec3Unproject-
Viele zusätzliche Funktionen, die Aufgaben mithilfe von zwei und vier Komponentenvektoren vereinfachen, gehören zu den mathematischen Funktionen, die von der D3DX-Hilfsbibliothek bereitgestellt werden.
Verwandte Themen