Vector4

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

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

Implementa: IEquatable<Vector4>

Construtores

Vector4
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.
Vector4
public Vector4(Vector2 v)
vector4 = Vector4(v)

Construi um novo Vector4d a partir do Vector2d indicado.

v
O Vector2d para copiar componentes de.
Vector4
public Vector4(Vector3 v)
vector4 = Vector4(v)

Construi um novo Vector4d a partir do Vector3d indicado.

v
O Vector3d para copiar componentes de.
Vector4
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.
Vector4
public Vector4(Vector4 v)
vector4 = Vector4(v)

Construi um novo Vector4d a partir do Vector4d indicado.

v
O Vector4d para copiar componentes.

Propriedades

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

Obtém o comprimento (magnitude) do vetor.

LengthFast
public double LengthFast { get; }
value = vector4.LengthFast

Obtém uma aproximação do comprimento do vetor (magnitude).

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

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

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

Xyz
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

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

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

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

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

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

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

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

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

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

Lerp
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

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

Min
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

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

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

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

Normalize
public void Normalize()
vector4.Normalize()

Escala o Vector4d para o comprimento unitário.

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

Escala o Vector4d para aproximadamente o comprimento da unidade.

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

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

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

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

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

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

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

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

op_UnaryNegation
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)

Nega um caso.

vec
A instância.

Retorna: Resultado do cálculo.

Subtract
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

Subtract
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
ToString
public string ToString(string format)
result = vector4.ToString(format)

Retorna um System.String que representa o Vector4d atual, formatando cada elemento com formato.

format
ToString
public override string ToString()
result = vector4.ToString()

Devolve um System.String que representa o Vector4d atual.

Transform
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

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

Transform
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

One
public static readonly Vector4 One
value = Vector4.One

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

SizeInBytes
public static readonly int SizeInBytes
value = Vector4.SizeInBytes

Define o tamanho da estrutura Vector4d em bytes.

UnitW
public static Vector4 UnitW
value = Vector4.UnitW

Define um Vector4d de comprimento unitário que aponta para o eixo W.

UnitX
public static Vector4 UnitX
value = Vector4.UnitX

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

UnitY
public static Vector4 UnitY
value = Vector4.UnitY

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

UnitZ
public static Vector4 UnitZ
value = Vector4.UnitZ

Define um Vector4d de comprimento unitário que aponta para o eixo Z.

w
public double w
value = vector4.w

O componente W do Vector4d.

x
public double x
value = vector4.x

O componente X do Vector4d.

y
public double y
value = vector4.y

O componente Y do Vector4d.

z
public double z
value = vector4.z

O componente Z do Vector4d.

Zero
public static Vector4 Zero
value = Vector4.Zero

Define um Vector4d de comprimento zero.