Partager via


quaternion, structure

Vecteur à quatre dimensions, utilisé pour représenter une rotation.

Un quaternion peut faire pivoter efficacement un objet à propos du vecteur (x, y, z) par l’angle theta, où w = cos(theta/2). Les quaternions sont généralement utilisés pour l’interpolation lisse entre deux angles et pour éviter le problème de verrou de gimbal qui peut se produire avec des angles Euler.

Ce type est disponible uniquement en C++. Son équivalent .NET est System.Numerics.Quaternion.

Constructeurs

Nom Descriptif
quaternion() Crée un quaternion non initialisé.
quaternion(float x, float y, float z, float w) Crée un quaternion avec les valeurs spécifiées.
quaternion(float3 vectorPart, float scalarPart) Crée un quaternion à partir d’un float3 et scalaire.
quaternion(Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion const& value) Convertit un Quaternion Microsoft.Graphics.Canvas.Numerics.Quaternion .

Fonctions

Nom Descriptif
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle) Crée un quaternion à partir d’un vecteur et d’un angle pour faire pivoter le vecteur.
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) Crée un quaternion à partir d’angles de lacet, de tangage et de rouleau spécifiés.
quaternion make_quaternion_from_rotation_matrix(float4x4 const& matrix) Crée un quaternion à partir d’une matrice de rotation.
bool is_identity(quaternion const& value) Vérifie s’il s’agit d’un quaternion d’identité (aucune rotation).
float length(quaternion const& value) Calcule la longueur d’un quaternion.
float length_squared(quaternion const& value) Calcule la longueur carrée d’un quaternion.
float dot(quaternion const& quaternion1, quaternion const& quaternion2) Calcule le produit par points de deux quaternions.
quaternion normalize(quaternion const& value) Divise chaque composant d’un quaternion par la longueur du quaternion.
quaternion conjugate(quaternion const& value) Calcule la conjugaison d’un quaternion.
quaternion inverse(quaternion const& value) Calcule l’inverse d’un quaternion.
quaternion slerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) Interpole entre deux quaternions, à l’aide d’une interpolation linéaire sphérique.
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) Interpole linéairement entre deux quaternions.
quaternion concatenate(quaternion const& value1, quaternion const& value2) Concatène deux quaternions ; le résultat représente la première rotation suivie de la deuxième rotation.

Méthodes

Nom Descriptif
static quaternion identity() Retourne une instance du quaternion d’identité.

Opérateurs

Nom Descriptif
quaternion operator+ (quaternion const& value1, quaternion const& value2) Ajoute deux quaternions.
quaternion operator- (quaternion const& value1, quaternion const& value2) Soustrait un quaternion d’un autre quaternion.
quaternion operator* (quaternion const& value1, quaternion const& value2) Multiplie un quaternion par un autre quaternion.
quaternion operator* (quaternion const& value1, float value2) Multiplie un quaternion par une valeur scalaire.
quaternion operator/ (quaternion const& value1, quaternion const& value2) Divise un quaternion par un autre quaternion.
quaternion operator- (quaternion const& value) Retourne le signe de chaque composant du quaternion.
quaternion& operator+= (quaternion& value1, quaternion const& value2) Sur place, deux quaternions sont ajoutés.
quaternion& operator-= (quaternion& value1, quaternion const& value2) En place soustrait un quaternion d’un autre quaternion.
quaternion& operator*= (quaternion& value1, quaternion const& value2) Sur place multiplie un quaternion par un autre quaternion.
quaternion& operator*= (quaternion& value1, float value2) Sur place, multiplie un quaternion par une valeur scalaire.
quaternion& operator/= (quaternion& value1, quaternion const& value2) Sur place divise un quaternion par un autre quaternion.
bool operator== (quaternion const& value1, quaternion const& value2) Détermine si deux instances de quaternion sont égales.
bool operator!= (quaternion const& value1, quaternion const& value2) Détermine si deux instances de quaternion ne sont pas égales.
operator Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion() const Convertit un quaternion en Microsoft.Graphics.Canvas.Numerics.Quaternion.

Domaines

Nom Descriptif
float x Valeur X du composant vectoriel du quaternion.
float y Valeur Y du composant vectoriel du quaternion.
float z Valeur Z du composant vectoriel du quaternion.
float w Composant de rotation du quaternion.

Spécifications

Besoin Valeur
Namespace Windows ::Foundation ::Numerics
En-tête de page
Windowsnumerics.h

Voir aussi

API windowsnumerics.h