Vector4
Stellt einen 4D-Vektor mit vier Gleitkommazahlen mit doppelter Präzision dar.
Implementiert: IEquatable<Vector4>
Konstruktoren
public Vector4(double x, double y, double z, double w)
vector4 = Vector4(x, y, z, w)
Konstruiert einen neuen Vector4d.
- x
- Die x-Komponente des Vector4d.
- y
- Die y-Komponente des Vector4d.
- z
- Die z-Komponente des Vector4d.
- w
- Die w-Komponente des Vector4d.
public Vector4(Vector2 v)
vector4 = Vector4(v)
Konstruiert einen neuen Vector4d aus dem gegebenen Vector2d.
- v
- Der Vector2d zum Kopieren von Komponenten aus.
public Vector4(Vector3 v)
vector4 = Vector4(v)
Konstruiert einen neuen Vector4d aus dem gegebenen Vector3d.
- v
- Der Vector3d zum Kopieren von Komponenten aus.
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)
Konstruiert einen neuen Vector4d aus der angegebenen Vector3d und w-Komponente.
- v
- Der Vector3d zum Kopieren von Komponenten aus.
- w
- Die w-Komponente des neuen Vector4.
public Vector4(Vector4 v)
vector4 = Vector4(v)
Konstruiert einen neuen Vector4d aus dem gegebenen Vector4d.
- v
- Der Vector4d zum Kopieren von Komponenten aus.
Eigenschaften
public double Length { get; }
value = vector4.Length
Bekommt die Länge (Magnitude) des Vektors.
public double LengthFast { get; }
value = vector4.LengthFast
Erhält eine Annäherung an die Vektorlänge (Magnitude).
public double LengthSquared { get; }
value = vector4.LengthSquared
Bekommt das Quadrat der Vektorlänge (Magnitude).
public Vector2 Xy { get; set; }
value = vector4.Xy
vector4.Xy = value
Erhält oder setzt ein OpenTK.Vector2d mit den X- und Y-Komponenten dieser Instanz.
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value
Erhält oder setzt ein OpenTK.Vector3d mit den X-, Y- und Z-Komponenten dieser Instanz.
Methoden
public static void Add(Vector4 a, Vector4 b, Vector4 result)
Vector4.Add(a, b, result)
Addiert zwei Vektoren.
- a
- Linker Operand.
- b
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector4 Add(Vector4 a, Vector4 b)
result = Vector4.Add(a, b)
Addiert zwei Vektoren.
- a
- Linker Operand.
- b
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v, Vector4 result)
Vector4.BaryCentric(a, b, c, u, v, result)
Interpolieren Sie 3 Vektoren mit Barycentric Koordinaten
- a
- Erster Eingangsvektor.
- b
- zweiter Eingangsvektor.
- c
- dritter Eingangsvektor.
- u
- Erste baryzentrische Koordinate.
- v
- Zweite Barycentric-Koordinate.
- result
- Ausgangsvektor a wenn u = v = 0, b wenn u = 1, v = 0, c wenn u = 0, v = 1 und eine lineare Kombination von a, b, c ansonsten
public static Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v)
result = Vector4.BaryCentric(a, b, c, u, v)
Interpolieren Sie 3 Vektoren mit Barycentric Koordinaten
- a
- erster Eingangsvektor
- b
- zweiter Eingangsvektor
- c
- dritter Eingangsvektor
- u
- Erste baryzentrische Koordinate
- v
- Zweite Barycentric-Koordinate
Rückgabe: a wenn u = v = 0, b wenn u = 1,v = 0, c wenn u = 0,v = 1 und eine lineare Kombination von a,b,c ansonsten
public static void Clamp(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.Clamp(vec, min, max, result)
Einen Vektor an den vorgegebenen Minimal- und Maximalvektoren klemmen
- vec
- Eingangsvektor
- min
- Mindestvektor
- max
- Maximalvektor
- result
- Der geklemmte Vektor
public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
result = Vector4.Clamp(vec, min, max)
Einen Vektor an den vorgegebenen Minimal- und Maximalvektoren klemmen
- vec
- Eingangsvektor
- min
- Mindestvektor
- max
- Maximalvektor
Rückgabe: Der geklemmte Vektor
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)
Teilt einen Vektor durch einen Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void Divide(Vector4 vector, double scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Teilt einen Vektor durch einen Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector4 Divide(Vector4 vector, Vector4 scale)
result = Vector4.Divide(vector, scale)
Teilt einen Vektor durch die Komponenten eines Vektors (Skala).
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void Divide(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Teilen Sie einen Vektor durch die Komponenten eines Vektors (Skala).
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static void Dot(Vector4 left, Vector4 right, double result)
Vector4.Dot(left, right, result)
Berechnen Sie das Punktprodukt von zwei Vektoren
- left
- erster Operand
- right
- zweiter Operand
- result
- Das Punktprodukt der beiden Eingänge
public static double Dot(Vector4 left, Vector4 right)
result = Vector4.Dot(left, right)
Berechnen Sie das Punktprodukt von zwei Vektoren
- left
- erster Operand
- right
- zweiter Operand
Rückgabe: Das Punktprodukt der beiden Eingänge
public bool Equals(Vector4 other)
result = vector4.Equals(other)
Gibt an, ob der aktuelle Vektor einem anderen Vektor entspricht.
- other
- Ein Vektor zum Vergleichen mit diesem Vektor.
Rückgabe: true, wenn der aktuelle Vektor gleich dem Vektorparameter ist; andernfalls false.
public override bool Equals(object obj)
result = vector4.Equals(obj)
Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.
- obj
- Das Objekt zum Vergleichen.
Rückgabe: Wahr, wenn die Instanzen gleich sind; falsch sonst.
public override int GetHashCode()
result = vector4.GetHashCode()
Gibt den Hashcode für diese Instanz zurück.
Rückgabe: Ein System.Int32, der den eindeutigen Hashcode für diese Instanz enthält.
public static Vector4 Lerp(Vector4 a, Vector4 b, double blend)
result = Vector4.Lerp(a, b, blend)
Gibt einen neuen Vektor zurück, der die lineare Mischung der 2 gegebenen Vektoren ist
- a
- erster Eingangsvektor
- b
- zweiter Eingangsvektor
- blend
- Der Blendfaktor a wenn Blend = 0, b wenn Blend = 1
Rückgabe: a wenn Blend = 0, b wenn Blend = 1 und ansonsten eine lineare Kombination
public static void Lerp(Vector4 a, Vector4 b, double blend, Vector4 result)
Vector4.Lerp(a, b, blend, result)
Gibt einen neuen Vektor zurück, der die lineare Mischung der 2 gegebenen Vektoren ist
- a
- erster Eingangsvektor
- b
- zweiter Eingangsvektor
- blend
- Der Blendfaktor a wenn Blend = 0, b wenn Blend = 1
- result
- a wenn Blend = 0, b wenn Blend = 1 und ansonsten eine lineare Kombination
public static void Max(Vector4 a, Vector4 b, Vector4 result)
Vector4.Max(a, b, result)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Maximum
public static Vector4 Max(Vector4 a, Vector4 b)
result = Vector4.Max(a, b)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Das komponentenweise Maximum
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)
Berechnen Sie das komponentenweise Minimum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Das komponentenweise Minimum
public static void Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(a, b, result)
Berechnen Sie das komponentenweise Minimum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Minimum
public static Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.Multiply(vector, scale)
Multipliziert einen Vektor mit einem Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void Multiply(Vector4 vector, double scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Multipliziert einen Vektor mit einem Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector4 Multiply(Vector4 vector, Vector4 scale)
result = Vector4.Multiply(vector, scale)
Multipliziert einen Vektor mit den Komponenten einen Vektor (Skala).
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void Multiply(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Multipliziert einen Vektor mit den Komponenten eines Vektors (Skala).
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)
Skalieren Sie einen Vektor auf die Länge der Einheit
- vec
- Der Eingangsvektor
Rückgabe: Der normierte Vektor
public static void Normalize(Vector4 vec, Vector4 result)
Vector4.Normalize(vec, result)
Skalieren Sie einen Vektor auf die Länge der Einheit
- vec
- Der Eingangsvektor
- result
- Der normierte Vektor
public void NormalizeFast()
vector4.NormalizeFast()
Skaliert den Vector4d auf ungefähr die Länge der Einheit.
public static void NormalizeFast(Vector4 vec, Vector4 result)
Vector4.NormalizeFast(vec, result)
Skalieren Sie einen Vektor auf ungefähr die Länge einer Einheit
- vec
- Der Eingangsvektor
- result
- Der normierte Vektor
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)
Skalieren Sie einen Vektor auf ungefähr die Länge einer Einheit
- vec
- Der Eingangsvektor
Rückgabe: Der normierte Vektor
public static Vector4 op_Addition(Vector4 left, Vector4 right)
result = Vector4.op_Addition(left, right)
Addiert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Vector4 op_Division(Vector4 vec, double scale)
result = Vector4.op_Division(vec, scale)
Teilt eine Instanz durch einen Skalar.
- vec
- Die Instanz.
- scale
- Der Skalar.
Rückgabe: Das Ergebnis der Berechnung.
public static bool op_Equality(Vector4 left, Vector4 right)
result = Vector4.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_Explicit(Double*) : IntPtr
Gibt einen Zeiger zum ersten Element der angegebenen Instanz zurück.
- v
- Die Instanz.
Rückgabe: Ein Zeiger auf das erste Element von v.
op_Explicit(IntPtr) : IntPtr
Gibt einen Zeiger zum ersten Element der angegebenen Instanz zurück.
- v
- Die Instanz.
Rückgabe: Ein Zeiger auf das erste Element von v.
public static bool op_Inequality(Vector4 left, Vector4 right)
result = Vector4.op_Inequality(left, right)
Vergleicht zwei Beispiele für Ungleichheit.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Wahr, wenn links nicht equa lright; falsch sonst.
public static Vector4 op_Multiply(double scale, Vector4 vec)
result = Vector4.op_Multiply(scale, vec)
Multipliziert eine Instanz mit einem Skalar.
- scale
- Der Skalar.
- vec
- Die Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Vector4 op_Multiply(Vector4 vec, double scale)
result = Vector4.op_Multiply(vec, scale)
Multipliziert eine Instanz mit einem Skalar.
- vec
- Die Instanz.
- scale
- Der Skalar.
Rückgabe: Das Ergebnis der Berechnung.
public static Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)
Subtrahiert zwei Instanzen.
- left
- Die erste Instanz.
- right
- Die zweite Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)
Verneint eine Instanz.
- vec
- Die Instanz.
Rückgabe: Das Ergebnis der Berechnung.
public static Vector4 Subtract(Vector4 a, Vector4 b)
result = Vector4.Subtract(a, b)
Subtrahieren Sie einen Vektor von einem anderen
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Ergebnis der Subtraktion
public static void Subtract(Vector4 a, Vector4 b, Vector4 result)
Vector4.Subtract(a, b, result)
Subtrahieren Sie einen Vektor von einem anderen
- a
- erster Operand
- b
- zweiter Operand
- result
- Ergebnis der Subtraktion
public string ToString(string format)
result = vector4.ToString(format)
Gibt ein System.String zurück, das den aktuellen Vector4d darstellt und jedes Element mit Format formatiert.
- format
public override string ToString()
result = vector4.ToString()
Gibt ein System.String zurück, das den aktuellen Vector4d darstellt.
public static Vector4 Transform(Vector4 vec, Matrix4X4 mat)
result = Vector4.Transform(vec, mat)
Transformieren Sie einen Vektor durch die gegebene Matrix
- vec
- Der Vektor zur Transformation
- mat
- Die gewünschte Transformation
Rückgabe: Der transformierte Vektor
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)
Transformieren Sie einen Vektor durch die gegebene Matrix
- vec
- Der Vektor zur Transformation
- mat
- Die gewünschte Transformation
- result
- Der transformierte Vektor
public static Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.Transform(vec, quat)
Transformiert einen Vektor durch eine Quaternion-Rotation.
- vec
- Der Vektor zur Transformation.
- quat
- Die Quaternion, um den Vektor zu drehen.
Rückgabe: Das Ergebnis der Operation.
public static void Transform(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.Transform(vec, quat, result)
Transformiert einen Vektor durch eine Quaternion-Rotation.
- vec
- Der Vektor zur Transformation.
- quat
- Die Quaternion, um den Vektor zu drehen.
- result
- Das Ergebnis der Operation.
Felder
public static readonly Vector4 One
value = Vector4.One
Definiert eine Instanz mit allen Komponenten, die auf 1 gesetzt sind.
public static readonly int SizeInBytes
value = Vector4.SizeInBytes
Definiert die Größe der Struktur Vector4d in Bytes.
public static Vector4 UnitW
value = Vector4.UnitW
Definiert einen Einheitslängenvektor4d, der auf die W-Achse zeigt.
public static Vector4 UnitX
value = Vector4.UnitX
Definiert einen Einheitslängenvektor4d, der auf die X-Achse zeigt.
public static Vector4 UnitY
value = Vector4.UnitY
Definiert einen Einheitslängenvektor4d, der auf die Y-Achse zeigt.
public static Vector4 UnitZ
value = Vector4.UnitZ
Definiert einen Einheitslängenvektor4d, der auf die Z-Achse zeigt.