Vector3

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

Stellt einen 3D-Vektor mit drei Gleitkommazahlen mit doppelter Präzision dar.

Implementiert: IEquatable<Vector3>

Konstruktoren

Vector3
public Vector3(double x, double y, double z)
vector3 = Vector3(x, y, z)

Konstruiert einen neuen Vector3.

x
Die x-Komponente des Vector3.
y
Die y-Komponente des Vektors3.
z
Die z-Komponente des Vector3.
Vector3
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)

Konstruiert eine neue Instanz aus dem gegebenen Vector2d.

v
Der Vector2d zum Kopieren von Komponenten aus.
z
Vector3
public Vector3(Vector3 v)
vector3 = Vector3(v)

Konstruiert eine neue Instanz aus dem gegebenen Vector3d.

v
Der Vector3d zum Kopieren von Komponenten aus.
Vector3
public Vector3(Vector4 v)
vector3 = Vector3(v)

Konstruiert eine neue Instanz aus dem gegebenen Vector4d.

v
Der Vector4d zum Kopieren von Komponenten aus.

Eigenschaften

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

Bekommt die Länge (Magnitude) des Vektors.

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

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

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

Bekommt das Quadrat der Vektorlänge (Magnitude).

Xy
public Vector2 Xy { get; set; }
value = vector3.Xy
vector3.Xy = value

Erhält oder setzt ein OpenTK.Vector2d mit den X- und Y-Komponenten dieser Instanz.

Methoden

Add
public static void Add(Vector3 a, Vector3 b, Vector3 result)
Vector3.Add(a, b, result)

Addiert zwei Vektoren.

a
Linker Operand.
b
rechter Operand.
result
Ergebnis der Operation.
Add
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)

Addiert zwei Vektoren.

a
Linker Operand.
b
rechter Operand.

Rückgabe: Ergebnis der Operation.

BaryCentric
public static void BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v, Vector3 result)
Vector3.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 Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v)
result = Vector3.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

CalculateAngle
public static void CalculateAngle(Vector3 first, Vector3 second, double result)
Vector3.CalculateAngle(first, second, result)

Berechnet den Winkel (in Radianten) zwischen zwei Vektoren.

first
Der erste Vektor.
second
Der zweite Vektor.
result
Winkel (in Radianten) zwischen den Vektoren.
CalculateAngle
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)

Berechnet den Winkel (in Radianten) zwischen zwei Vektoren.

first
Der erste Vektor.
second
Der zweite Vektor.

Rückgabe: Winkel (in Radianten) zwischen den Vektoren.

Clamp
public static void Clamp(Vector3 vec, Vector3 min, Vector3 max, Vector3 result)
Vector3.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 Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
result = Vector3.Clamp(vec, min, max)

Einen Vektor an den vorgegebenen Minimal- und Maximalvektoren klemmen

vec
Eingangsvektor
min
Mindestvektor
max
Maximalvektor

Rückgabe: Der geklemmte Vektor

ComponentMax
public static Vector3 ComponentMax(Vector3 a, Vector3 b)
result = Vector3.ComponentMax(a, b)

Berechnen Sie das komponentenweise Maximum von zwei Vektoren

a
erster Operand
b
zweiter Operand

Rückgabe: Das komponentenweise Maximum

ComponentMax
public static void ComponentMax(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMax(a, b, result)

Berechnen Sie das komponentenweise Maximum von zwei Vektoren

a
erster Operand
b
zweiter Operand
result
Das komponentenweise Maximum
ComponentMin
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)

Berechnen Sie das komponentenweise Minimum von zwei Vektoren

a
erster Operand
b
zweiter Operand

Rückgabe: Das komponentenweise Minimum

ComponentMin
public static void ComponentMin(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMin(a, b, result)

Berechnen Sie das komponentenweise Minimum von zwei Vektoren

a
erster Operand
b
zweiter Operand
result
Das komponentenweise Minimum
Cross
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)

Kaklisiere das Kreuz (Vektor) Produkt von zwei Vektoren

left
erster Operand
right
zweiter Operand
result
Das Kreuzprodukt der beiden Inputs

Rückgabe: Das Kreuzprodukt der beiden Inputs

Cross
public static Vector3 Cross(Vector3 left, Vector3 right)
result = Vector3.Cross(left, right)

Kaklisiere das Kreuz (Vektor) Produkt von zwei Vektoren

left
erster Operand
right
zweiter Operand

Rückgabe: Das Kreuzprodukt der beiden Inputs

Divide
public static Vector3 Divide(Vector3 vector, Vector3 scale)
result = Vector3.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(Vector3 vector, double scale, Vector3 result)
Vector3.Divide(vector, scale, result)

Teilt einen Vektor durch einen Skalar.

vector
Linker Operand.
scale
rechter Operand.
result
Ergebnis der Operation.
Divide
public static Vector3 Divide(Vector3 vector, double scale)
result = Vector3.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(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.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(Vector3 left, Vector3 right, double result)
Vector3.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
Dot
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.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

Equals
public bool Equals(Vector3 OtherVector, double ErrorValue)
result = vector3.Equals(OtherVector, ErrorValue)

Gibt an, ob diese Instanz und ein angegebenes Objekt innerhalb eines Fehlerbereichs gleich sind.

OtherVector
ErrorValue

Rückgabe: Wahr, wenn die Instanzen gleich sind; falsch sonst.

Equals
public bool Equals(Vector3 other)
result = vector3.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 = vector3.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 = vector3.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.

GetNormal
public Vector3 GetNormal()
result = vector3.GetNormal()

Gibt einen normalisierten Vektor davon zurück.

Lerp
public static Vector3 Lerp(Vector3 a, Vector3 b, double blend)
result = Vector3.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(Vector3 a, Vector3 b, double blend, Vector3 result)
Vector3.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 Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)

Gibt den Vector3d mit der minimalen Größe zurück

left
linker Operateur
right
rechter Operateur

Rückgabe: Der minimale Vektor3

Min
public static Vector3 Min(Vector3 left, Vector3 right)
result = Vector3.Min(left, right)

Gibt den Vector3d mit der minimalen Größe zurück

left
linker Operateur
right
rechter Operateur

Rückgabe: Der minimale Vektor3

Multiply
public static Vector3 Multiply(Vector3 vector, double scale)
result = Vector3.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(Vector3 vector, double scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

Multipliziert einen Vektor mit einem Skalar.

vector
Linker Operand.
scale
rechter Operand.
result
Ergebnis der Operation.
Multiply
public static Vector3 Multiply(Vector3 vector, Vector3 scale)
result = Vector3.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(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.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 void Normalize()
vector3.Normalize()

Skaliert den Vector3d auf Längeneinheit.

Normalize
public static void Normalize(Vector3 vec, Vector3 result)
Vector3.Normalize(vec, result)

Skalieren Sie einen Vektor auf die Länge der Einheit

vec
Der Eingangsvektor
result
Der normierte Vektor
Normalize
public static Vector3 Normalize(Vector3 vec)
result = Vector3.Normalize(vec)

Skalieren Sie einen Vektor auf die Länge der Einheit

vec
Der Eingangsvektor

Rückgabe: Der normierte Vektor

NormalizeFast
public static void NormalizeFast(Vector3 vec, Vector3 result)
Vector3.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 Vector3 NormalizeFast(Vector3 vec)
result = Vector3.NormalizeFast(vec)

Skalieren Sie einen Vektor auf ungefähr die Länge einer Einheit

vec
Der Eingangsvektor

Rückgabe: Der normierte Vektor

NormalizeFast
public void NormalizeFast()
vector3.NormalizeFast()

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

op_Addition
public static Vector3 op_Addition(Vector3 left, Vector3 right)
result = Vector3.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 Vector3 op_Division(double numerator, Vector3 vec)
result = Vector3.op_Division(numerator, vec)

Erstellt einen neuen Vektor, der der Zähler ist, der von jeder Komponente des Vektors abweichend ist.

numerator
vec

Rückgabe: Das Ergebnis der Berechnung.

op_Division
public static Vector3 op_Division(Vector3 vec, double scale)
result = Vector3.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(Vector3 left, Vector3 right)
result = Vector3.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(Vector3 left, Vector3 right)
result = Vector3.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 Vector3 op_Multiply(double scale, Vector3 vec)
result = Vector3.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 Vector3 op_Multiply(Vector3 vec, double scale)
result = Vector3.op_Multiply(vec, scale)

Multipliziert eine Instanz mit einem Skalar.

vec
Die Instanz.
scale
Der Skalar.

Rückgabe: Das Ergebnis der Berechnung.

op_Multiply
public static Vector3 op_Multiply(Vector3 vecA, Vector3 vecB)
result = Vector3.op_Multiply(vecA, vecB)

Komponentenweise multiplizieren zwei Vektoren zusammen, x * x, y * y, z * z.

vecA
vecB
op_Subtraction
public static Vector3 op_Subtraction(Vector3 left, Vector3 right)
result = Vector3.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 Vector3 op_UnaryNegation(Vector3 vec)
result = Vector3.op_UnaryNegation(vec)

Verneint eine Instanz.

vec
Die Instanz.

Rückgabe: Das Ergebnis der Berechnung.

Subtract
public static Vector3 Subtract(Vector3 a, Vector3 b)
result = Vector3.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(Vector3 a, Vector3 b, Vector3 result)
Vector3.Subtract(a, b, result)

Subtrahieren Sie einen Vektor von einem anderen

a
erster Operand
b
zweiter Operand
result
Ergebnis der Subtraktion
ToString
public override string ToString()
result = vector3.ToString()

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

Transform
public static void Transform(Vector3[] vecArray, Quaternion rotationQuaternion)
Vector3.Transform(vecArray, rotationQuaternion)

Transformieren Sie alle Vektoren im Array durch die Quaternion-Rotation.

vecArray
rotationQuaternion
Transform
public static void Transform(Vector3 vec, Quaternion quat, Vector3 result)
Vector3.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.
Transform
public static void Transform(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.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 Vector3 Transform(Vector3 vec, Quaternion quat)
result = Vector3.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(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)

Transformieren Sie alle Vektoren im Array durch die angegebene Matrix.

Transform
public static Vector3 Transform(Vector3 vec, Matrix4X4 mat)
result = Vector3.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

TransformNormal
public static void TransformNormal(Vector3 norm, Matrix4X4 mat, Vector3 result)
Vector3.TransformNormal(norm, mat, result)

Verwandeln Sie eine Normale durch die gegebene Matrix

norm
Das Normale zum Umwandeln
mat
Die gewünschte Transformation
result
Die transformierte Normalität
TransformNormal
public static Vector3 TransformNormal(Vector3 norm, Matrix4X4 mat)
result = Vector3.TransformNormal(norm, mat)

Verwandeln Sie eine Normale durch die gegebene Matrix

norm
Das Normale zum Umwandeln
mat
Die gewünschte Transformation

Rückgabe: Die transformierte Normalität

TransformNormalInverse
public static void TransformNormalInverse(Vector3 norm, Matrix4X4 invMat, Vector3 result)
Vector3.TransformNormalInverse(norm, invMat, result)

Transformieren Sie eine Normale durch die (Transposition der) gegebenen Matrix

norm
Das Normale zum Umwandeln
invMat
Die Umkehrung der gewünschten Transformation
result
Die transformierte Normalität
TransformNormalInverse
public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4X4 invMat)
result = Vector3.TransformNormalInverse(norm, invMat)

Transformieren Sie eine Normale durch die (Transposition der) gegebenen Matrix

norm
Das Normale zum Umwandeln
invMat
Die Umkehrung der gewünschten Transformation

Rückgabe: Die transformierte Normalität

TransformPerspective
public static Vector3 TransformPerspective(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformPerspective(vec, mat)

Transformieren Sie einen Vektor3d durch die gegebene Matrix und projizieren Sie den resultierenden Vektor4 zurück zu einem Vektor3

vec
Der Vektor zur Transformation
mat
Die gewünschte Transformation

Rückgabe: Der transformierte Vektor

TransformPerspective
public static void TransformPerspective(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformPerspective(vec, mat, result)

Transformieren Sie einen Vector3d durch die gegebene Matrix und projizieren Sie den resultierenden Vector4d zurück zu einem Vector3d

vec
Der Vektor zur Transformation
mat
Die gewünschte Transformation
result
Der transformierte Vektor
TransformPosition
public static void TransformPosition(Vector3 pos, Matrix4X4 mat, Vector3 result)
Vector3.TransformPosition(pos, mat, result)

Verwandeln Sie eine Position durch die gegebene Matrix

pos
Die Position zur Transformation
mat
Die gewünschte Transformation
result
Die transformierte Position
TransformPosition
public static Vector3 TransformPosition(Vector3 pos, Matrix4X4 mat)
result = Vector3.TransformPosition(pos, mat)

Verwandeln Sie eine Position durch die gegebene Matrix

pos
Die Position zur Transformation
mat
Die gewünschte Transformation

Rückgabe: Die transformierte Position

TransformVector
public static void TransformVector(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformVector(vec, mat, result)

Transformieren Sie einen Richtungsvektor durch die gegebenen Matrixannahmen Die Matrix hat eine untere Reihe von (0,0,0,1), dh der Übersetzungsteil wird ignoriert.

vec
Der Vektor zur Transformation
mat
Die gewünschte Transformation
result
Der transformierte Vektor
TransformVector
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)

Transformieren Sie einen Richtungsvektor durch die gegebenen Matrixannahmen Die Matrix hat eine untere Reihe von (0,0,0,1), dh der Übersetzungsteil wird ignoriert.

vec
Der Vektor zur Transformation
mat
Die gewünschte Transformation

Rückgabe: Der transformierte Vektor

Felder

NegativeInfinity
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity

Definiert eine Instanz, wobei alle Komponenten auf negative Unendlichkeit gesetzt sind.

One
public static readonly Vector3 One
value = Vector3.One

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

PositiveInfinity
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity

Definiert eine Instanz, wobei alle Komponenten auf positiv unendlich gesetzt sind.

SizeInBytes
public static readonly int SizeInBytes
value = Vector3.SizeInBytes

Definiert die Größe der Vector3d-Struktur in Bytes.

UnitX
public static readonly Vector3 UnitX
value = Vector3.UnitX

Definiert einen Einheitslängenvektor3d, der in Richtung der X-Achse zeigt.

UnitY
public static readonly Vector3 UnitY
value = Vector3.UnitY

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

UnitZ
public static readonly Vector3 UnitZ
value = Vector3.UnitZ

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

x
public double x
value = vector3.x

Die X-Komponente des Vector3.

y
public double y
value = vector3.y

Die Y-Komponente des Vektors3.

z
public double z
value = vector3.z

Die Z-Komponente des Vector3.

Zero
public static readonly Vector3 Zero
value = Vector3.Zero

Definiert einen Nulllängenvektor3.