Quaternion

classe publique Quaternion

Classe de quaternion Sceneform pour les nombres à virgule flottante

Les opérations quaternionnelles sont réalisées dans un style Hamiltonien basé sur la règle de droite.

Champs

public à virgule flottante M
public à virgule flottante x
public à virgule flottante o
public à virgule flottante Z

Constructeurs publics

Quaternion()
Créer un quaternion et définir l'identité
Quaternion(float x, float y, float z, float w)
Construisez le quaternion et définissez chaque valeur.
Quaternion(Quaternion q)
Construire un quaternion avec les valeurs d'un autre quaternion
Quaternion(axe Vector3, angle flottant)
Créer un quaternion à l'aide d'un axe/d'un angle pour définir la rotation
Quaternion(Vector3 EulerAngles)
Construire un quaternion à partir d'un angle angle

Méthodes publiques

Statique Quaternion
axeAngle(axe Vector3, degrés à virgule flottante)
Obtenir un nouveau quaternion à l'aide d'un axe/d'un angle pour définir la rotation
Booléen statique
equals(Quaternion lhs, Quaternion rhs)
Comparer deux quatrions

Tests de l'égalité en calculant le produit scalaire de lh et de rhs.

booléen
est égal(e) à(objet autre)
Renvoie la valeur "true" si l'autre objet est un quaternion et si le produit scalaire est égal à 1,0 +/- une tolérance.
Statique Quaternion
eulerAngles(EulerAngles Vector3)
Obtenez un nouveau quaternion en utilisant eulerAngles pour définir la rotation.
Statique Quaternion
identity
Définir un quaternion sur l'identité
Statique Vector3
Quaternion
inversé()
Obtenir un quaternion avec la rotation opposée
Statique Quaternion
lookRotation (Vector3 forwardInWorld, Vector3 désiré dans le monde)
Récupère un nouveau quaternion représentant une rotation vers une direction avant spécifiée.
Statique Quaternion
multiply(Quaternion lhs, Quaternion rhs)
Créer un quaternion en combinant deux multiplications quaternions(lhs, rhs) équivaut à effectuer une rotation rhs. La rotation lhs est importante pour cette opération. L'ordre des rotations lhs est important pour cette opération.
booléen
normalize()
Redimensionne le quaternion à la longueur de l'unité.
Quaternion
normalized
Obtenez un quaternion avec une rotation correspondante, mais ajusté à la longueur de l'unité.
Statique Vector3
rotateVector(Quaternion q, Vector3 src)
Rotation d'un vecteur 3 par un quaternion
Statique Quaternion
rotationBetweenVectors(début Vector3, fin Vector3)
Obtenez un nouveau quaternion représentant la rotation d'un vecteur à un autre.
void
set(float qx, float qy, float qz, float qw)
Définir chaque valeur et normaliser la qualité
void
set(axe Vector3, angle flottant)
Mettre à jour ce quaternion à l'aide d'un axe/d'un angle pour définir la rotation
void
set(Quaternion q)
Copier les valeurs d'un autre quaternion dans celui-ci
void
setIdentity()
Définir le quaternion sur l'identité
Statique Quaternion
slerp(début du quatrernion, fin du Quaternion, float t)
String

Méthodes héritées

Champs

public floatw

float public x

public floaty

float public z

Constructeurs publics

public Quaternion ()

Créer un quaternion et définir l'identité

public Quaternion (float x, float y, float z, float w)

Construisez le quaternion et définissez chaque valeur. Le quaternion sera normalisé pendant la construction

Paramètres
x
y
z
w

public Quaternion (Quaternion q)

Construire un quaternion avec les valeurs d'un autre quaternion

Paramètres
q

public Quaternion (axe Vector3, angle flottant)

Créer un quaternion à l'aide d'un axe/d'un angle pour définir la rotation

Paramètres
Axis Définit le sens de rotation
angle Taille de l'angle en degrés

public Quaternion (Vector3 eulerAngles)

Construire un quaternion à partir d'un angle angle

Paramètres
EulerAngles : angle en degrés de chaque axe.
Voir également

Méthodes publiques

public static Quaternion AxeAngle (axe Vector3, degrés à virgule flottante)

Obtenir un nouveau quaternion à l'aide d'un axe/d'un angle pour définir la rotation

Paramètres
Axis Définit le sens de rotation
degrés Taille de l'angle en degrés

public static boolean est égal à (Quaternion lhs, Quaternion rhs)

Comparer deux quatrions

Les tests d'égalité en calculant le produit scalaire de lhs et rhs. lhs et -lhs ne seront pas égaux selon cette fonction.

Paramètres
lhs
rh

booléen public est égal à (Objet autre)

Renvoie la valeur "true" si l'autre objet est un quaternion et si le produit scalaire est égal à 1,0 +/- une tolérance.

Paramètres
other

public static Quaternion eulerAngles (Vector3 eulerAngles)

Obtenez un nouveau quaternion en utilisant eulerAngles pour définir la rotation.

Les rotations sont appliquées dans l'ordre Z, Y ou X. Ce fonctionnement est cohérent avec celui d'autres moteurs graphiques. Notez que les systèmes de coordonnées sont différents entre Sceneform et Unity. Dès lors, les mêmes angles auront une orientation différente de celle d'Unity. Vérifiez attentivement les valeurs de vos paramètres pour obtenir le même effet que dans les autres moteurs.

Paramètres
EulerAngles – angles en degrés.

public static Quaternion identity ()

Définir un quaternion sur l'identité

public static Vector3 inverseAlternerVector (Quaternion q, Vector3 src)

Paramètres
q
src

public Quaternion inversé ()

Obtenir un quaternion avec la rotation opposée

Renvoie
  • la rotation opposée

public static Quaternion lookRotation (Vector3 forwardInWorld, Vector3 WantUpInWorld)

Récupère un nouveau quaternion représentant une rotation vers une direction avant spécifiée. Si "upInWorld" est orthogonal à "forwardInWorld", l'axe des ordonnées est aligné avec les valeurs souhaitées "UpUpWorld".

Paramètres
avant-monde
Intéressé

public static Quaternion multiply (Quaternion lhs, Quaternion rhs)

Créer un quaternion en combinant deux multiplications quaternions(lhs, rhs) équivaut à effectuer une rotation rhs. La rotation lhs est importante pour cette opération. L'ordre des rotations lhs est important pour cette opération.

Paramètres
lhs
rh
Renvoie
  • La rotation combinée

public boolean normalize ()

Redimensionne le quaternion à la longueur de l'unité.

Si le quaternion ne peut pas être mis à l'échelle, il est défini sur "identity", et la valeur "false" est renvoyée.

Renvoie
  • Valeur "true" si le quaternion est supérieur à zéro

public Quaternion normalisé ()

Obtenez un quaternion avec une rotation correspondante, mais ajusté à la longueur de l'unité.

Renvoie
  • le quaternion ajusté à la longueur de l'unité, ou zéro si cela n'est pas possible.

public static Vector3 rotateVector (Quaternion q, Vector3 src)

Rotation d'un vecteur 3 par un quaternion

Paramètres
q
src
Renvoie
  • Vecteur avec rotation

public static Quaternion rotationBetweenVectors (Début de Vector3, fin de Vector3)

Obtenez un nouveau quaternion représentant la rotation d'un vecteur à un autre.

Paramètres
Départ
end

public void set (float qx, float qy, float qz, float qw)

Définir chaque valeur et normaliser la qualité

Paramètres
Tx
qy
qz
qs

public void set (axe Vector3, angle flottant)

Mettre à jour ce quaternion à l'aide d'un axe/d'un angle pour définir la rotation

Paramètres
Axis
angle

public void set (Quaternion q)

Copier les valeurs d'un autre quaternion dans celui-ci

Paramètres
q

public void setIdentity ()

Définir le quaternion sur l'identité

public static Quaternion slerp (sortie du quaternion, fin du quaternion, float t)

Paramètres
Départ
end
t

public String toString ()