Quaternion

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

Representa um Quaternião de dupla precisão.

Implementa: IEquatable<Quaternion>

Construtores

Quaternion
public Quaternion(Vector3 v, double w)
quaternion = Quaternion(v, w)

Construir um novo Quaterniond a partir de componentes vectores e w

v
A parte vetorial
w
A parte w
Quaternion
public Quaternion(double x, double y, double z, double w)
quaternion = Quaternion(x, y, z, w)

Construir um novo Quaterniond

x
O componente x
y
O componente y
z
O componente z
w
O componente w

Propriedades

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

Obtém o comprimento (magnitude) do Quaterniond.

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

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

W
public double W { get; set; }
value = quaternion.W
quaternion.W = value

Obtém ou define o componente W desta instância.

X
public double X { get; set; }
value = quaternion.X
quaternion.X = value

Obtém ou define o componente X desta instância.

Xyz
public Vector3 Xyz { get; set; }
value = quaternion.Xyz
quaternion.Xyz = value

Obtém ou define um OpenTK.Vector3d com os componentes X, Y e Z desta instância.

Y
public double Y { get; set; }
value = quaternion.Y
quaternion.Y = value

Obtém ou define o componente Y desta instância.

Z
public double Z { get; set; }
value = quaternion.Z
quaternion.Z = value

Obtém ou define o componente Z desta instância.

Métodos

Add
public static void Add(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Add(left, right, result)

Adicionar dois quaterniões

left
O primeiro operando
right
O segundo operando
result
O resultado da adição
Add
public static Quaternion Add(Quaternion left, Quaternion right)
result = Quaternion.Add(left, right)

Adicionar dois quaterniões

left
O primeiro operando
right
O segundo operando

Retorna: O resultado da adição

Conjugate
public static void Conjugate(Quaternion q, Quaternion result)
Quaternion.Conjugate(q, result)

Obter o conjugado do Quaterniond dado

q
O Quaternião
result
O conjugado do Quaterniond dado
Conjugate
public static Quaternion Conjugate(Quaternion q)
result = Quaternion.Conjugate(q)

Obter o conjugado do Quaterniond dado

q
O Quaternião

Retorna: O conjugado do Quaterniond dado

Conjugate
public void Conjugate()
quaternion.Conjugate()

Converter este Quaterniond para o seu conjugado

Equals
public bool Equals(Quaternion other)
result = quaternion.Equals(other)

Compara esta instância Quaterniond com outra Quaterniond para igualdade.

other
O outro Quaterniond a ser usado na comparação.

Retorna: Verdadeiro se ambos os casos são iguais; falso caso contrário.

Equals
public override bool Equals(object other)
result = quaternion.Equals(other)

Compara esta instância de objeto com outro objeto para igualdade.

other
O outro objeto a ser usado na comparação.

Retorna: Verdadeiro se ambos os objetos forem Quaterniões de igual valor. Caso contrário, ele retorna falso.

FromAxisAngle
public static Quaternion FromAxisAngle(Vector3 axis, double angle)
result = Quaternion.FromAxisAngle(axis, angle)

Construir um Quaterniond a partir do eixo e ângulo indicados

axis
O eixo a rodar
angle
O ângulo de rotação em radianos
GetHashCode
public override int GetHashCode()
result = quaternion.GetHashCode()

Fornece o código de hash para este objeto.

Retorna: Um código de hash formado a partir do XOR bitwise destes membros de objetos.

Invert
public static void Invert(Quaternion q, Quaternion result)
Quaternion.Invert(q, result)

Obter o inverso do Quaterniond dado

q
O Quaterniond para inverter
result
O inverso do dado Quaterniond
Invert
public static Quaternion Invert(Quaternion q)
result = Quaternion.Invert(q)

Obter o inverso do Quaterniond dado

q
O Quaterniond para inverter

Retorna: O inverso do dado Quaterniond

Mult
public static void Mult(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Mult(left, right, result)

Multiplica duas instâncias.

left
A primeira instância.
right
A segunda instância.
result
Uma nova instância contendo o resultado do cálculo.
Mult
public static Quaternion Mult(Quaternion left, Quaternion right)
result = Quaternion.Mult(left, right)

Multiplica duas instâncias.

left
A primeira instância.
right
A segunda instância.

Retorna: Uma nova instância contendo o resultado do cálculo.

Multiply
public static void Multiply(Quaternion quaternion, double scale, Quaternion result)
Quaternion.Multiply(quaternion, scale, result)

Multiplica uma instância por um escalar.

quaternion
A instância.
scale
O escalar.
result
Uma nova instância contendo o resultado do cálculo.
Multiply
public static Quaternion Multiply(Quaternion quaternion, double scale)
result = Quaternion.Multiply(quaternion, scale)

Multiplica uma instância por um escalar.

quaternion
A instância.
scale
O escalar.

Retorna: Uma nova instância contendo o resultado do cálculo.

Multiply
public static Quaternion Multiply(Quaternion left, Quaternion right)
result = Quaternion.Multiply(left, right)

Multiplica duas instâncias.

left
A primeira instância.
right
A segunda instância.

Retorna: Uma nova instância contendo o resultado do cálculo.

Multiply
public static void Multiply(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Multiply(left, right, result)

Multiplica duas instâncias.

left
A primeira instância.
right
A segunda instância.
result
Uma nova instância contendo o resultado do cálculo.
Normalize
public void Normalize()
quaternion.Normalize()

Escala o Quaterniond para o comprimento unitário.

Normalize
public static Quaternion Normalize(Quaternion q)
result = Quaternion.Normalize(q)

Escalar o Quaterniond dado para o comprimento unitário

q
O Quaterniond para normalizar

Retorna: O Quaterniond normalizado

Normalize
public static void Normalize(Quaternion q, Quaternion result)
Quaternion.Normalize(q, result)

Escalar o Quaterniond dado para o comprimento unitário

q
O Quaterniond para normalizar
result
O Quaterniond normalizado
op_Addition
public static Quaternion op_Addition(Quaternion left, Quaternion right)
result = Quaternion.op_Addition(left, right)

Adiciona duas instâncias.

left
A primeira instância.
right
A segunda instância.

Retorna: Resultado do cálculo.

op_Equality
public static bool op_Equality(Quaternion left, Quaternion right)
result = Quaternion.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_Inequality
public static bool op_Inequality(Quaternion left, Quaternion right)
result = Quaternion.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 é igual à direita; falsa de outra forma.

op_Multiply
public static Quaternion op_Multiply(double scale, Quaternion quaternion)
result = Quaternion.op_Multiply(scale, quaternion)

Multiplica uma instância por um escalar.

quaternion
A instância.
scale
O escalar.

Retorna: Uma nova instância contendo o resultado do cálculo.

op_Multiply
public static Quaternion op_Multiply(Quaternion quaternion, double scale)
result = Quaternion.op_Multiply(quaternion, scale)

Multiplica uma instância por um escalar.

quaternion
A instância.
scale
O escalar.

Retorna: Uma nova instância contendo o resultado do cálculo.

op_Multiply
public static Quaternion op_Multiply(Quaternion left, Quaternion right)
result = Quaternion.op_Multiply(left, right)

Multiplica duas instâncias.

left
A primeira instância.
right
A segunda instância.

Retorna: Resultado do cálculo.

op_Subtraction
public static Quaternion op_Subtraction(Quaternion left, Quaternion right)
result = Quaternion.op_Subtraction(left, right)

Subtrai duas instâncias.

left
A primeira instância.
right
A segunda instância.

Retorna: Resultado do cálculo.

Slerp
public static Quaternion Slerp(Quaternion q1, Quaternion q2, double blend)
result = Quaternion.Slerp(q1, q2, blend)

Fazer interpolação linear esférica entre dois quaterniões

q1
O primeiro Quaterniond
q2
O segundo Quaterniond
blend
O factor de mistura

Retorna: Uma mistura suave entre os quaterniões indicados

Sub
public static void Sub(Quaternion left, Quaternion right, Quaternion result)
Quaternion.Sub(left, right, result)

Subtrai duas instâncias.

left
O caso da esquerda.
right
O caso certo.
result
O resultado da operação.
Sub
public static Quaternion Sub(Quaternion left, Quaternion right)
result = Quaternion.Sub(left, right)

Subtrai duas instâncias.

left
O caso da esquerda.
right
O caso certo.

Retorna: O resultado da operação.

ToAxisAngle
public void ToAxisAngle(Vector3 axis, double angle)
quaternion.ToAxisAngle(axis, angle)

Converter o quaternião atual para representação do ângulo do eixo

axis
O eixo resultante
angle
O ângulo resultante
ToAxisAngle
public Vector4 ToAxisAngle()
result = quaternion.ToAxisAngle()

Converta esta instância para uma representação em ângulo de eixo.

Retorna: Um Vector4 que é a representação do eixo-ângulo deste quaternião.

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

Devolve um System.String que representa o Quaterniond atual.

Campos

Identity
public static readonly Quaternion Identity
value = Quaternion.Identity

Define o quaternião de identidade.