Vector4

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

Stellt einen 4D-Vektor mit vier Gleitkommazahlen mit doppelter Präzision dar.

Implementiert: IEquatable<Vector4>

Konstruktoren

Vector4
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.
Vector4
public Vector4(Vector2 v)
vector4 = Vector4(v)

Konstruiert einen neuen Vector4d aus dem gegebenen Vector2d.

v
Der Vector2d zum Kopieren von Komponenten aus.
Vector4
public Vector4(Vector3 v)
vector4 = Vector4(v)

Konstruiert einen neuen Vector4d aus dem gegebenen Vector3d.

v
Der Vector3d zum Kopieren von Komponenten aus.
Vector4
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.
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

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

Bekommt die Länge (Magnitude) des Vektors.

LengthFast
public double LengthFast { get; }
value = vector4.LengthFast

Erhält eine Annäherung an die Vektorlänge (Magnitude).

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

Bekommt das Quadrat der Vektorlänge (Magnitude).

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

Xyz
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

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

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

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

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

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

Divide
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.
Dot
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
Dot
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

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

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

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

Lerp
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

Lerp
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
Max
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
Max
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

Min
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

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

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

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

Normalize
public void Normalize()
vector4.Normalize()

Skaliert den Vector4d auf Längeneinheit.

Normalize
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
NormalizeFast
public void NormalizeFast()
vector4.NormalizeFast()

Skaliert den Vector4d auf ungefähr die Länge der Einheit.

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

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

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

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

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

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

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

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

op_UnaryNegation
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)

Verneint eine Instanz.

vec
Die Instanz.

Rückgabe: Das Ergebnis der Berechnung.

Subtract
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

Subtract
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
ToString
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
ToString
public override string ToString()
result = vector4.ToString()

Gibt ein System.String zurück, das den aktuellen Vector4d darstellt.

Transform
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

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

Transform
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

One
public static readonly Vector4 One
value = Vector4.One

Definiert eine Instanz mit allen Komponenten, die auf 1 gesetzt sind.

SizeInBytes
public static readonly int SizeInBytes
value = Vector4.SizeInBytes

Definiert die Größe der Struktur Vector4d in Bytes.

UnitW
public static Vector4 UnitW
value = Vector4.UnitW

Definiert einen Einheitslängenvektor4d, der auf die W-Achse zeigt.

UnitX
public static Vector4 UnitX
value = Vector4.UnitX

Definiert einen Einheitslängenvektor4d, der auf die X-Achse zeigt.

UnitY
public static Vector4 UnitY
value = Vector4.UnitY

Definiert einen Einheitslängenvektor4d, der auf die Y-Achse zeigt.

UnitZ
public static Vector4 UnitZ
value = Vector4.UnitZ

Definiert einen Einheitslängenvektor4d, der auf die Z-Achse zeigt.

w
public double w
value = vector4.w

Die W-Komponente des Vector4d.

x
public double x
value = vector4.x

Die X-Komponente des Vector4d.

y
public double y
value = vector4.y

Die Y-Komponente des Vector4d.

z
public double z
value = vector4.z

Die Z-Komponente des Vector4d.

Zero
public static Vector4 Zero
value = Vector4.Zero

Definiert einen Nulllängenvektor4d.