Quaternion Quaternion Quaternion Quaternion Struct

Définition

Structure qui représente une rotation en trois dimensions.Structure that represents a rotation in three dimensions.

public value class Quaternion : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.QuaternionConverter))]
[System.Serializable]
public struct Quaternion : IFormattable
type Quaternion = struct
    interface IFormattable
Public Structure Quaternion
Implements IFormattable
Héritage
QuaternionQuaternionQuaternionQuaternion
Attributs
Implémente

Exemples

<!-- 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
{
    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;
'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

Remarques

Quaternions vous permettent d’interpoler entre des transformations de rotation appliquées à un objet, simplifiant ainsi le calcul des animations fluides de rotations.Quaternions allow you to interpolate between rotation transformations applied to an object, thereby making it easier to compute smooth animations of rotations. Un quaternion représente un axe de rotation et une rotation autour de cet axe.A quaternion represents an axis of rotation and a rotation around that axis. Il est possible de définir individuellement l’axe et l’angle de rotation des positions de début et de fin d’un objet pivoté, mais les positions intermédiaires de cet objet pendant une animation sont incertaines.It's possible to individually define the axis and angle of rotation of the starting and ending positions of a rotated object ,but the intermediate positions of that object during an animation are computationally uncertain. En déterminant un quaternion qui représente l’orientation d’origine d’un objet 3D et une autre qui représente son orientation de destination, vous pouvez facilement interpoler entre ces orientations.By determining a quaternion that represents the original orientation of a 3-D object and one that represents its destination orientation, you can smoothly interpolate between those orientations.

Dans XAML, le séparateur entre les valeurs d’un Quaternion peut être une virgule ou un espace.In XAML, the delimiter between the values of a Quaternion can be either a comma or a space.

Certaines cultures peuvent utiliser le caractère virgule comme séparateur décimal au lieu de la virgule.Some cultures might use the comma character as the decimal delimiter instead of the period character. XAML de traitement pour la culture dite indifférente est en-US dans la plupart des implémentations de processeur XAML par défaut et attend le point comme séparateur décimal.XAML processing for invariant culture defaults to en-US in most XAML processor implementations, and expects the period to be the decimal delimiter. Évitez d’utiliser le caractère virgule comme séparateur décimal si vous spécifiez un Quaternion dans XAML, car cela qui entrera en conflit avec la conversion de type chaîne d’un Quaternion valeur d’attribut dans ses composants.You should avoid using the comma character as the decimal delimiter if specifying a Quaternion in XAML, because that will clash with the string type conversion of a Quaternion attribute value into its components.

Utilisation d'attributs XAMLXAML Attribute Usage

<object property="x,y,z,w"/>  
-or-  
<object property="x y z w"/>  

Valeurs XAMLXAML Values

xx
Composant X de cette structure Quaternion.The X component of this Quaternion structure.

yy
Composant Y de cette structure Quaternion.The Y component of this Quaternion structure.

zz
Composant Z de cette structure Quaternion.The Z component of this Quaternion structure.

ww
Composant W de cette structure Quaternion.The W component of this Quaternion structure.

Constructeurs

Quaternion(Vector3D, Double) Quaternion(Vector3D, Double) Quaternion(Vector3D, Double) Quaternion(Vector3D, Double)

Initialise une nouvelle instance de la structure Quaternion.Initializes a new instance of the Quaternion structure.

Quaternion(Double, Double, Double, Double) Quaternion(Double, Double, Double, Double) Quaternion(Double, Double, Double, Double) Quaternion(Double, Double, Double, Double)

Initialise une nouvelle instance de la structure Quaternion.Initializes a new instance of the Quaternion structure.

Propriétés

Angle Angle Angle Angle

Obtient l’angle du quaternion, en degrés.Gets the quaternion's angle, in degrees.

Axis Axis Axis Axis

Obtient l’axe du quaternion.Gets the quaternion's axis.

Identity Identity Identity Identity

Obtient le quaternion Identity.Gets the Identity quaternion

IsIdentity IsIdentity IsIdentity IsIdentity

Obtient une valeur qui indique si le quaternion spécifié est un Identity quaternion.Gets a value that indicates whether the specified quaternion is an Identity quaternion.

IsNormalized IsNormalized IsNormalized IsNormalized

Obtient une valeur qui indique si le quaternion est normalisé.Gets a value that indicates whether the quaternion is normalized.

W W W W

Obtient le composant W du quaternion.Gets the W component of the quaternion.

X X X X

Obtient le composant X du quaternion.Gets the X component of the quaternion.

Y Y Y Y

Obtient le composant Y du quaternion.Gets the Y component of the quaternion.

Z Z Z Z

Obtient le composant Z du quaternion.Gets the Z component of the quaternion.

Méthodes

Add(Quaternion, Quaternion) Add(Quaternion, Quaternion) Add(Quaternion, Quaternion) Add(Quaternion, Quaternion)

Ajoute les quaternions spécifiés.Adds the specified quaternions.

Conjugate() Conjugate() Conjugate() Conjugate()

Remplace un quaternion par son conjugué.Replaces a quaternion with its conjugate.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Compare si deux instances Quaternion sont égales.Compares two Quaternion instances for equality.

Equals(Quaternion) Equals(Quaternion) Equals(Quaternion) Equals(Quaternion)

Compare si deux instances Quaternion sont égales.Compares two Quaternion instances for equality.

Equals(Quaternion, Quaternion) Equals(Quaternion, Quaternion) Equals(Quaternion, Quaternion) Equals(Quaternion, Quaternion)

Compare si deux instances Quaternion sont égales.Compares two Quaternion instances for equality.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Retourne le code de hachage pour la Quaternion.Returns the hash code for the Quaternion.

Invert() Invert() Invert() Invert()

Remplace le quaternion spécifié par son inverseReplaces the specified quaternion with its inverse

Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion)

Multiplie spécifié Quaternion valeurs.Multiplies the specified Quaternion values.

Normalize() Normalize() Normalize() Normalize()

Renvoie un quaternion normalisé.Returns a normalized quaternion.

Parse(String) Parse(String) Parse(String) Parse(String)

Convertit une représentation de chaîne d’un Quaternion dans l’équivalent Quaternion structure.Converts a string representation of a Quaternion into the equivalent Quaternion structure.

Slerp(Quaternion, Quaternion, Double) Slerp(Quaternion, Quaternion, Double) Slerp(Quaternion, Quaternion, Double) Slerp(Quaternion, Quaternion, Double)

Interpole entre deux orientations, en utilisant une interpolation linéaire sphérique.Interpolates between two orientations using spherical linear interpolation.

Slerp(Quaternion, Quaternion, Double, Boolean) Slerp(Quaternion, Quaternion, Double, Boolean) Slerp(Quaternion, Quaternion, Double, Boolean) Slerp(Quaternion, Quaternion, Double, Boolean)

Interpole entre des orientations représentées en tant que Quaternion structures, en utilisant une interpolation linéaire sphérique.Interpolates between orientations, represented as Quaternion structures, using spherical linear interpolation.

Subtract(Quaternion, Quaternion) Subtract(Quaternion, Quaternion) Subtract(Quaternion, Quaternion) Subtract(Quaternion, Quaternion)

Soustrait un Quaternion à partir d’un autre.Subtracts a Quaternion from another.

ToString() ToString() ToString() ToString()

Crée une représentation sous forme de chaîne de l’objet.Creates a string representation of the object.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Crée une représentation sous forme de chaîne de l’objet.Creates a string representation of the object.

Opérateurs

Addition(Quaternion, Quaternion) Addition(Quaternion, Quaternion) Addition(Quaternion, Quaternion) Addition(Quaternion, Quaternion)

Ajoute l’objet Quaternion valeurs.Adds the specified Quaternion values.

Equality(Quaternion, Quaternion) Equality(Quaternion, Quaternion) Equality(Quaternion, Quaternion) Equality(Quaternion, Quaternion)

Compare deux Quaternion instances pour l’égalité exacte.Compares two Quaternion instances for exact equality.

Inequality(Quaternion, Quaternion) Inequality(Quaternion, Quaternion) Inequality(Quaternion, Quaternion) Inequality(Quaternion, Quaternion)

Compare deux Quaternion instances inégalité exacte.Compares two Quaternion instances for exact inequality.

Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion) Multiply(Quaternion, Quaternion)

Multiplie le quaternion spécifié par un autre.Multiplies the specified quaternion by another.

Subtraction(Quaternion, Quaternion) Subtraction(Quaternion, Quaternion) Subtraction(Quaternion, Quaternion) Subtraction(Quaternion, Quaternion)

Soustrait un quaternion spécifié d’un autre.Subtracts a specified quaternion from another.

Implémentations d’interfaces explicites

IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider)

Ce membre prend en charge l’infrastructure Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) et n’est pas destiné à être directement utilisé à partir de votre code.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. Pour obtenir une description de ce membre, consultez ToString(String, IFormatProvider).For a description of this member, see ToString(String, IFormatProvider).

S’applique à