Quaternion

Öffentliche Klasse Quaternion

Sceneform quaternion-Klasse für Gleitkommazahlen.

Quaternionvorgänge gelten für Hamilton.

Felder

öffentlicher Float W
öffentlicher Float x
öffentlicher Float J
öffentlicher Float Z

Public Constructors

Quaternion (())
Quaternion erstellen und auf Identität festlegen
Quaternion(Gleitkommazahl x, Gleitkommazahl y, Gleitkommazahl z, Gleitkommazahl w)
Erstelle das Quaternion und lege die einzelnen Werte fest.
Quaternion(Quaternion q)
Konstruieren Sie Quaternion mit Werten aus einem anderen Quaternion
Quaternion(Vector3-Achse, Gleitkommazahl)
Erstelle das Quaternion mit einer Achse/einem Winkel, um die Drehung zu definieren.
Quaternion(Vector3 EulerAngles)
Konstruieren Sie das Quaternion basierend auf EulerAngles.

Public Methods

Statisches Quaternion
AchseAngle(Vektor3-Achse, Gleitkommazahl)
Ruf eine neue Quaternion mit einer Achse oder einem Winkel auf, um die Rotation zu definieren.
Statischer boolescher Wert
ist gleich(Quaternion l/s, Quaternion rh)
Zwei Quaternionen vergleichen

Testt die Übereinstimmung anhand des Punktprodukts der LHs und Rhs.

boolean
ist gleich(Objekt Sonstiges)
Gibt „true“ zurück, wenn das andere Objekt eine Quaternion und das Punktprodukt eine Toleranz von 1,0 +/- ist.
Statisches Quaternion
eulerAngles(Vector3 eulerAngles)
Rufe ein neues Quaternion mit eulerAngles auf, um die Rotation zu definieren.
Statisches Quaternion
identity()
Quaternion als Identität festlegen
Statisches Vector3
Quaternion
umgekehrt()
Quaternion mit entgegengesetzter Rotation erhalten
Statisches Quaternion
lookRotation(Vector3ForwardInWorld, Vector3 erwünschtUpInWorld)
Ruft ein neues Quaternion ab, das eine Rotation in Richtung einer bestimmten Vorwärtsrichtung darstellt.
Statisches Quaternion
multiplizieren(Quaternion l/s, Quaternion rh)
Erstellen Sie ein Quaternion, indem Sie zwei Quaternionen vervielfachen(lhs, rhs), was der Durchführung der rhs-Rotation und der lhs-Rotation entspricht.
boolean
Normalisierung()
Skaliert die Quaderion auf die Einheitslänge.
Quaternion
normalisiert()
Hol dir ein Quaternion mit einer passenden Rotation, aber auf die Einheitslänge skaliert.
Statisches Vector3
rotateVector(Quaternion q, Vector3 src)
Rotiert einen Vector3 um ein Quaternion
Statisches Quaternion
rotationBetweenVectors(Vector3-Start, Vector3-Ende)
Ruft ein neues Quaternion ab, das die Rotation von einem Vektor zu einem anderen darstellt.
Ungültig
set(Gleitkommazahl qx, Gleitkommazahl qz, Gleitkommazahl qz, Gleitkommazahl qw)
Jeden Wert festlegen und das Quaternion normalisieren
Ungültig
set(Vector3-Achse, Gleitkommazahl)
Aktualisieren Sie dieses Quaternion mit einer Achse/einem Winkel, um die Rotation zu definieren.
Ungültig
set(Quaternion q)
Werte aus einem anderen Quaternion in dieses kopieren
Ungültig
setIdentity()
Quaternion als Identität festlegen
Statisches Quaternion
slerp(Quaternion Anfang, Quaternion Ende, Gleitkommazahl t)
String

Übernommene Methoden

Felder

öffentliche Gleitkomma w

öffentliche Gleitkommazahl x

öffentliche Gleitkommazahl y

öffentlichen Gleitkomma z

Public Constructors

öffentlich Quaternion ()

Quaternion erstellen und auf Identität festlegen

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

Erstelle das Quaternion und lege die einzelnen Werte fest. Das Quaternion wird während des Baus normalisiert.

Parameter
x
y
z
w

public Quaternion (Quaternion q)

Konstruieren Sie Quaternion mit Werten aus einem anderen Quaternion

Parameter
q

public Quaternion (Vector3-Achse, Gleitkommawinkel)

Erstelle das Quaternion mit einer Achse/einem Winkel, um die Drehung zu definieren.

Parameter
Axis Rotationsrichtung festlegen
Winkel Winkelgröße in Grad

Öffentlich Quaternion (Vector3 eulerAngles)

Konstruieren Sie das Quaternion basierend auf EulerAngles.

Parameter
EulerAngles – Winkel in Grad für jede Achse
Weitere Informationen

Public Methods

public static Quaternion axisAngle (Vector3-Achse, Gleitkommazahl)

Ruf eine neue Quaternion mit einer Achse oder einem Winkel auf, um die Rotation zu definieren.

Parameter
Axis Rotationsrichtung festlegen
Grad Winkelgröße in Grad

public static Boolesch ist gleich (Quaternion lhs, Quaternion rhs)

Zwei Quaternionen vergleichen

Tests auf Übereinstimmung mit dem Punktprodukt von lhs und rhs. lhs und -lhs sind gemäß dieser Funktion nicht gleich.

Parameter
LHs
RHF

Öffentlich boolesch ist gleich (Objekt sonstige)

Gibt „true“ zurück, wenn das andere Objekt eine Quaternion und das Punktprodukt eine Toleranz von 1,0 +/- ist.

Parameter
Weitere

public static Quaternion eulerAngles (Vector3 eulerAngles)

Rufe ein neues Quaternion mit eulerAngles auf, um die Rotation zu definieren.

Die Rotationen werden in der Reihenfolge von Z, Y und X angewendet. Dies ist mit anderen Grafikprozessoren konsistent. Beachten Sie, dass sich die Koordinatensysteme zwischen Sceneform und Unity unterscheiden. Daher haben die hier verwendeten Winkel auch eine andere Ausrichtung als Unity. Überprüfen Sie Ihre Parameterwerte genau, um denselben Effekt wie bei anderen Suchmaschinen zu erzielen.

Parameter
EulerAngles – die Winkel in Grad

public static Quaternion Identität ()

Quaternion als Identität festlegen

public static Vector3 inverseRotationVector (Quaternion q, Vector3 src)

Parameter
q
src

public Quaternion umgekehrt ()

Quaternion mit entgegengesetzter Rotation erhalten

Rückgabe:
  • entgegengesetzte Rotation

public static Quaternion lookRotation (Vector3ForwardInWorld, Vector3 requestedUpInWorld)

Ruft ein neues Quaternion ab, das eine Rotation in Richtung einer bestimmten Vorwärtsrichtung darstellt. Wenn „upInWorld“ orthogonal zu „ForwardInWorld“ ist, ist die Y-Achse mit dem gewünschten UpInWorld-Element ausgerichtet.

Parameter
vorwärtsInWelt
GewünschterInWelt

public static Quaternion multiplizieren (Quaternion lhs, Quaternion rhs)

Erstellen Sie ein Quaternion, indem Sie zwei Quaternionen vervielfachen(lhs, rhs), was der Durchführung der rhs-Rotation und der lhs-Rotation entspricht.

Parameter
LHs
RHF
Rückgabe:
  • Kombinierte Rotation

Public Boolesch Normalisierung ()

Skaliert die Quaderion auf die Einheitslänge.

Wenn das Quaternion nicht skaliert werden kann, wird es auf „identität“ gesetzt und „false“ zurückgegeben.

Rückgabe:
  • True, wenn das Quaternion ungleich null war

public Quaternion normalisiert ()

Hol dir ein Quaternion mit einer passenden Rotation, aber auf die Einheitslänge skaliert.

Rückgabe:
  • auf die Einheitslänge skalierte Quarter oder null, wenn dies nicht möglich ist.

public static Vector3 rotateVector (Quaternion q, Vector3 src)

Rotiert einen Vector3 um ein Quaternion

Parameter
q
src
Rückgabe:
  • Der gedrehte Vektor

public static Quaternion rotationBetweenVectors (Vector3 Anfang, Vector3 Ende)

Ruft ein neues Quaternion ab, das die Rotation von einem Vektor zu einem anderen darstellt.

Parameter
starten
end

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

Jeden Wert festlegen und das Quaternion normalisieren

Parameter
QX
QY
QZ
QW

public void set (Vector3-Achse, Gleitkommawinkel)

Aktualisieren Sie dieses Quaternion mit einer Achse/einem Winkel, um die Rotation zu definieren.

Parameter
Axis
Winkel

public void set (Quaternion q)

Werte aus einem anderen Quaternion in dieses kopieren

Parameter
q

public void setIdentity ()

Quaternion als Identität festlegen

public static Quaternion slerp (Quaternion start, Quaternion end, float t)

Parameter
starten
end
t

öffentlich String toString ()