Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Estrutura Quaternion

Estrutura que representa uma rotação em três dimensões.

Namespace:  System.Windows.Media.Media3D
Assembly:  PresentationCore (em PresentationCore.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[SerializableAttribute]
[TypeConverterAttribute(typeof(QuaternionConverter))]
public struct Quaternion : IFormattable
<object property="x,y,z,w"/>
-or-
<object property="x y z w"/>

Valores XAML

x

O X componente esse Quaternion estrutura.

y

O Y componente esse Quaternion estrutura.

z

O Z componente esse Quaternion estrutura.

w

O W componente esse Quaternion estrutura.

O tipo Quaternion expõe os membros a seguir.

  NomeDescrição
Método públicoQuaternion(Vector3D, Double)Inicializa uma nova instância da Quaternion estrutura.
Método públicoQuaternion(Double, Double, Double, Double)Inicializa uma nova instância da Quaternion estrutura.
Superior
  NomeDescrição
Propriedade públicaAngleObtém o ângulo da quaternion, em graus.
Propriedade públicaAxisObtém o eixo do quaternion.
Propriedade públicaMembro estáticoIdentityObtém o quaternion de identidade
Propriedade públicaIsIdentityObtém um valor que indica se o quaternion especificado é um Identity quaternion.
Propriedade públicaIsNormalizedObtém um valor que indica se o quaternion é normalizado.
Propriedade públicaWObtém o componente w do quaternion.
Propriedade públicaXObtém o componente x do quaternion.
Propriedade públicaYObtém o componente de y do quaternion.
Propriedade públicaZObtém o componente de z do quaternion.
Superior
  NomeDescrição
Método públicoMembro estáticoAddAdiciona os quatérnios especificados.
Método públicoConjugateSubstitui um quaternion com seu conjugado.
Método públicoEquals(Object)Compara dois Quaternion instâncias de igualdade. (Substitui ValueType.Equals(Object).)
Método públicoEquals(Quaternion)Compara dois Quaternion instâncias de igualdade.
Método públicoMembro estáticoEquals(Quaternion, Quaternion)Compara dois Quaternion instâncias de igualdade.
Método públicoGetHashCodeRetorna o código hash para o Quaternion. (Substitui ValueType.GetHashCode().)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoInvertSubstitui o quaternion especificado por seu inverso
Método públicoMembro estáticoMultiplyMultiplica o especificado Quaternion valores.
Método públicoNormalizeRetorna um quaternion normalizado.
Método públicoMembro estáticoParseConverte uma representação de seqüência de caracteres de um Quaternion para o equivalente a Quaternion estrutura.
Método públicoMembro estáticoSlerp(Quaternion, Quaternion, Double)Interpolará entre duas orientações usando esférica interpolação linear.
Método públicoMembro estáticoSlerp(Quaternion, Quaternion, Double, Boolean)Faz a interpolação entre orientações, representadas como Quaternion estruturas, usando a interpolação linear esférica.
Método públicoMembro estáticoSubtractSubtrai um Quaternion de outro.
Método públicoToString()Cria uma representação de seqüência de caracteres do objeto. (Substitui ValueType.ToString().)
Método públicoToString(IFormatProvider)Cria uma representação de seqüência de caracteres do objeto.
Superior
  NomeDescrição
Operador públicoMembro estáticoAdditionAdiciona o especificado Quaternion valores.
Operador públicoMembro estáticoEqualityCompara dois Quaternion instâncias de igualdade exata.
Operador públicoMembro estáticoInequalityCompara dois Quaternion instâncias desigualdade exata.
Operador públicoMembro estáticoMultiplyMultiplica o quaternion especificado por outra.
Operador públicoMembro estáticoSubtractionSubtrai um quaternion especificado de outro.
Superior
  NomeDescrição
Implementação explícita da interfaceMétodo particularIFormattable.ToStringEste membro dá suporte a Windows Presentation Foundation (WPF) infra-estrutura e não se destina a ser usado diretamente em seu código. Para obter uma descrição desse membro, consulte ToString.
Superior

Os quatérnios permitem que você interpolar entre transformações de rotação aplicadas a um objeto, tornando mais fácil de computar animações suaves de rotações. Um quaternion representa um eixo de rotação e uma rotação em torno desse eixo. É possível definir individualmente o eixo e ângulo de rotação das posições inicial e final de um objeto girado, mas as posições intermediárias desse objeto durante uma animação são computacionalmente indefinidas. Determinando um quaternion que representa a orientação original de um objeto 3D e um que representa sua orientação de destino, você pode interpolar suavemente entre essas orientações.

No XAML, o delimitador entre os valores de um Quaternion pode ser uma vírgula ou um espaço.

Algumas culturas podem usar o caractere de vírgula como delimitador em vez de um caractere de ponto decimal. XAML de processamento de cultura invariável padrões como en-US, na maioria das implementações de processador XAML e espera que o período como o delimitador de decimal. Você deve evitar usar o caractere de vírgula como delimitador decimal se especificando um Quaternion em XAML, porque o que irá conflitar com a conversão de tipo de seqüência de caracteres de um Quaternion valor de atributo em seus componentes.


<!-- Trigger the rotation animation when the 3D object loads. -->
<Viewport3D.Triggers>
  <EventTrigger RoutedEvent="Viewport3D.Loaded">
    <BeginStoryboard>
      <Storyboard>

        <!-- This animation animates the Rotation property of the RotateTransform3D
             causing the 3D shape to rotate. -->
        <QuaternionAnimation
         Storyboard.TargetName="myQuaternionRotation3D"
         Storyboard.TargetProperty="Quaternion" From="0,0,1,0" To="0.3, 0.3, 1, 0" 
         Duration="0:0:2" />

      </Storyboard>
    </BeginStoryboard>
  </EventTrigger>
</Viewport3D.Triggers>



			'Read new settings
			Try
				Dim WValue As Double = Convert.ToDouble(QuaternionWText.Text)
				Dim XValue As Double = Convert.ToDouble(QuaternionXText.Text)
				Dim YValue As Double = Convert.ToDouble(QuaternionYText.Text)
				Dim ZValue As Double = Convert.ToDouble(QuaternionZText.Text)

				endQuaternion = New Quaternion(XValue, YValue, ZValue, WValue)
			Catch
				MessageBox.Show("Set non-null values for the quaternion.")
			End Try

			myQuaternionRotation3D = New QuaternionRotation3D(endQuaternion)
			myRotateTransform3D.Rotation = myQuaternionRotation3D

			'update matrix display
			qrotationMatrix3D = myRotateTransform3D.Value



//Read new settings
try
{
    Double WValue = System.Convert.ToDouble(QuaternionWText.Text);
    Double XValue = System.Convert.ToDouble(QuaternionXText.Text);
    Double YValue = System.Convert.ToDouble(QuaternionYText.Text);
    Double ZValue = System.Convert.ToDouble(QuaternionZText.Text);

    endQuaternion = new Quaternion(XValue, YValue, ZValue, WValue);
}
catch
{
    MessageBox.Show("Set non-null values for the quaternion.");
}

myQuaternionRotation3D = new QuaternionRotation3D(endQuaternion);
myRotateTransform3D.Rotation = myQuaternionRotation3D;

//update matrix display
qrotationMatrix3D = myRotateTransform3D.Value;


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.