Vector2
Representa um vetor 2D usando dois números de ponto flutuante de precisão dupla.
Implementa: IEquatable<Vector2>
Construtores
public Vector2(double x, double y)
vector2 = Vector2(x, y)
Construi o vector esquerdo com as coordenadas indicadas.
- x
- A coordenada X.
- y
- A coordenada Y.
Propriedades
public double Length { get; }
value = vector2.Length
Obtém o comprimento (magnitude) do vetor.
public double LengthSquared { get; }
value = vector2.LengthSquared
Obtém o quadrado do comprimento do vetor (magnitude).
public Vector2 PerpendicularLeft { get; }
value = vector2.PerpendicularLeft
Obtém o vetor perpendicular do lado esquerdo deste vetor.
public Vector2 PerpendicularRight { get; }
value = vector2.PerpendicularRight
Obtém o vector perpendicular do lado direito deste vector.
Métodos
public static void Add(Vector2 a, Vector2 b, Vector2 result)
Vector2.Add(a, b, result)
Adiciona dois vectores.
- a
- Operário esquerdo.
- b
- Operário à direita.
- result
- Resultado da operação.
public static Vector2 Add(Vector2 a, Vector2 b)
result = Vector2.Add(a, b)
Adiciona dois vectores.
- a
- Operário esquerdo.
- b
- Operário à direita.
Retorna: Resultado da operação.
public static void BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v, Vector2 result)
Vector2.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 Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, double u, double v)
result = Vector2.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(Vector2 vec, Vector2 min, Vector2 max, Vector2 result)
Vector2.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 Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max)
result = Vector2.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 void ComponentMax(Vector2 a, Vector2 b, Vector2 result)
Vector2.ComponentMax(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 Vector2 ComponentMax(Vector2 a, Vector2 b)
result = Vector2.ComponentMax(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 void ComponentMin(Vector2 a, Vector2 b, Vector2 result)
Vector2.ComponentMin(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 Vector2 ComponentMin(Vector2 a, Vector2 b)
result = Vector2.ComponentMin(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 double Cross(Vector2 left, Vector2 right)
result = Vector2.Cross(left, right)
Calcular o produto cruzado de dois vectores
- left
- Primeiro operando
- right
- Segundo operando
Retorna: O produto cruzado dos dois inputs
public static Vector2 Divide(Vector2 vector, Vector2 scale)
result = Vector2.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(Vector2 vector, Vector2 scale, Vector2 result)
Vector2.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 Vector2 Divide(Vector2 vector, double scale)
result = Vector2.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(Vector2 vector, double scale, Vector2 result)
Vector2.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 double Dot(Vector2 left, Vector2 right)
result = Vector2.Dot(left, right)
Calcular o produto do ponto (escalar) de dois vectores
- left
- Primeiro operando
- right
- Segundo operando
Retorna: O produto ponto dos dois inputs
public static void Dot(Vector2 left, Vector2 right, double result)
Vector2.Dot(left, right, result)
Calcular o produto do ponto (escalar) de dois vectores
- left
- Primeiro operando
- right
- Segundo operando
- result
- O produto ponto dos dois inputs
public override bool Equals(object obj)
result = vector2.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 bool Equals(Vector2 other)
result = vector2.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 bool Equals(Vector2 other, double errorRange)
result = vector2.Equals(other, errorRange)
Indica se o vetor atual é igual a outro vetor.
- other
- Um vetor para comparar com este vetor.
- errorRange
Retorna: true se o vetor atual é igual ao parâmetro vetor; caso contrário, false.
public override int GetHashCode()
result = vector2.GetHashCode()
Devolve o hashcode para este exemplo.
Retorna: Um System.Int32 contendo o hashcode único para esta instância.
public Vector2 GetNormal()
result = vector2.GetNormal()
Devolve um vetor normalizado disto.
public static Vector2 Lerp(Vector2 a, Vector2 b, double blend)
result = Vector2.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(Vector2 a, Vector2 b, double blend, Vector2 result)
Vector2.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 Vector2 Max(Vector2 a, Vector2 b)
result = Vector2.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 void Max(Vector2 a, Vector2 b, Vector2 result)
Vector2.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 Vector2 Min(Vector2 a, Vector2 b)
result = Vector2.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(Vector2 a, Vector2 b, Vector2 result)
Vector2.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 void Multiply(Vector2 vector, double scale, Vector2 result)
Vector2.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 Vector2 Multiply(Vector2 vector, Vector2 scale)
result = Vector2.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(Vector2 vector, Vector2 scale, Vector2 result)
Vector2.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 Vector2 Multiply(Vector2 vector, double scale)
result = Vector2.Multiply(vector, scale)
Multiplica um vector por um escalar.
- vector
- Operário esquerdo.
- scale
- Operário à direita.
Retorna: Resultado da operação.
public static Vector2 Normalize(Vector2 vec)
result = Vector2.Normalize(vec)
Escalar um vetor para o comprimento unitário
- vec
- O vetor de entrada
Retorna: O vetor normalizado
public static void Normalize(Vector2 vec, Vector2 result)
Vector2.Normalize(vec, result)
Escalar um vetor para o comprimento unitário
- vec
- O vetor de entrada
- result
- O vetor normalizado
public static Vector2 NormalizeFast(Vector2 vec)
result = Vector2.NormalizeFast(vec)
Escalar um vector para aproximadamente o comprimento unitário
- vec
- O vetor de entrada
Retorna: O vetor normalizado
public static void NormalizeFast(Vector2 vec, Vector2 result)
Vector2.NormalizeFast(vec, result)
Escalar um vector para aproximadamente o comprimento unitário
- vec
- O vetor de entrada
- result
- O vetor normalizado
public static Vector2 op_Addition(Vector2 left, Vector2 right)
result = Vector2.op_Addition(left, right)
Adiciona duas instâncias.
- left
- O caso da esquerda.
- right
- O caso certo.
Retorna: O resultado da operação.
public static Vector2 op_Division(double f, Vector2 vec)
result = Vector2.op_Division(f, vec)
Dividi um escalonador por componentes de instância sábios.
- vec
- O escalar.
- f
- A instância.
Retorna: O resultado da operação.
public static Vector2 op_Division(Vector2 vec, double f)
result = Vector2.op_Division(vec, f)
Dividi uma instância por um escalar.
- vec
- A instância.
- f
- O escalar.
Retorna: O resultado da operação.
public static bool op_Equality(Vector2 left, Vector2 right)
result = Vector2.op_Equality(left, right)
Compara duas instâncias para igualdade.
- left
- O caso da esquerda.
- right
- O caso certo.
Retorna: É verdade, se ambos os casos forem iguais; falso caso contrário.
public static bool op_Inequality(Vector2 left, Vector2 right)
result = Vector2.op_Inequality(left, right)
Compara duas instâncias para a qualidade.
- left
- O caso da esquerda.
- right
- O caso certo.
Retorna: É verdade, se as instâncias não são iguais; falso caso contrário.
public static Vector2 op_Multiply(double f, Vector2 vec)
result = Vector2.op_Multiply(f, vec)
Multiplique uma instância por um escalar.
- f
- O escalar.
- vec
- A instância.
Retorna: O resultado da operação.
public static Vector2 op_Multiply(Vector2 vec, double f)
result = Vector2.op_Multiply(vec, f)
Multiplica uma instância por um escalar.
- vec
- A instância.
- f
- O escalar.
Retorna: O resultado da operação.
public static Vector2 op_Subtraction(Vector2 left, Vector2 right)
result = Vector2.op_Subtraction(left, right)
Subtrai duas instâncias.
- left
- O caso da esquerda.
- right
- O caso certo.
Retorna: O resultado da operação.
public static Vector2 op_UnaryNegation(Vector2 vec)
result = Vector2.op_UnaryNegation(vec)
Nega um caso.
- vec
- A instância.
Retorna: O resultado da operação.
public static void Subtract(Vector2 a, Vector2 b, Vector2 result)
Vector2.Subtract(a, b, result)
Subtrair um Vector de outro
- a
- Primeiro operando
- b
- Segundo operando
- result
- Resultado da subtração
public static Vector2 Subtract(Vector2 a, Vector2 b)
result = Vector2.Subtract(a, b)
Subtrair um Vector de outro
- a
- Primeiro operando
- b
- Segundo operando
Retorna: Resultado da subtração
public override string ToString()
result = vector2.ToString()
Devolve um System.String que representa a instância atual.
public static void Transform(Vector2 vec, Quaternion quat, Vector2 result)
Vector2.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.
public static Vector2 Transform(Vector2 vec, Quaternion quat)
result = Vector2.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.
Campos
public static readonly Vector2 One
value = Vector2.One
Define uma instância com todos os componentes definidos como 1.
public static readonly int SizeInBytes
value = Vector2.SizeInBytes
Define o tamanho da estrutura Vector2d em bytes.
public static Vector2 UnitX
value = Vector2.UnitX
Define um Vector2d de comprimento unitário que aponta para o eixo X.
public static Vector2 UnitY
value = Vector2.UnitY
Define um Vector2d de comprimento unitário que aponta para o eixo Y.