Quaternion

StockSharp.Xaml.Charting.Rendering.HighQualityRasterizer.Agg.VectorMath

Stellt ein Quaternion mit doppelter Präzision dar.

Implementiert: IEquatable<Quaternion>

Konstruktoren

Quaternion
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
Quaternion
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

Length
public double Length { get; }
value = quaternion.Length

Bekommt die Länge (Magnitude) des Quaterniond.

LengthSquared
public double LengthSquared { get; }
value = quaternion.LengthSquared

Bekommt das Quadrat der Quaterniond Länge (Magnitude).

W
public double W { get; set; }
value = quaternion.W
quaternion.W = value

Bekommt oder setzt die W-Komponente dieser Instanz.

X
public double X { get; set; }
value = quaternion.X
quaternion.X = value

Bekommt oder setzt die X-Komponente dieser Instanz.

Xyz
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.

Y
public double Y { get; set; }
value = quaternion.Y
quaternion.Y = value

Bekommt oder setzt die Y-Komponente dieser Instanz.

Z
public double Z { get; set; }
value = quaternion.Z
quaternion.Z = value

Bekommt oder setzt die Z-Komponente dieser Instanz.

Methoden

Add
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
Add
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

Conjugate
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
Conjugate
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

Conjugate
public void Conjugate()
quaternion.Conjugate()

Konvertieren Sie dieses Quaterniond in sein Konjugat

Equals
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.

Equals
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.

FromAxisAngle
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
GetHashCode
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.

Invert
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
Invert
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

Mult
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.
Mult
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.

Multiply
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.
Multiply
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.

Multiply
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.

Multiply
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.
Normalize
public void Normalize()
quaternion.Normalize()

Skaliert das Quaterniond auf die Länge der Einheit.

Normalize
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

Normalize
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
op_Addition
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.

op_Equality
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.

op_Inequality
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.

op_Multiply
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.

op_Multiply
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.

op_Multiply
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.

op_Subtraction
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.

Slerp
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

Sub
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.
Sub
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.

ToAxisAngle
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
ToAxisAngle
public Vector4 ToAxisAngle()
result = quaternion.ToAxisAngle()

Konvertieren Sie diese Instanz in eine Achswinkeldarstellung.

Rückgabe: Ein Vektor4, der die Achswinkeldarstellung dieses Quaternions ist.

ToString
public override string ToString()
result = quaternion.ToString()

Gibt ein System.String zurück, das das aktuelle Quaterniond darstellt.

Felder

Identity
public static readonly Quaternion Identity
value = Quaternion.Identity

Definiert die Identitäts-Quarterion.