Vector4
Representa um vetor 4D usando quatro números de ponto flutuante de precisão dupla.
Implementa: IEquatable<Vector4>
Construtores
public Vector4(double x, double y, double z, double w)
vector4 = Vector4(x, y, z, w)
Construi um novo Vector4d.
- x
- O componente x do Vector4d.
- y
- O componente y do Vector4d.
- z
- O componente z do Vector4d.
- w
- O componente w do Vector4d.
public Vector4(Vector2 v)
vector4 = Vector4(v)
Construi um novo Vector4d a partir do Vector2d indicado.
- v
- O Vector2d para copiar componentes de.
public Vector4(Vector3 v)
vector4 = Vector4(v)
Construi um novo Vector4d a partir do Vector3d indicado.
- v
- O Vector3d para copiar componentes de.
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)
Construi um novo Vector4d a partir do componente especificado Vector3d e w.
- v
- O Vector3d para copiar componentes de.
- w
- O componente w do novo Vector4.
public Vector4(Vector4 v)
vector4 = Vector4(v)
Construi um novo Vector4d a partir do Vector4d indicado.
- v
- O Vector4d para copiar componentes.
Propriedades
public double Length { get; }
value = vector4.Length
Obtém o comprimento (magnitude) do vetor.
public double LengthFast { get; }
value = vector4.LengthFast
Obtém uma aproximação do comprimento do vetor (magnitude).
public double LengthSquared { get; }
value = vector4.LengthSquared
Obtém o quadrado do comprimento do vetor (magnitude).
public Vector2 Xy { get; set; }
value = vector4.Xy
vector4.Xy = value
Obtém ou define um OpenTK.Vector2d com os componentes X e Y desta instância.
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value
Obtém ou define um OpenTK.Vector3d com os componentes X, Y e Z desta instância.
Métodos
public static void Add(Vector4 a, Vector4 b, Vector4 result)
Vector4.Add(a, b, result)
Adiciona dois vectores.
- a
- Operário esquerdo.
- b
- Operário à direita.
- result
- Resultado da operação.
public static Vector4 Add(Vector4 a, Vector4 b)
result = Vector4.Add(a, b)
Adiciona dois vectores.
- a
- Operário esquerdo.
- b
- Operário à direita.
Retorna: Resultado da operação.
public static void BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v, Vector4 result)
Vector4.BaryCentric(a, b, c, u, v, result)
Interpolar 3 Vetores usando coordenadas Barycentric
- a
- Primeira entrada Vector.
- b
- Vetor de segunda entrada.
- c
- Vetor de terceira entrada.
- u
- Primeira coordenada Barycêntrica.
- v
- Segunda Coordenadas Barycêntricas.
- result
- Vetor de Saída. a quando u=v=0, b quando u=1,v=0, c quando u=0,v=1, e uma combinação linear de a,b,c caso contrário
public static Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v)
result = Vector4.BaryCentric(a, b, c, u, v)
Interpolar 3 Vetores usando coordenadas Barycentric
- a
- Vetor de primeira entrada
- b
- Vetor de segunda entrada
- c
- Vetor de terceira entrada
- u
- Primeira Coordenadas Barycêntricas
- v
- Segunda Coordenadas Barycêntricas
Retorna: a quando u=v=0, b quando u=1,v=0, c quando u=0,v=1, e uma combinação linear de a,b,c caso contrário
public static void Clamp(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.Clamp(vec, min, max, result)
Grampear um vector para os vectores mínimos e máximos indicados
- vec
- Vetor de entrada
- min
- Vetor mínimo
- max
- Vetor máximo
- result
- O vetor pinçado
public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
result = Vector4.Clamp(vec, min, max)
Grampear um vector para os vectores mínimos e máximos indicados
- vec
- Vetor de entrada
- min
- Vetor mínimo
- max
- Vetor máximo
Retorna: O vetor pinçado
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)
Dividi um vector por um escalar.
- vector
- Operário esquerdo.
- scale
- Operário à direita.
Retorna: Resultado da operação.
public static void Divide(Vector4 vector, double scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Dividi um vector por um escalar.
- vector
- Operário esquerdo.
- scale
- Operário à direita.
- result
- Resultado da operação.
public static Vector4 Divide(Vector4 vector, Vector4 scale)
result = Vector4.Divide(vector, scale)
Dividi um vetor pelos componentes de um vetor (escala).
- vector
- Operário esquerdo.
- scale
- Operário à direita.
Retorna: Resultado da operação.
public static void Divide(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Dividir um vetor pelos componentes de um vetor (escala).
- vector
- Operário esquerdo.
- scale
- Operário à direita.
- result
- Resultado da operação.
public static void Dot(Vector4 left, Vector4 right, double result)
Vector4.Dot(left, right, result)
Calcular o produto do ponto de dois vetores
- left
- Primeiro operando
- right
- Segundo operando
- result
- O produto ponto dos dois inputs
public static double Dot(Vector4 left, Vector4 right)
result = Vector4.Dot(left, right)
Calcular o produto do ponto de dois vetores
- left
- Primeiro operando
- right
- Segundo operando
Retorna: O produto ponto dos dois inputs
public bool Equals(Vector4 other)
result = vector4.Equals(other)
Indica se o vetor atual é igual a outro vetor.
- other
- Um vetor para comparar com este vetor.
Retorna: true se o vetor atual é igual ao parâmetro vetor; caso contrário, false.
public override bool Equals(object obj)
result = vector4.Equals(obj)
Indica se esta instância e um objeto especificado são iguais.
- obj
- O objeto a comparar.
Retorna: Verdadeiro se as instâncias são iguais; falso caso contrário.
public override int GetHashCode()
result = vector4.GetHashCode()
Devolve o hashcode para este exemplo.
Retorna: Um System.Int32 contendo o hashcode único para esta instância.
public static Vector4 Lerp(Vector4 a, Vector4 b, double blend)
result = Vector4.Lerp(a, b, blend)
Retorna um novo Vector que é a mistura linear dos 2 Vetores dados
- a
- Primeiro vetor de entrada
- b
- Segundo vetor de entrada
- blend
- O fator de mistura. a quando a mistura=0, b quando a mistura=1.
Retorna: a quando a mistura=0, b quando a mistura=1, e uma combinação linear caso contrário
public static void Lerp(Vector4 a, Vector4 b, double blend, Vector4 result)
Vector4.Lerp(a, b, blend, result)
Retorna um novo Vector que é a mistura linear dos 2 Vetores dados
- a
- Primeiro vetor de entrada
- b
- Segundo vetor de entrada
- blend
- O fator de mistura. a quando a mistura=0, b quando a mistura=1.
- result
- a quando a mistura=0, b quando a mistura=1, e uma combinação linear caso contrário
public static void Max(Vector4 a, Vector4 b, Vector4 result)
Vector4.Max(a, b, result)
Calcular o máximo de dois vectores em relação ao componente
- a
- Primeiro operando
- b
- Segundo operando
- result
- O máximo do componente
public static Vector4 Max(Vector4 a, Vector4 b)
result = Vector4.Max(a, b)
Calcular o máximo de dois vectores em relação ao componente
- a
- Primeiro operando
- b
- Segundo operando
Retorna: O máximo do componente
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)
Calcular o mínimo de dois vectores em relação ao componente
- a
- Primeiro operando
- b
- Segundo operando
Retorna: O mínimo do componente
public static void Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(a, b, result)
Calcular o mínimo de dois vectores em relação ao componente
- a
- Primeiro operando
- b
- Segundo operando
- result
- O mínimo do componente
public static Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.Multiply(vector, scale)
Multiplica um vector por um escalar.
- vector
- Operário esquerdo.
- scale
- Operário à direita.
Retorna: Resultado da operação.
public static void Multiply(Vector4 vector, double scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Multiplica um vector por um escalar.
- vector
- Operário esquerdo.
- scale
- Operário à direita.
- result
- Resultado da operação.
public static Vector4 Multiply(Vector4 vector, Vector4 scale)
result = Vector4.Multiply(vector, scale)
Multiplica um vetor pelos componentes um vetor (escala).
- vector
- Operário esquerdo.
- scale
- Operário à direita.
Retorna: Resultado da operação.
public static void Multiply(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Multiplica um vetor pelos componentes de um vetor (escala).
- vector
- Operário esquerdo.
- scale
- Operário à direita.
- result
- Resultado da operação.
public static Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)
Escalar um vetor para o comprimento unitário
- vec
- O vetor de entrada
Retorna: O vetor normalizado
public void Normalize()
vector4.Normalize()
Escala o Vector4d para o comprimento unitário.
public static void Normalize(Vector4 vec, Vector4 result)
Vector4.Normalize(vec, result)
Escalar um vetor para o comprimento unitário
- vec
- O vetor de entrada
- result
- O vetor normalizado
public void NormalizeFast()
vector4.NormalizeFast()
Escala o Vector4d para aproximadamente o comprimento da unidade.
public static void NormalizeFast(Vector4 vec, Vector4 result)
Vector4.NormalizeFast(vec, result)
Escalar um vector para aproximadamente o comprimento unitário
- vec
- O vetor de entrada
- result
- O vetor normalizado
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)
Escalar um vector para aproximadamente o comprimento unitário
- vec
- O vetor de entrada
Retorna: O vetor normalizado
public static Vector4 op_Addition(Vector4 left, Vector4 right)
result = Vector4.op_Addition(left, right)
Adiciona duas instâncias.
- left
- A primeira instância.
- right
- A segunda instância.
Retorna: Resultado do cálculo.
public static Vector4 op_Division(Vector4 vec, double scale)
result = Vector4.op_Division(vec, scale)
Dividi uma instância por um escalar.
- vec
- A instância.
- scale
- O escalar.
Retorna: Resultado do cálculo.
public static bool op_Equality(Vector4 left, Vector4 right)
result = Vector4.op_Equality(left, right)
Compara duas instâncias para igualdade.
- left
- A primeira instância.
- right
- A segunda instância.
Retorna: Verdade, se a esquerda é igual à direita; falsa de outra forma.
op_Explicit(Double*) : IntPtr
Retorna um ponteiro ao primeiro elemento da instância especificada.
- v
- A instância.
Retorna: Um ponteiro para o primeiro elemento de v.
op_Explicit(IntPtr) : IntPtr
Retorna um ponteiro ao primeiro elemento da instância especificada.
- v
- A instância.
Retorna: Um ponteiro para o primeiro elemento de v.
public static bool op_Inequality(Vector4 left, Vector4 right)
result = Vector4.op_Inequality(left, right)
Compara duas instâncias para a desigualdade.
- left
- A primeira instância.
- right
- A segunda instância.
Retorna: É verdade que se a esquerda não estiver à direita, não estará errada.
public static Vector4 op_Multiply(double scale, Vector4 vec)
result = Vector4.op_Multiply(scale, vec)
Multiplica uma instância por um escalar.
- scale
- O escalar.
- vec
- A instância.
Retorna: Resultado do cálculo.
public static Vector4 op_Multiply(Vector4 vec, double scale)
result = Vector4.op_Multiply(vec, scale)
Multiplica uma instância por um escalar.
- vec
- A instância.
- scale
- O escalar.
Retorna: Resultado do cálculo.
public static Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)
Subtrai duas instâncias.
- left
- A primeira instância.
- right
- A segunda instância.
Retorna: Resultado do cálculo.
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)
Nega um caso.
- vec
- A instância.
Retorna: Resultado do cálculo.
public static Vector4 Subtract(Vector4 a, Vector4 b)
result = Vector4.Subtract(a, b)
Subtrair um Vector de outro
- a
- Primeiro operando
- b
- Segundo operando
Retorna: Resultado da subtração
public static void Subtract(Vector4 a, Vector4 b, Vector4 result)
Vector4.Subtract(a, b, result)
Subtrair um Vector de outro
- a
- Primeiro operando
- b
- Segundo operando
- result
- Resultado da subtração
public string ToString(string format)
result = vector4.ToString(format)
Retorna um System.String que representa o Vector4d atual, formatando cada elemento com formato.
- format
public override string ToString()
result = vector4.ToString()
Devolve um System.String que representa o Vector4d atual.
public static Vector4 Transform(Vector4 vec, Matrix4X4 mat)
result = Vector4.Transform(vec, mat)
Transformar um vetor pela matriz dada
- vec
- O vetor a transformar
- mat
- A transformação desejada
Retorna: O vetor transformado
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)
Transformar um vetor pela matriz dada
- vec
- O vetor a transformar
- mat
- A transformação desejada
- result
- O vetor transformado
public static Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.Transform(vec, quat)
Transforma um vector por uma rotação de quaternião.
- vec
- O vector a transformar.
- quat
- O quaternião para rodar o vetor.
Retorna: O resultado da operação.
public static void Transform(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.Transform(vec, quat, result)
Transforma um vector por uma rotação de quaternião.
- vec
- O vector a transformar.
- quat
- O quaternião para rodar o vetor.
- result
- O resultado da operação.
Campos
public static readonly Vector4 One
value = Vector4.One
Define uma instância com todos os componentes definidos como 1.
public static readonly int SizeInBytes
value = Vector4.SizeInBytes
Define o tamanho da estrutura Vector4d em bytes.
public static Vector4 UnitW
value = Vector4.UnitW
Define um Vector4d de comprimento unitário que aponta para o eixo W.
public static Vector4 UnitX
value = Vector4.UnitX
Define um Vector4d de comprimento unitário que aponta para o eixo X.
public static Vector4 UnitY
value = Vector4.UnitY
Define um Vector4d de comprimento unitário que aponta para o eixo Y.
public static Vector4 UnitZ
value = Vector4.UnitZ
Define um Vector4d de comprimento unitário que aponta para o eixo Z.