Quaternion Yapı

Tanım

Üç boyutta bir döndürmeyi temsil eden yapı.Structure that represents a rotation in three dimensions.

public value class Quaternion : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.QuaternionConverter))]
public struct 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
Devralma
Quaternion
Öznitelikler
Uygulamalar

Örnekler

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

Açıklamalar

Dördeler, bir nesneye uygulanan döndürme dönüştürmeleri arasında sınırsız bir şekilde enterpolasyon yapmanıza olanak sağlar. böylece, döndürmelerin düzgün animasyonlarını hesaplamanız kolaylaşır.Quaternions allow you to interpolate between rotation transformations applied to an object, thereby making it easier to compute smooth animations of rotations. Dördede bir döndürme eksenini ve bu eksenin etrafında bir dönüşü temsil eder.A quaternion represents an axis of rotation and a rotation around that axis. Döndürülen bir nesnenin başlangıç ve bitiş konumlarının tek tek bir eksenini ve açısını belirlemek mümkündür, ancak animasyon sırasında o nesnenin ara konumları hesaplama açısından kesin değildir.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. 3-b nesnenin özgün yönünü ve hedef yönünü temsil eden bir dördeyi belirleyerek, bu yönler arasında sorunsuzca uyum sağlayabilirsiniz.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.

XAML 'de, bir Quaternion değerleri arasındaki sınırlayıcı virgül ya da boşluk olabilir.In XAML, the delimiter between the values of a Quaternion can be either a comma or a space.

Bazı kültürler, nokta karakteri yerine ondalık sınırlayıcı olarak virgül karakterini kullanabilir.Some cultures might use the comma character as the decimal delimiter instead of the period character. Sabit kültür için XAML işleme, çoğu XAML işlemci uygulamasında en-US değerini alır ve dönemin ondalık sınırlayıcı olmasını bekler.XAML processing for invariant culture defaults to en-US in most XAML processor implementations, and expects the period to be the decimal delimiter. XAML 'de bir Quaternion belirtirken, virgül karakterini ondalık sınırlayıcı olarak kullanmaktan kaçının; çünkü bu, bir Quaternion öznitelik değeri için bir dize türü dönüştürme ile kendi bileşenlerine çakışacaktır.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.

XAML Öznitelik KullanımıXAML Attribute Usage

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

XAML DeğerleriXAML Values

xx
Bu Quaternion yapısının X bileşeni.The X component of this Quaternion structure.

Izy
Bu Quaternion yapısının Y bileşeni.The Y component of this Quaternion structure.

zz
Bu Quaternion yapısının Z bileşeni.The Z component of this Quaternion structure.

anlatımıw
Bu Quaternion yapısının W bileşeni.The W component of this Quaternion structure.

Oluşturucular

Quaternion(Double, Double, Double, Double)

Quaternion yapısının yeni bir örneğini başlatır.Initializes a new instance of the Quaternion structure.

Quaternion(Vector3D, Double)

Quaternion yapısının yeni bir örneğini başlatır.Initializes a new instance of the Quaternion structure.

Özellikler

Angle

Dörde 'nın açısını derece cinsinden alır.Gets the quaternion's angle, in degrees.

Axis

Dördede 'nın eksenini alır.Gets the quaternion's axis.

Identity

Kimlik dördeliği alır.Gets the Identity quaternion.

IsIdentity

Belirtilen dörde Identity bir dörde olup olmadığını gösteren bir değer alır.Gets a value that indicates whether the specified quaternion is an Identity quaternion.

IsNormalized

Dördede normalleştirilmiş olup olmadığını gösteren bir değer alır.Gets a value that indicates whether the quaternion is normalized.

W

Dördede 'nın W bileşenini alır.Gets the W component of the quaternion.

X

Dördede 'ın X bileşenini alır.Gets the X component of the quaternion.

Y

Dördede 'ın Y bileşenini alır.Gets the Y component of the quaternion.

Z

Dördede 'nın Z bileşenini alır.Gets the Z component of the quaternion.

Yöntemler

Add(Quaternion, Quaternion)

Belirtilen dörde ekler.Adds the specified quaternions.

Conjugate()

Dördede eşleniği olan eşleniği ile değiştirir.Replaces a quaternion with its conjugate.

Equals(Object)

, Eşitlik için iki Quaternion örneğini karşılaştırır.Compares two Quaternion instances for equality.

Equals(Quaternion)

, Eşitlik için iki Quaternion örneğini karşılaştırır.Compares two Quaternion instances for equality.

Equals(Quaternion, Quaternion)

, Eşitlik için iki Quaternion örneğini karşılaştırır.Compares two Quaternion instances for equality.

GetHashCode()

Quaternioniçin karma kodu döndürür.Returns the hash code for the Quaternion.

Invert()

Belirtilen dördede, ters ile değiştirir.Replaces the specified quaternion with its inverse.

Multiply(Quaternion, Quaternion)

Belirtilen Quaternion değerlerini çarpar.Multiplies the specified Quaternion values.

Normalize()

Normalleştirilmiş bir dördede döndürür.Returns a normalized quaternion.

Parse(String)

Bir Quaternion dize gösterimini eşdeğer Quaternion yapısına dönüştürür.Converts a string representation of a Quaternion into the equivalent Quaternion structure.

Slerp(Quaternion, Quaternion, Double)

Küresel doğrusal ilişkilendirmeyi kullanarak iki yönde enterpolasyonlar.Interpolates between two orientations using spherical linear interpolation.

Slerp(Quaternion, Quaternion, Double, Boolean)

Küresel doğrusal ilişkilendirme kullanarak Quaternion yapıları olarak temsil edilen yönler arasında enterpolasyonlar.Interpolates between orientations, represented as Quaternion structures, using spherical linear interpolation.

Subtract(Quaternion, Quaternion)

Dörde eden bir dörde çıkartır.Subtracts a Quaternion from another.

ToString()

Nesnenin dize temsilini oluşturur.Creates a string representation of the object.

ToString(IFormatProvider)

Nesnenin dize temsilini oluşturur.Creates a string representation of the object.

İşleçler

Addition(Quaternion, Quaternion)

Belirtilen Quaternion değerlerini ekler.Adds the specified Quaternion values.

Equality(Quaternion, Quaternion)

İki Quaternion örneğini tam eşitlik için karşılaştırır.Compares two Quaternion instances for exact equality.

Inequality(Quaternion, Quaternion)

Tam eşitsizlik için iki Quaternion örneğini karşılaştırır.Compares two Quaternion instances for exact inequality.

Multiply(Quaternion, Quaternion)

Belirtilen dördede başka bir ile çarpar.Multiplies the specified quaternion by another.

Subtraction(Quaternion, Quaternion)

Belirtilen dördede bir başkasına çıkartır.Subtracts a specified quaternion from another.

Belirtik Arabirim Kullanımları

IFormattable.ToString(String, IFormatProvider)

Bu üye Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code. Bu üyenin açıklaması için bkz. ToString(String, IFormatProvider).For a description of this member, see ToString(String, IFormatProvider).

Şunlara uygulanır