Vector2

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

Representa um vetor 2D usando dois números de ponto flutuante de precisão dupla.

Implementa: IEquatable<Vector2>

Construtores

Vector2
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

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

Obtém o comprimento (magnitude) do vetor.

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

Obtém o quadrado do comprimento do vetor (magnitude).

PerpendicularLeft
public Vector2 PerpendicularLeft { get; }
value = vector2.PerpendicularLeft

Obtém o vetor perpendicular do lado esquerdo deste vetor.

PerpendicularRight
public Vector2 PerpendicularRight { get; }
value = vector2.PerpendicularRight

Obtém o vector perpendicular do lado direito deste vector.

Métodos

Add
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.
Add
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.

BaryCentric
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
BaryCentric
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

Clamp
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
Clamp
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

ComponentMax
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
ComponentMax
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

ComponentMin
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
ComponentMin
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

Cross
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

Divide
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.

Divide
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.
Divide
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.

Divide
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.
Dot
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

Dot
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
Equals
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.

Equals
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.

Equals
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.

GetHashCode
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.

GetNormal
public Vector2 GetNormal()
result = vector2.GetNormal()

Devolve um vetor normalizado disto.

Lerp
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

Lerp
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
Max
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

Max
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
Min
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

Min
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
Multiply
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.
Multiply
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.

Multiply
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.
Multiply
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.

Normalize
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

Normalize
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
Normalize
public void Normalize()
vector2.Normalize()

Escala o Vector2 para o comprimento unitário.

NormalizeFast
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

NormalizeFast
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
op_Addition
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.

op_Division
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.

op_Division
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.

op_Equality
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.

op_Inequality
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.

op_Multiply
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.

op_Multiply
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.

op_Subtraction
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.

op_UnaryNegation
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.

Subtract
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
Subtract
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

ToString
public override string ToString()
result = vector2.ToString()

Devolve um System.String que representa a instância atual.

Transform
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.
Transform
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

One
public static readonly Vector2 One
value = Vector2.One

Define uma instância com todos os componentes definidos como 1.

SizeInBytes
public static readonly int SizeInBytes
value = Vector2.SizeInBytes

Define o tamanho da estrutura Vector2d em bytes.

UnitX
public static Vector2 UnitX
value = Vector2.UnitX

Define um Vector2d de comprimento unitário que aponta para o eixo X.

UnitY
public static Vector2 UnitY
value = Vector2.UnitY

Define um Vector2d de comprimento unitário que aponta para o eixo Y.

x
public double x
value = vector2.x

A coordenada X desta instância.

y
public double y
value = vector2.y

A coordenada Y desta instância.

Zero
public static Vector2 Zero
value = Vector2.Zero

Define um Vector2d de comprimento zero.