Quaternion
Stellt ein Quaternion mit doppelter Präzision dar.
Implementiert: IEquatable<Quaternion>
Konstruktoren
public Quaternion(Vector3 v, double w)
quaternion = Quaternion(v, w)
Bauen Sie ein neues Quaterniond aus Vektor- und w-Komponenten
- v
- Der Vektorteil
- w
- Der w-Teil
public Quaternion(double x, double y, double z, double w)
quaternion = Quaternion(x, y, z, w)
Bauen Sie ein neues Quaterniond
- x
- Die x-Komponente
- y
- Die y-Komponente
- z
- Die z-Komponente
- w
- Die w-Komponente
Eigenschaften
public double Length { get; }
value = quaternion.Length
Bekommt die Länge (Magnitude) des Quaterniond.
public double LengthSquared { get; }
value = quaternion.LengthSquared
Bekommt das Quadrat der Quaterniond Länge (Magnitude).
public double W { get; set; }
value = quaternion.W
quaternion.W = value
Bekommt oder setzt die W-Komponente dieser Instanz.
public double X { get; set; }
value = quaternion.X
quaternion.X = value
Bekommt oder setzt die X-Komponente dieser Instanz.
public Vector3 Xyz { get; set; }
value = quaternion.Xyz
quaternion.Xyz = value
Erhält oder setzt ein OpenTK.Vector3d mit den X-, Y- und Z-Komponenten dieser Instanz.
public double Y { get; set; }
value = quaternion.Y
quaternion.Y = value
Bekommt oder setzt die Y-Komponente dieser Instanz.
public double Z { get; set; }
value = quaternion.Z
quaternion.Z = value
Bekommt oder setzt die Z-Komponente dieser Instanz.
Methoden
public static void Add(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Add(left, right, result)
Zwei Quaternionen hinzufügen
- left
- Der erste Operand
- right
- Der zweite Operand
- result
- Das Ergebnis der Addition
public static Quaternion Add(Quaternion left, Quaternion right)
result = Quaternion.Add(left, right)
Zwei Quaternionen hinzufügen
- left
- Der erste Operand
- right
- Der zweite Operand
Rückgabe: Das Ergebnis der Addition
public static void Conjugate(Quaternion q, Quaternion result)
Quaternion.Conjugate(q, result)
Holen Sie sich das Konjugat des gegebenen Quaterniond
- q
- Der Quaterniond
- result
- Das Konjugat des gegebenen Quaterniond
public static Quaternion Conjugate(Quaternion q)
result = Quaternion.Conjugate(q)
Holen Sie sich das Konjugat des gegebenen Quaterniond
- q
- Der Quaterniond
Rückgabe: Das Konjugat des gegebenen Quaterniond
public void Conjugate()
quaternion.Conjugate()
Konvertieren Sie dieses Quaterniond in sein Konjugat
public bool Equals(Quaternion other)
result = quaternion.Equals(other)
Vergleicht diese Instanz von Quaterniond mit einer anderen für Gleichheit.
- other
- Die andere Quaterniond, die im Vergleich verwendet wird.
Rückgabe: Wahr, wenn beide Instanzen gleich sind; falsch sonst.
public override bool Equals(object other)
result = quaternion.Equals(other)
Vergleicht diese Objektinstanz mit einem anderen Objekt für Gleichheit.
- other
- Das andere Objekt, das im Vergleich verwendet werden soll.
Rückgabe: Wahr, wenn beide Objekte Quaternionen gleichen Werts sind, andernfalls gibt es false zurück.
public static Quaternion FromAxisAngle(Vector3 axis, double angle)
result = Quaternion.FromAxisAngle(axis, angle)
Bauen Sie ein Quaterniond aus der angegebenen Achse und dem gegebenen Winkel
- axis
- Die Achse, um sich zu drehen
- angle
- Drehwinkel in Radiant
public override int GetHashCode()
result = quaternion.GetHashCode()
Gibt den Hash-Code für dieses Objekt an.
Rückgabe: Ein Hash-Code, der aus dem bitweisen XOR dieser Objektglieder gebildet wird.
public static void Invert(Quaternion q, Quaternion result)
Quaternion.Invert(q, result)
Holen Sie sich die Umkehrung des gegebenen Quaterniond
- q
- Quaterniond zum Invertieren
- result
- Die Umkehrung des gegebenen Quaterniond
public static Quaternion Invert(Quaternion q)
result = Quaternion.Invert(q)
Holen Sie sich die Umkehrung des gegebenen Quaterniond
- q
- Quaterniond zum Invertieren
Rückgabe: Die Umkehrung des gegebenen Quaterniond
public static void Mult(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Mult(left, right, result)
Multipliziert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
- result
- Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static Quaternion Mult(Quaternion left, Quaternion right)
result = Quaternion.Mult(left, right)
Multipliziert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static void Multiply(Quaternion quaternion, double scale, Quaternion result)
Quaternion.Multiply(quaternion, scale, result)
Multipliziert eine Instanz mit einem Skalar.
- quaternion
- Die Instanz.
- scale
- Der Skalar.
- result
- Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static Quaternion Multiply(Quaternion quaternion, double scale)
result = Quaternion.Multiply(quaternion, scale)
Multipliziert eine Instanz mit einem Skalar.
- quaternion
- Die Instanz.
- scale
- Der Skalar.
Rückgabe: Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static Quaternion Multiply(Quaternion left, Quaternion right)
result = Quaternion.Multiply(left, right)
Multipliziert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static void Multiply(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Multiply(left, right, result)
Multipliziert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
- result
- Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public void Normalize()
quaternion.Normalize()
Skaliert das Quaterniond auf die Länge der Einheit.
public static Quaternion Normalize(Quaternion q)
result = Quaternion.Normalize(q)
Skalieren Sie die gegebene Quaterniond auf Längeneinheit
- q
- Quaterniond zur Normalisierung
Rückgabe: Normalisiertes Quaterniond
public static void Normalize(Quaternion q, Quaternion result)
Quaternion.Normalize(q, result)
Skalieren Sie die gegebene Quaterniond auf Längeneinheit
- q
- Quaterniond zur Normalisierung
- result
- Normalisiertes Quaterniond
public static Quaternion op_Addition(Quaternion left, Quaternion right)
result = Quaternion.op_Addition(left, right)
Addiert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static bool op_Equality(Quaternion left, Quaternion right)
result = Quaternion.op_Equality(left, right)
Vergleicht zwei Beispiele für Gleichheit.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Wahrlich, wenn links gleich rechts ist; falsch anders.
public static bool op_Inequality(Quaternion left, Quaternion right)
result = Quaternion.op_Inequality(left, right)
Vergleicht zwei Beispiele für Ungleichheit.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Wahr, wenn links nicht gleich rechts ist; falsch sonst.
public static Quaternion op_Multiply(double scale, Quaternion quaternion)
result = Quaternion.op_Multiply(scale, quaternion)
Multipliziert eine Instanz mit einem Skalar.
- quaternion
- Die Instanz.
- scale
- Der Skalar.
Rückgabe: Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static Quaternion op_Multiply(Quaternion quaternion, double scale)
result = Quaternion.op_Multiply(quaternion, scale)
Multipliziert eine Instanz mit einem Skalar.
- quaternion
- Die Instanz.
- scale
- Der Skalar.
Rückgabe: Eine neue Instanz, die das Ergebnis der Berechnung enthält.
public static Quaternion op_Multiply(Quaternion left, Quaternion right)
result = Quaternion.op_Multiply(left, right)
Multipliziert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Quaternion op_Subtraction(Quaternion left, Quaternion right)
result = Quaternion.op_Subtraction(left, right)
Subtrahiert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Quaternion Slerp(Quaternion q1, Quaternion q2, double blend)
result = Quaternion.Slerp(q1, q2, blend)
Do Sphärische lineare Interpolation zwischen zwei Quaternionen
- q1
- Der erste Quaterniond
- q2
- Der zweite Quaterniond
- blend
- Der Blendfaktor
Rückgabe: Eine glatte Mischung zwischen den gegebenen Quaternionen
public static void Sub(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Sub(left, right, result)
Subtrahiert zwei Instanzen.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
- result
- Das Ergebnis der Operation.
public static Quaternion Sub(Quaternion left, Quaternion right)
result = Quaternion.Sub(left, right)
Subtrahiert zwei Instanzen.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
Rückgabe: Das Ergebnis der Operation.
public void ToAxisAngle(Vector3 axis, double angle)
quaternion.ToAxisAngle(axis, angle)
Umwandlung der aktuellen Quaternion in die Darstellung des Achswinkels
- axis
- Die resultierende Achse
- angle
- Der resultierende Winkel
public Vector4 ToAxisAngle()
result = quaternion.ToAxisAngle()
Konvertieren Sie diese Instanz in eine Achswinkeldarstellung.
Rückgabe: Ein Vektor4, der die Achswinkeldarstellung dieses Quaternions ist.
public override string ToString()
result = quaternion.ToString()
Gibt ein System.String zurück, das das aktuelle Quaterniond darstellt.
Felder
public static readonly Quaternion Identity
value = Quaternion.Identity
Definiert die Identitäts-Quarterion.