Vector4
Representa un vector 4D que utiliza cuatro números de doble precisión flotante-punto.
Implementa: IEquatable<Vector4>
Constructores
public Vector4(double x, double y, double z, double w)
vector4 = Vector4(x, y, z, w)
Construye un nuevo Vector4d.
- x
- El componente x del Vector4d.
- y
- El componente y del Vector4d.
- z
- El componente z del Vector4d.
- w
- El componente w del Vector4d.
public Vector4(Vector2 v)
vector4 = Vector4(v)
Construye un nuevo Vector4d del vector dado2d.
- v
- El Vector2d para copiar componentes de.
public Vector4(Vector3 v)
vector4 = Vector4(v)
Construye un nuevo Vector4d del vector dado.
- v
- El Vector3d para copiar componentes de.
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)
Construye un nuevo Vector4d del componente Vector3d y w especificado.
- v
- El Vector3d para copiar componentes de.
- w
- El componente w del nuevo Vector4.
public Vector4(Vector4 v)
vector4 = Vector4(v)
Construye un nuevo Vector4d del vector dado.
- v
- El Vector4d para copiar componentes de.
Propiedades
public double Length { get; }
value = vector4.Length
Consigue la longitud (magnitud) del vector.
public double LengthFast { get; }
value = vector4.LengthFast
Consigue una aproximación de la longitud del vector (magnitud).
public double LengthSquared { get; }
value = vector4.LengthSquared
Consigue la plaza de la longitud del vector (magnitud).
public Vector2 Xy { get; set; }
value = vector4.Xy
vector4.Xy = value
Consigue o establece un OpenTK.Vector2d@ con los componentes X y Y de esta instancia.
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value
Consigue o establece un OpenTK.Vector3d@ con los componentes X, Y y Z de esta instancia.
Métodos
public static void Add(Vector4 a, Vector4 b, Vector4 result)
Vector4.Add(a, b, result)
Añade dos vectores.
- a
- Operador izquierdo.
- b
- Buen trabajo.
- result
- Resultado de la operación.
public static Vector4 Add(Vector4 a, Vector4 b)
result = Vector4.Add(a, b)
Añade dos vectores.
- a
- Operador izquierdo.
- b
- Buen trabajo.
Devuelve: Resultado de la operación.
public static void BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v, Vector4 result)
Vector4.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 Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v)
result = Vector4.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 Clamp(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.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 Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
result = Vector4.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 Vector4 Divide(Vector4 vector, double scale)
result = Vector4.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(Vector4 vector, double scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Divide un vector por un escalar.
- vector
- Operador izquierdo.
- scale
- Buen trabajo.
- result
- Resultado de la operación.
public static Vector4 Divide(Vector4 vector, Vector4 scale)
result = Vector4.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(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.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(Vector4 left, Vector4 right, double result)
Vector4.Dot(left, right, result)
Calcular el producto de puntos de dos vectores
- left
- Primer operand
- right
- Segundo operand
- result
- El producto de puntos de las dos entradas
public static double Dot(Vector4 left, Vector4 right)
result = Vector4.Dot(left, right)
Calcular el producto de puntos de dos vectores
- left
- Primer operand
- right
- Segundo operand
Devuelve: El producto de puntos de las dos entradas
public bool Equals(Vector4 other)
result = vector4.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 = vector4.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 = vector4.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 static Vector4 Lerp(Vector4 a, Vector4 b, double blend)
result = Vector4.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(Vector4 a, Vector4 b, double blend, Vector4 result)
Vector4.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 void Max(Vector4 a, Vector4 b, Vector4 result)
Vector4.Max(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 Vector4 Max(Vector4 a, Vector4 b)
result = Vector4.Max(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 Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(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 Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(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 Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.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(Vector4 vector, double scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Multiplica un vector por un escalar.
- vector
- Operador izquierdo.
- scale
- Buen trabajo.
- result
- Resultado de la operación.
public static Vector4 Multiply(Vector4 vector, Vector4 scale)
result = Vector4.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(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.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 Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)
Escalar un vector a la longitud de la unidad
- vec
- El vector de entrada
Devuelve: El vector normalizado
public static void Normalize(Vector4 vec, Vector4 result)
Vector4.Normalize(vec, result)
Escalar un vector a la longitud de la unidad
- vec
- El vector de entrada
- result
- El vector normalizado
public void NormalizeFast()
vector4.NormalizeFast()
Escala el Vector4d a aproximadamente longitud de unidad.
public static void NormalizeFast(Vector4 vec, Vector4 result)
Vector4.NormalizeFast(vec, result)
Escalar un vector a una longitud de unidad aproximadamente
- vec
- El vector de entrada
- result
- El vector normalizado
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)
Escalar un vector a una longitud de unidad aproximadamente
- vec
- El vector de entrada
Devuelve: El vector normalizado
public static Vector4 op_Addition(Vector4 left, Vector4 right)
result = Vector4.op_Addition(left, right)
Añade dos casos.
- left
- La primera instancia.
- right
- La segunda instancia.
Devuelve: El resultado del cálculo.
public static Vector4 op_Division(Vector4 vec, double scale)
result = Vector4.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(Vector4 left, Vector4 right)
result = Vector4.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_Explicit(Double*) : IntPtr
Devuelve un puntero al primer elemento de la instancia especificada.
- v
- El caso.
Devuelve: Un puntero al primer elemento de v.
op_Explicit(IntPtr) : IntPtr
Devuelve un puntero al primer elemento de la instancia especificada.
- v
- El caso.
Devuelve: Un puntero al primer elemento de v.
public static bool op_Inequality(Vector4 left, Vector4 right)
result = Vector4.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 Vector4 op_Multiply(double scale, Vector4 vec)
result = Vector4.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 Vector4 op_Multiply(Vector4 vec, double scale)
result = Vector4.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 Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)
Substrae dos casos.
- left
- La primera instancia.
- right
- La segunda instancia.
Devuelve: El resultado del cálculo.
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)
Negates an instance.
- vec
- El caso.
Devuelve: El resultado del cálculo.
public static Vector4 Subtract(Vector4 a, Vector4 b)
result = Vector4.Subtract(a, b)
Substraer un vector de otro
- a
- Primer operand
- b
- Segundo operand
Devuelve: Resultado de la resta
public static void Subtract(Vector4 a, Vector4 b, Vector4 result)
Vector4.Subtract(a, b, result)
Substraer un vector de otro
- a
- Primer operand
- b
- Segundo operand
- result
- Resultado de la resta
public string ToString(string format)
result = vector4.ToString(format)
Devuelve a System.String que representa el Vector4d actual, formateando cada elemento con formato.
- format
public override string ToString()
result = vector4.ToString()
Devuelve a System.String@ que representa el Vector4d actual.
public static Vector4 Transform(Vector4 vec, Matrix4X4 mat)
result = Vector4.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 Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.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 Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.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(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.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.
Campos
public static readonly Vector4 One
value = Vector4.One
Define una instancia con todos los componentes fijados a 1.
public static readonly int SizeInBytes
value = Vector4.SizeInBytes
Define el tamaño de la estructura Vector4d en bytes.
public static Vector4 UnitW
value = Vector4.UnitW
Define un vector de longitud unitaria que apunta hacia el eje W.
public static Vector4 UnitX
value = Vector4.UnitX
Define un vector de longitud unitaria que apunta hacia el eje X.
public static Vector4 UnitY
value = Vector4.UnitY
Define un vector de longitud unitaria que apunta hacia el eje Y.
public static Vector4 UnitZ
value = Vector4.UnitZ
Define un vector de longitud unitaria que apunta hacia el eje Z.