Quaternion Quaternion Quaternion Quaternion Struct

Definition

-Struktur, die eine Drehung in drei Dimensionen darstellt.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
Vererbung
QuaternionQuaternionQuaternionQuaternion
Attribute
Implementiert

Beispiele

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

Hinweise

Quaternionen können Sie zwischen angewendet werden, auf ein Objekt, und erleichtert Ihnen die zum Berechnen der flüssige Animationen Rotation zu interpolieren.Quaternions allow you to interpolate between rotation transformations applied to an object, thereby making it easier to compute smooth animations of rotations. Eine Quaternion stellt eine Achse der Drehung und eine Rotation um diese Achse dar.A quaternion represents an axis of rotation and a rotation around that axis. Es ist möglich, das die Achse und der Winkel der Drehung der Anfangs- und Endposition Positionen eines gedreht Objekts einzeln zu definieren, aber die Zwischenpositionen des betreffenden Objekts während einer Animation rechnerisch nicht sicher sind.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. Durch bestimmen eine Quaternion, die die ursprüngliche Ausrichtung eines 3D-Objekts und eines für die Ziel-Ausrichtung darstellt, können Sie problemlos zwischen diesen Ausrichtungen interpoliert.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.

In XAML, das Trennzeichen zwischen den Werten einer Quaternion kann entweder ein Komma oder ein Leerzeichen sein.In XAML, the delimiter between the values of a Quaternion can be either a comma or a space.

Einige Kulturen möglicherweise das Komma als Dezimaltrennzeichen anstatt das Punktzeichen verwenden.Some cultures might use the comma character as the decimal delimiter instead of the period character. XAML-Verarbeitung für die invariante Kultur En-US, bei den meisten Implementierungen von XAML-Prozessor standardmäßig, und das Intervall dem dezimalen Trennzeichen erwartet.XAML processing for invariant culture defaults to en-US in most XAML processor implementations, and expects the period to be the decimal delimiter. Vermeiden Sie das Komma als Dezimaltrennzeichen verwenden, wenn angeben einer Quaternion in XAML, da, die mit der Zeichenfolge typkonvertierung miteinander in Konflikt geraten wird eine Quaternion -Attributwert in seine Komponenten.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.

Verwendung von XAML-AttributenXAML Attribute Usage

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

XAML-WerteXAML Values

wx
Die X-Komponente dieser Quaternion-Struktur.The X component of this Quaternion structure.

yy
Die Y-Komponente dieser Quaternion-Struktur.The Y component of this Quaternion structure.

zz
Die Z-Komponente dieser Quaternion-Struktur.The Z component of this Quaternion structure.

ww
Die W-Komponente dieser Quaternion-Struktur.The W component of this Quaternion structure.

Konstruktoren

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

Initialisiert eine neue Instanz der Quaternion-Struktur.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)

Initialisiert eine neue Instanz der Quaternion-Struktur.Initializes a new instance of the Quaternion structure.

Eigenschaften

Angle Angle Angle Angle

Ruft den Winkel der Quaternion, in Grad ab.Gets the quaternion's angle, in degrees.

Axis Axis Axis Axis

Ruft die Achse der Quaternion ab.Gets the quaternion's axis.

Identity Identity Identity Identity

Ruft die Einheitsquaternion abGets the Identity quaternion

IsIdentity IsIdentity IsIdentity IsIdentity

Ruft einen Wert, der angibt, ob die angegebene Quaternion eine Identity Quaternion.Gets a value that indicates whether the specified quaternion is an Identity quaternion.

IsNormalized IsNormalized IsNormalized IsNormalized

Ruft einen Wert, der angibt, ob die Quaternion normalisiert ist.Gets a value that indicates whether the quaternion is normalized.

W W W W

Ruft die W-Komponente der Quaternion ab.Gets the W component of the quaternion.

X X X X

Ruft die X-Komponente der Quaternion ab.Gets the X component of the quaternion.

Y Y Y Y

Ruft die Y-Komponente der Quaternion ab.Gets the Y component of the quaternion.

Z Z Z Z

Ruft die Z-Komponente der Quaternion ab.Gets the Z component of the quaternion.

Methoden

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

Addiert die angegebenen Quaternionen.Adds the specified quaternions.

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

Ersetzt eine Quaternion durch ihre Konjugation.Replaces a quaternion with its conjugate.

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

Überprüft zwei Quaternion-Instanzen auf Gleichheit.Compares two Quaternion instances for equality.

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

Überprüft zwei Quaternion-Instanzen auf Gleichheit.Compares two Quaternion instances for equality.

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

Überprüft zwei Quaternion-Instanzen auf Gleichheit.Compares two Quaternion instances for equality.

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

Gibt den Hashcode für den Quaternion zurück.Returns the hash code for the Quaternion.

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

Ersetzt die angegebene Quaternion durch ihre Umkehrfunktion.Replaces the specified quaternion with its inverse

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

Multipliziert die angegebene Quaternion Werte.Multiplies the specified Quaternion values.

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

Gibt eine normalisierte Quaternion zurück.Returns a normalized quaternion.

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

Konvertiert eine Zeichenfolgendarstellung einer Quaternion in die entsprechende Quaternion Struktur.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)

Interpoliert zwischen zwei Ausrichtungen mit der Methode der sphärischen linearen Interpolation.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)

Die Interpolation zwischen Ausrichtungen, dargestellt als Quaternion Strukturen mithilfe sphärischer linearer Interpolation.Interpolates between orientations, represented as Quaternion structures, using spherical linear interpolation.

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

Subtrahiert eine Quaternion aus einem anderen.Subtracts a Quaternion from another.

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

Erstellt eine Zeichenfolgendarstellung des Objekts an.Creates a string representation of the object.

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

Erstellt eine Zeichenfolgendarstellung des Objekts an.Creates a string representation of the object.

Operatoren

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

Fügt das angegebene Quaternion Werte.Adds the specified Quaternion values.

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

Vergleicht zwei Quaternion -Instanzen auf genaue Gleichheit.Compares two Quaternion instances for exact equality.

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

Vergleicht zwei Quaternion -Instanzen auf genaue Ungleichheit.Compares two Quaternion instances for exact inequality.

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

Multipliziert die angegebene Quaternion durch eine andere.Multiplies the specified quaternion by another.

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

Subtrahiert eine angegebene Quaternion von einer anderen.Subtracts a specified quaternion from another.

Explizite Schnittstellenimplementierungen

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

Dieser Member unterstützt die Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)-Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. Eine Beschreibung dieses Elements finden Sie unter ToString(String, IFormatProvider).For a description of this member, see ToString(String, IFormatProvider).

Gilt für: