Vector3
Representa un vector 3D que utiliza tres números de doble precisión flotante-punto.
Implementa: IEquatable<Vector3>
Constructores
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.
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
public Vector3(Vector3 v)
vector3 = Vector3(v)
Construye una nueva instancia del vector dado.
- v
- El Vector3d para copiar componentes de.
public Vector3(Vector4 v)
vector3 = Vector3(v)
Construye una nueva instancia del vector4d dado.
- v
- El Vector4d para copiar componentes de.
Propiedades
public double Length { get; }
value = vector3.Length
Consigue la longitud (magnitud) del vector.
public double LengthFast { get; }
value = vector3.LengthFast
Consigue una aproximación de la longitud del vector (magnitud).
public double LengthSquared { get; }
value = vector3.LengthSquared
Consigue la plaza de la longitud del vector (magnitud).
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
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.
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.
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
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
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.
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.
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
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
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
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
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
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
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
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
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.
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.
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.
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.
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
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
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.
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.
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.
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.
public Vector3 GetNormal()
result = vector3.GetNormal()
Devuelve un vector normalizado de esto.
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
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
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
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
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.
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.
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.
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.
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
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
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
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
public void NormalizeFast()
vector3.NormalizeFast()
Escala el Vector3d a aproximadamente longitud de unidad.
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.
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.
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.
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.
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.
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.
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.
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
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.
public static Vector3 op_UnaryNegation(Vector3 vec)
result = Vector3.op_UnaryNegation(vec)
Negates an instance.
- vec
- El caso.
Devuelve: El resultado del cálculo.
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
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
public override string ToString()
result = vector3.ToString()
Devuelve a System.String@ que representa el Vector3 actual.
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
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.
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
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.
public static void Transform(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)
Transforma todos los vectores en el array por la Matriz dada.
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
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
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
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
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
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
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
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
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
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
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
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity
Define una instancia con todos los componentes fijados a la infinidad negativa.
public static readonly Vector3 One
value = Vector3.One
Define una instancia con todos los componentes fijados a 1.
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity
Define una instancia con todos los componentes fijados a la infinidad positiva.
public static readonly int SizeInBytes
value = Vector3.SizeInBytes
Define el tamaño de la estructura Vector3d en bytes.
public static readonly Vector3 UnitX
value = Vector3.UnitX
Define un vector de longitud unitaria que apunta hacia el eje X.
public static readonly Vector3 UnitY
value = Vector3.UnitY
Define un vector de longitud unitaria que apunta hacia el eje Y.
public static readonly Vector3 UnitZ
value = Vector3.UnitZ
// Define un vector de longitud unitaria que apunta hacia el eje Z.