Quaternion
Representa um Quaternião de dupla precisão.
Implementa: IEquatable<Quaternion>
Construtores
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
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
public double Length { get; }
value = quaternion.Length
Obtém o comprimento (magnitude) do Quaterniond.
public double LengthSquared { get; }
value = quaternion.LengthSquared
Obtém o quadrado do comprimento quaterniond (magnitude).
public double W { get; set; }
value = quaternion.W
quaternion.W = value
Obtém ou define o componente W desta instância.
public double X { get; set; }
value = quaternion.X
quaternion.X = value
Obtém ou define o componente X desta instância.
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.
public double Y { get; set; }
value = quaternion.Y
quaternion.Y = value
Obtém ou define o componente Y desta instância.
public double Z { get; set; }
value = quaternion.Z
quaternion.Z = value
Obtém ou define o componente Z desta instância.
Métodos
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
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
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
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
public void Conjugate()
quaternion.Conjugate()
Converter este Quaterniond para o seu conjugado
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.
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.
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
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.
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
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
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.
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.
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.
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.
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.
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.
public void Normalize()
quaternion.Normalize()
Escala o Quaterniond para o comprimento unitário.
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
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
public override string ToString()
result = quaternion.ToString()
Devolve um System.String que representa o Quaterniond atual.
Campos
public static readonly Quaternion Identity
value = Quaternion.Identity
Define o quaternião de identidade.