Vector3

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

Representa un vector 3D que utiliza tres números de doble precisión flotante-punto.

Implementa: IEquatable<Vector3>

Constructores

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

Construye un nuevo Vector3.

x
El componente x del vector3.
y
El componente y del vector3.
z
El componente z del vector3.
Vector3
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)

Construye una nueva instancia del vector2d dado.

v
El Vector2d para copiar componentes de.
z
Vector3
public Vector3(Vector3 v)
vector3 = Vector3(v)

Construye una nueva instancia del vector dado.

v
El Vector3d para copiar componentes de.
Vector3
public Vector3(Vector4 v)
vector3 = Vector3(v)

Construye una nueva instancia del vector4d dado.

v
El Vector4d para copiar componentes de.

Propiedades

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

Consigue la longitud (magnitud) del vector.

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

Consigue una aproximación de la longitud del vector (magnitud).

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

Consigue la plaza de la longitud del vector (magnitud).

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

Consigue o establece un OpenTK.Vector2d@ con los componentes X y Y de esta instancia.

Métodos

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

Añade dos vectores.

a
Operador izquierdo.
b
Buen trabajo.
result
Resultado de la operación.
Add
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)

Añade dos vectores.

a
Operador izquierdo.
b
Buen trabajo.

Devuelve: Resultado de la operación.

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)

Interpolate 3 Vectores usando coordenadas Barycentric

a
Primer vector de entrada.
b
Segundo vector de entrada.
c
Tercer vector de entrada.
u
Primera Coordinación Baríntrica.
v
Segunda Coordinadora Barígena.
result
Vector de salida. a cuando u=v=0, b cuando u=1,v=0, c cuando u=0,v=1, y una combinación lineal de a,b,c de otro modo
BaryCentric
public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v)
result = Vector3.BaryCentric(a, b, c, u, v)

Interpolate 3 Vectores usando coordenadas Barycentric

a
Vector de primera entrada
b
Segundo vector de entrada
c
Vector de terceros
u
Primera Coordinación Baríntrica
v
Second Barycentric Coordinate

Devuelve: a cuando u=v=0, b cuando u=1,v=0, c cuando u=0,v=1, y una combinación lineal de a,b,c de otra manera

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

Calcula el ángulo (en radians) entre dos vectores.

first
El primer vector.
second
El segundo vector.
result
Ángulo (en radians) entre los vectores.
CalculateAngle
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)

Calcula el ángulo (en radians) entre dos vectores.

first
El primer vector.
second
El segundo vector.

Devuelve: Ángulo (en radians) entre los vectores.

Clamp
public static void Clamp(Vector3 vec, Vector3 min, Vector3 max, Vector3 result)
Vector3.Clamp(vec, min, max, result)

Abraza un vector a los vectores mínimo y máximo dados

vec
Input vector
min
vector mínimo
max
vector máximo
result
El vector abrazado
Clamp
public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
result = Vector3.Clamp(vec, min, max)

Abraza un vector a los vectores mínimo y máximo dados

vec
Input vector
min
vector mínimo
max
vector máximo

Devuelve: El vector abrazado

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

Calcular el máximo de dos vectores a la medida de los componentes

a
Primer operand
b
Segundo operand

Devuelve: El máximo de componente-en función

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

Calcular el máximo de dos vectores a la medida de los componentes

a
Primer operand
b
Segundo operand
result
El máximo de componente-en función
ComponentMin
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)

Calcular el mínimo de dos vectores a la vez de componentes

a
Primer operand
b
Segundo operand

Devuelve: El mínimo de componente-en-sabio

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

Calcular el mínimo de dos vectores a la vez de componentes

a
Primer operand
b
Segundo operand
result
El mínimo de componente-en-sabio
Cross
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)

Caclular la cruz (vector) producto de dos vectores

left
Primer operand
right
Segundo operand
result
El producto de la cruz de las dos entradas

Devuelve: El producto de la cruz de las dos entradas

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

Caclular la cruz (vector) producto de dos vectores

left
Primer operand
right
Segundo operand

Devuelve: El producto de la cruz de las dos entradas

Divide
public static Vector3 Divide(Vector3 vector, Vector3 scale)
result = Vector3.Divide(vector, scale)

Divide un vector por los componentes de un vector (escala).

vector
Operador izquierdo.
scale
Buen trabajo.

Devuelve: Resultado de la operación.

Divide
public static void Divide(Vector3 vector, double scale, Vector3 result)
Vector3.Divide(vector, scale, result)

Divide un vector por un escalar.

vector
Operador izquierdo.
scale
Buen trabajo.
result
Resultado de la operación.
Divide
public static Vector3 Divide(Vector3 vector, double scale)
result = Vector3.Divide(vector, scale)

Divide un vector por un escalar.

vector
Operador izquierdo.
scale
Buen trabajo.

Devuelve: Resultado de la operación.

Divide
public static void Divide(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Divide(vector, scale, result)

Divide un vector por los componentes de un vector (escala).

vector
Operador izquierdo.
scale
Buen trabajo.
result
Resultado de la operación.
Dot
public static void Dot(Vector3 left, Vector3 right, double result)
Vector3.Dot(left, right, result)

Calcular el punto (scalar) producto de dos vectores

left
Primer operand
right
Segundo operand
result
El producto de puntos de las dos entradas
Dot
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.Dot(left, right)

Calcular el punto (scalar) producto de dos vectores

left
Primer operand
right
Segundo operand

Devuelve: El producto de puntos de las dos entradas

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

Indica si esta instancia y un objeto específico son iguales dentro de un rango de error.

OtherVector
ErrorValue

Devuelve: Cierto si los casos son iguales; falso de lo contrario.

Equals
public bool Equals(Vector3 other)
result = vector3.Equals(other)

Indica si el vector actual es igual a otro vector.

other
Un vector para comparar con este vector.

Devuelve: verdadero si el vector actual es igual al parámetro vectorial; de lo contrario, falso.

Equals
public override bool Equals(object obj)
result = vector3.Equals(obj)

Indica si este caso y un objeto específico son iguales.

obj
El objeto a comparar.

Devuelve: Cierto si los casos son iguales; falso de lo contrario.

GetHashCode
public override int GetHashCode()
result = vector3.GetHashCode()

Devuelve el código de hashcode para este caso.

Devuelve: A System.Int32 que contiene el código de hashcode único para este caso.

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

Devuelve un vector normalizado de esto.

Lerp
public static Vector3 Lerp(Vector3 a, Vector3 b, double blend)
result = Vector3.Lerp(a, b, blend)

Devuelve un nuevo vector que es la mezcla lineal de los 2 vectores dados

a
Primer vector de entrada
b
Segundo vector de entrada
blend
El factor de mezcla. a cuando se mezcla=0, b cuando se mezcla=1.

Devuelve: a cuando blend=0, b cuando blend=1, y una combinación lineal de otra manera

Lerp
public static void Lerp(Vector3 a, Vector3 b, double blend, Vector3 result)
Vector3.Lerp(a, b, blend, result)

Devuelve un nuevo vector que es la mezcla lineal de los 2 vectores dados

a
Primer vector de entrada
b
Segundo vector de entrada
blend
El factor de mezcla. a cuando se mezcla=0, b cuando se mezcla=1.
result
a cuando blend=0, b cuando blend=1, y una combinación lineal de otra manera
Max
public static Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)

Devuelve el Vector3d con la magnitud mínima

left
Funcionamiento izquierdo
right
Funcionamiento derecho

Devuelve: El mínimo Vector3

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

Devuelve el Vector3d con la magnitud mínima

left
Funcionamiento izquierdo
right
Funcionamiento derecho

Devuelve: El mínimo Vector3

Multiply
public static Vector3 Multiply(Vector3 vector, double scale)
result = Vector3.Multiply(vector, scale)

Multiplica un vector por un escalar.

vector
Operador izquierdo.
scale
Buen trabajo.

Devuelve: Resultado de la operación.

Multiply
public static void Multiply(Vector3 vector, double scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

Multiplica un vector por un escalar.

vector
Operador izquierdo.
scale
Buen trabajo.
result
Resultado de la operación.
Multiply
public static Vector3 Multiply(Vector3 vector, Vector3 scale)
result = Vector3.Multiply(vector, scale)

Multiplica un vector por los componentes un vector (escala).

vector
Operador izquierdo.
scale
Buen trabajo.

Devuelve: Resultado de la operación.

Multiply
public static void Multiply(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

Multiplica un vector por los componentes de un vector (escala).

vector
Operador izquierdo.
scale
Buen trabajo.
result
Resultado de la operación.
Normalize
public void Normalize()
vector3.Normalize()

Escala el Vector3d a longitud de unidad.

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

Escalar un vector a la longitud de la unidad

vec
El vector de entrada
result
El vector normalizado
Normalize
public static Vector3 Normalize(Vector3 vec)
result = Vector3.Normalize(vec)

Escalar un vector a la longitud de la unidad

vec
El vector de entrada

Devuelve: El vector normalizado

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

Escalar un vector a una longitud de unidad aproximadamente

vec
El vector de entrada
result
El vector normalizado
NormalizeFast
public static Vector3 NormalizeFast(Vector3 vec)
result = Vector3.NormalizeFast(vec)

Escalar un vector a una longitud de unidad aproximadamente

vec
El vector de entrada

Devuelve: El vector normalizado

NormalizeFast
public void NormalizeFast()
vector3.NormalizeFast()

Escala el Vector3d a aproximadamente longitud de unidad.

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

Añade dos casos.

left
La primera instancia.
right
La segunda instancia.

Devuelve: El resultado del cálculo.

op_Division
public static Vector3 op_Division(double numerator, Vector3 vec)
result = Vector3.op_Division(numerator, vec)

Crea un nuevo vector que es el numerador desdividido por cada componente del vector.

numerator
vec

Devuelve: El resultado del cálculo.

op_Division
public static Vector3 op_Division(Vector3 vec, double scale)
result = Vector3.op_Division(vec, scale)

Divide una instancia de un escalar.

vec
El caso.
scale
El cuero cabelludo.

Devuelve: El resultado del cálculo.

op_Equality
public static bool op_Equality(Vector3 left, Vector3 right)
result = Vector3.op_Equality(left, right)

Compara dos casos para la igualdad.

left
La primera instancia.
right
La segunda instancia.

Devuelve: Cierto, si la izquierda es igual a la derecha; falso de lo contrario.

op_Inequality
public static bool op_Inequality(Vector3 left, Vector3 right)
result = Vector3.op_Inequality(left, right)

Compara dos casos de desigualdad.

left
La primera instancia.
right
La segunda instancia.

Devuelve: Cierto, si la izquierda no ecua lright; falso de lo contrario.

op_Multiply
public static Vector3 op_Multiply(double scale, Vector3 vec)
result = Vector3.op_Multiply(scale, vec)

Multiplica una instancia por un escalar.

scale
El cuero cabelludo.
vec
El caso.

Devuelve: El resultado del cálculo.

op_Multiply
public static Vector3 op_Multiply(Vector3 vec, double scale)
result = Vector3.op_Multiply(vec, scale)

Multiplica una instancia por un escalar.

vec
El caso.
scale
El cuero cabelludo.

Devuelve: El resultado del cálculo.

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

Componente sabio multiplicar dos vectores juntos, 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)

Substrae dos casos.

left
La primera instancia.
right
La segunda instancia.

Devuelve: El resultado del cálculo.

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

Negates an instance.

vec
El caso.

Devuelve: El resultado del cálculo.

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

Substraer un vector de otro

a
Primer operand
b
Segundo operand

Devuelve: Resultado de la resta

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

Substraer un vector de otro

a
Primer operand
b
Segundo operand
result
Resultado de la resta
ToString
public override string ToString()
result = vector3.ToString()

Devuelve a System.String@ que representa el Vector3 actual.

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

Transforma todos los vectores en el array por la rotación de la cuaternión.

vecArray
rotationQuaternion
Transform
public static void Transform(Vector3 vec, Quaternion quat, Vector3 result)
Vector3.Transform(vec, quat, result)

Transforma un vector por una rotación de la cuaternión.

vec
El vector a transformar.
quat
La cuaternión para rotar el vector por.
result
El resultado de la operación.
Transform
public static void Transform(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.Transform(vec, mat, result)

Transformar un vector por la matriz dada

vec
El vector para transformar
mat
La transformación deseada
result
El vector transformado
Transform
public static Vector3 Transform(Vector3 vec, Quaternion quat)
result = Vector3.Transform(vec, quat)

Transforma un vector por una rotación de la cuaternión.

vec
El vector a transformar.
quat
La cuaternión para rotar el vector por.

Devuelve: El resultado de la operación.

Transform
public static void Transform(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)

Transforma todos los vectores en el array por la Matriz dada.

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

Transformar un vector por la matriz dada

vec
El vector para transformar
mat
La transformación deseada

Devuelve: El vector transformado

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

Transformar a Normal por la Matriz dada

norm
Lo normal para transformar
mat
La transformación deseada
result
La normalidad transformada
TransformNormal
public static Vector3 TransformNormal(Vector3 norm, Matrix4X4 mat)
result = Vector3.TransformNormal(norm, mat)

Transformar a Normal por la Matriz dada

norm
Lo normal para transformar
mat
La transformación deseada

Devuelve: La normalidad transformada

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

Transformar a Normal por la (transpose de la) dada Matriz

norm
Lo normal para transformar
invMat
El inverso de la transformación deseada
result
La normalidad transformada
TransformNormalInverse
public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4X4 invMat)
result = Vector3.TransformNormalInverse(norm, invMat)

Transformar a Normal por la (transpose de la) dada Matriz

norm
Lo normal para transformar
invMat
El inverso de la transformación deseada

Devuelve: La normalidad transformada

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

Transformar un vector3d por la matriz dada, y proyectar el vector resultante de vuelta a un vector3

vec
El vector para transformar
mat
La transformación deseada

Devuelve: El vector transformado

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

Transformar un vector3d por la matriz dada, y proyectar el vector resultante de vuelta a un Vector3d

vec
El vector para transformar
mat
La transformación deseada
result
El vector transformado
TransformPosition
public static void TransformPosition(Vector3 pos, Matrix4X4 mat, Vector3 result)
Vector3.TransformPosition(pos, mat, result)

Transformar una posición por la matriz dada

pos
La posición de transformación
mat
La transformación deseada
result
La posición transformada
TransformPosition
public static Vector3 TransformPosition(Vector3 pos, Matrix4X4 mat)
result = Vector3.TransformPosition(pos, mat)

Transformar una posición por la matriz dada

pos
La posición de transformación
mat
La transformación deseada

Devuelve: La posición transformada

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

Transformar un vector de dirección por la Matriz dada Supone que la matriz tiene una fila inferior de (0,0,0,1), que es la parte de traducción es ignorada.

vec
El vector para transformar
mat
La transformación deseada
result
El vector transformado
TransformVector
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)

Transformar un vector de dirección por la Matriz dada Supone que la matriz tiene una fila inferior de (0,0,0,1), que es la parte de traducción es ignorada.

vec
El vector para transformar
mat
La transformación deseada

Devuelve: El vector transformado

Campos

NegativeInfinity
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity

Define una instancia con todos los componentes fijados a la infinidad negativa.

One
public static readonly Vector3 One
value = Vector3.One

Define una instancia con todos los componentes fijados a 1.

PositiveInfinity
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity

Define una instancia con todos los componentes fijados a la infinidad positiva.

SizeInBytes
public static readonly int SizeInBytes
value = Vector3.SizeInBytes

Define el tamaño de la estructura Vector3d en bytes.

UnitX
public static readonly Vector3 UnitX
value = Vector3.UnitX

Define un vector de longitud unitaria que apunta hacia el eje X.

UnitY
public static readonly Vector3 UnitY
value = Vector3.UnitY

Define un vector de longitud unitaria que apunta hacia el eje Y.

UnitZ
public static readonly Vector3 UnitZ
value = Vector3.UnitZ

// Define un vector de longitud unitaria que apunta hacia el eje Z.

x
public double x
value = vector3.x

El componente X del Vector3.

y
public double y
value = vector3.y

El componente Y del Vector3.

z
public double z
value = vector3.z

El componente Z del Vector3.

Zero
public static readonly Vector3 Zero
value = Vector3.Zero

Define un vector de cero longitud3.