Vector2
Stellt einen 2D-Vektor unter Verwendung von zwei Gleitkommazahlen mit doppelter Präzision dar.
Implementiert: IEquatable<Vector2>
Konstruktoren
public Vector2(double x, double y)
vector2 = Vector2(x, y)
Konstruiert linken Vektor mit den angegebenen Koordinaten.
- x
- Die X-Koordinate.
- y
- Die Y-Koordinate.
Eigenschaften
public double Length { get; }
value = vector2.Length
Bekommt die Länge (Magnitude) des Vektors.
public double LengthSquared { get; }
value = vector2.LengthSquared
Bekommt das Quadrat der Vektorlänge (Magnitude).
public Vector2 PerpendicularLeft { get; }
value = vector2.PerpendicularLeft
Erhält den senkrechten Vektor auf der linken Seite dieses Vektors.
public Vector2 PerpendicularRight { get; }
value = vector2.PerpendicularRight
Erhält den senkrechten Vektor auf der rechten Seite dieses Vektors.
Methoden
public static void Add(Vector2 a, Vector2 b, Vector2 result)
Vector2.Add(a, b, result)
Addiert zwei Vektoren.
- a
- Linker Operand.
- b
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector2 Add(Vector2 a, Vector2 b)
result = Vector2.Add(a, b)
Addiert zwei Vektoren.
- a
- Linker Operand.
- b
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v, Vector2 result)
Vector2.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 Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v)
result = Vector2.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(Vector2 vec, Vector2 min, Vector2 max, Vector2 result)
Vector2.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 Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max)
result = Vector2.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 void ComponentMax(Vector2 a, Vector2 b, Vector2 result)
Vector2.ComponentMax(a, b, result)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Maximum
public static Vector2 ComponentMax(Vector2 a, Vector2 b)
result = Vector2.ComponentMax(a, b)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Das komponentenweise Maximum
public static void ComponentMin(Vector2 a, Vector2 b, Vector2 result)
Vector2.ComponentMin(a, b, result)
Berechnen Sie das komponentenweise Minimum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Minimum
public static Vector2 ComponentMin(Vector2 a, Vector2 b)
result = Vector2.ComponentMin(a, b)
Berechnen Sie das komponentenweise Minimum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Das komponentenweise Minimum
public static double Cross(Vector2 left, Vector2 right)
result = Vector2.Cross(left, right)
Berechnen Sie das Kreuzprodukt von zwei Vektoren
- left
- erster Operand
- right
- zweiter Operand
Rückgabe: Das Kreuzprodukt der beiden Inputs
public static Vector2 Divide(Vector2 vector, Vector2 scale)
result = Vector2.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(Vector2 vector, Vector2 scale, Vector2 result)
Vector2.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 Vector2 Divide(Vector2 vector, double scale)
result = Vector2.Divide(vector, scale)
Teilt einen Vektor durch einen Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static void Divide(Vector2 vector, double scale, Vector2 result)
Vector2.Divide(vector, scale, result)
Teilt einen Vektor durch einen Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static double Dot(Vector2 left, Vector2 right)
result = Vector2.Dot(left, right)
Berechnen Sie das Punkt (Skalar) Produkt von zwei Vektoren
- left
- erster Operand
- right
- zweiter Operand
Rückgabe: Das Punktprodukt der beiden Eingänge
public static void Dot(Vector2 left, Vector2 right, double result)
Vector2.Dot(left, right, result)
Berechnen Sie das Punkt (Skalar) Produkt von zwei Vektoren
- left
- erster Operand
- right
- zweiter Operand
- result
- Das Punktprodukt der beiden Eingänge
public override bool Equals(object obj)
result = vector2.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 bool Equals(Vector2 other)
result = vector2.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 bool Equals(Vector2 other, double errorRange)
result = vector2.Equals(other, errorRange)
Gibt an, ob der aktuelle Vektor einem anderen Vektor entspricht.
- other
- Ein Vektor zum Vergleichen mit diesem Vektor.
- errorRange
Rückgabe: true, wenn der aktuelle Vektor gleich dem Vektorparameter ist; andernfalls false.
public override int GetHashCode()
result = vector2.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 Vector2 GetNormal()
result = vector2.GetNormal()
Gibt einen normalisierten Vektor davon zurück.
public static Vector2 Lerp(Vector2 a, Vector2 b, double blend)
result = Vector2.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(Vector2 a, Vector2 b, double blend, Vector2 result)
Vector2.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 Vector2 Max(Vector2 a, Vector2 b)
result = Vector2.Max(a, b)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Das komponentenweise Maximum
public static void Max(Vector2 a, Vector2 b, Vector2 result)
Vector2.Max(a, b, result)
Berechnen Sie das komponentenweise Maximum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Maximum
public static Vector2 Min(Vector2 a, Vector2 b)
result = Vector2.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(Vector2 a, Vector2 b, Vector2 result)
Vector2.Min(a, b, result)
Berechnen Sie das komponentenweise Minimum von zwei Vektoren
- a
- erster Operand
- b
- zweiter Operand
- result
- Das komponentenweise Minimum
public static void Multiply(Vector2 vector, double scale, Vector2 result)
Vector2.Multiply(vector, scale, result)
Multipliziert einen Vektor mit einem Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
- result
- Ergebnis der Operation.
public static Vector2 Multiply(Vector2 vector, Vector2 scale)
result = Vector2.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(Vector2 vector, Vector2 scale, Vector2 result)
Vector2.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 Vector2 Multiply(Vector2 vector, double scale)
result = Vector2.Multiply(vector, scale)
Multipliziert einen Vektor mit einem Skalar.
- vector
- Linker Operand.
- scale
- rechter Operand.
Rückgabe: Ergebnis der Operation.
public static Vector2 Normalize(Vector2 vec)
result = Vector2.Normalize(vec)
Skalieren Sie einen Vektor auf die Länge der Einheit
- vec
- Der Eingangsvektor
Rückgabe: Der normierte Vektor
public static void Normalize(Vector2 vec, Vector2 result)
Vector2.Normalize(vec, result)
Skalieren Sie einen Vektor auf die Länge der Einheit
- vec
- Der Eingangsvektor
- result
- Der normierte Vektor
public static Vector2 NormalizeFast(Vector2 vec)
result = Vector2.NormalizeFast(vec)
Skalieren Sie einen Vektor auf ungefähr die Länge einer Einheit
- vec
- Der Eingangsvektor
Rückgabe: Der normierte Vektor
public static void NormalizeFast(Vector2 vec, Vector2 result)
Vector2.NormalizeFast(vec, result)
Skalieren Sie einen Vektor auf ungefähr die Länge einer Einheit
- vec
- Der Eingangsvektor
- result
- Der normierte Vektor
public static Vector2 op_Addition(Vector2 left, Vector2 right)
result = Vector2.op_Addition(left, right)
Addiert zwei Instanzen.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
Rückgabe: Das Ergebnis der Operation.
public static Vector2 op_Division(double f, Vector2 vec)
result = Vector2.op_Division(f, vec)
Teilt einen Scaler durch eine Instanzkomponenten.
- vec
- Der Skalar.
- f
- Die Instanz.
Rückgabe: Das Ergebnis der Operation.
public static Vector2 op_Division(Vector2 vec, double f)
result = Vector2.op_Division(vec, f)
Teilt eine Instanz durch einen Skalar.
- vec
- Die Instanz.
- f
- Der Skalar.
Rückgabe: Das Ergebnis der Operation.
public static bool op_Equality(Vector2 left, Vector2 right)
result = Vector2.op_Equality(left, right)
Vergleicht zwei Beispiele für Gleichheit.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
Rückgabe: Wahr, wenn beide Instanzen gleich sind; falsch sonst.
public static bool op_Inequality(Vector2 left, Vector2 right)
result = Vector2.op_Inequality(left, right)
Vergleicht zwei Beispiele für ienquality.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
Rückgabe: Wahr, wenn die Instanzen nicht gleich sind; falsch sonst.
public static Vector2 op_Multiply(double f, Vector2 vec)
result = Vector2.op_Multiply(f, vec)
Multiplizieren Sie eine Instanz mit einem Skalar.
- f
- Der Skalar.
- vec
- Die Instanz.
Rückgabe: Das Ergebnis der Operation.
public static Vector2 op_Multiply(Vector2 vec, double f)
result = Vector2.op_Multiply(vec, f)
Multipliziert eine Instanz mit einem Skalar.
- vec
- Die Instanz.
- f
- Der Skalar.
Rückgabe: Das Ergebnis der Operation.
public static Vector2 op_Subtraction(Vector2 left, Vector2 right)
result = Vector2.op_Subtraction(left, right)
Subtrahiert zwei Instanzen.
- left
- Die linke Instanz.
- right
- Die richtige Instanz.
Rückgabe: Das Ergebnis der Operation.
public static Vector2 op_UnaryNegation(Vector2 vec)
result = Vector2.op_UnaryNegation(vec)
Verneint eine Instanz.
- vec
- Die Instanz.
Rückgabe: Das Ergebnis der Operation.
public static void Subtract(Vector2 a, Vector2 b, Vector2 result)
Vector2.Subtract(a, b, result)
Subtrahieren Sie einen Vektor von einem anderen
- a
- erster Operand
- b
- zweiter Operand
- result
- Ergebnis der Subtraktion
public static Vector2 Subtract(Vector2 a, Vector2 b)
result = Vector2.Subtract(a, b)
Subtrahieren Sie einen Vektor von einem anderen
- a
- erster Operand
- b
- zweiter Operand
Rückgabe: Ergebnis der Subtraktion
public override string ToString()
result = vector2.ToString()
Gibt ein System.String zurück, das die aktuelle Instanz darstellt.
public static void Transform(Vector2 vec, Quaternion quat, Vector2 result)
Vector2.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.
public static Vector2 Transform(Vector2 vec, Quaternion quat)
result = Vector2.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.
Felder
public static readonly Vector2 One
value = Vector2.One
Definiert eine Instanz mit allen Komponenten, die auf 1 gesetzt sind.
public static readonly int SizeInBytes
value = Vector2.SizeInBytes
Definiert die Größe der Vector2d-Struktur in Bytes.
public static Vector2 UnitX
value = Vector2.UnitX
Definiert einen Einheitslängenvektor2d, der in Richtung der X-Achse zeigt.
public static Vector2 UnitY
value = Vector2.UnitY
Definiert einen Einheitslängenvektor2d, der auf die Y-Achse zeigt.