Quaternion Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir döndürmeyi üç boyutta temsil eden yapı.
public value class Quaternion : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.QuaternionConverter))]
[System.Serializable]
public struct 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>]
type Quaternion = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.QuaternionConverter))>]
type Quaternion = struct
interface IFormattable
Public Structure Quaternion
Implements IFormattable
- Devralma
- Ö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
Quaternions, bir nesneye uygulanan döndürme dönüştürmeleri arasında ilişkilendirme yapmanızı sağlar ve böylece döndürmelerin düzgün animasyonlarını hesaplamayı kolaylaştırır. Quaternion, bir döndürme eksenini ve bu eksenin etrafındaki bir döndürmeyi temsil eder. Döndürülen bir nesnenin başlangıç ve bitiş konumlarının eksenini ve dönüş açısını ayrı ayrı tanımlamak mümkündür, ancak animasyon sırasında bu nesnenin ara konumları hesaplama açısından belirsizdir. Bir 3-B nesnenin özgün yönünü ve hedef yönlendirmesini temsil eden bir quaternion belirleyerek, bu yönlendirmeler arasında sorunsuz bir şekilde ilişkilendirme yapabilirsiniz.
XAML'de, değerleri Quaternion arasındaki sınırlayıcı virgül veya boşluk olabilir.
Bazı kültürler virgül karakterini nokta karakteri yerine ondalık sınırlayıcı olarak kullanabilir. Sabit kültür için XAML işleme, çoğu XAML işlemci uygulamasında varsayılan olarak en-US olarak ayarlanır ve dönemin ondalık sınırlayıcı olmasını bekler. Bir öznitelik değerinin bileşenlerine dize türü dönüştürmesiyle Quaternion çakıştırılacağından, XAML'de belirtilmesi Quaternion durumunda ondalık sınırlayıcı olarak virgül karakterini kullanmaktan kaçınmanız gerekir.
XAML Öznitelik Kullanımı
<object property="x,y,z,w"/>
-or-
<object property="x y z w"/>
XAML Değerleri
x
X Bu Quaternion yapının bileşeni.
Y
Y Bu Quaternion yapının bileşeni.
Z
Z Bu Quaternion yapının bileşeni.
w
W Bu Quaternion yapının bileşeni.
Oluşturucular
Quaternion(Double, Double, Double, Double) |
Yapının yeni bir örneğini Quaternion başlatır. |
Quaternion(Vector3D, Double) |
Yapının yeni bir örneğini Quaternion başlatır. |
Özellikler
Angle |
Quaternion'un açısını derece cinsinden alır. |
Axis |
Quaternion eksenini alır. |
Identity |
Identity quaternion'ını alır. |
IsIdentity |
Belirtilen quaternion değerinin bir quaternion olup olmadığını belirten bir Identity değer alır. |
IsNormalized |
Quaternion'ın normalleştirilip normalleştirilmediğini belirten bir değer alır. |
W |
Quaternion'ın W bileşenini alır. |
X |
Quaternion'un X bileşenini alır. |
Y |
Quaternion'un Y bileşenini alır. |
Z |
Quaternion'un Z bileşenini alır. |
Yöntemler
Add(Quaternion, Quaternion) |
Belirtilen quaternions ekler. |
Conjugate() |
Bir quaternion öğesini eşlenikle değiştirir. |
Equals(Object) |
Eşitlik için iki Quaternion örneği karşılaştırır. |
Equals(Quaternion) |
Eşitlik için iki Quaternion örneği karşılaştırır. |
Equals(Quaternion, Quaternion) |
Eşitlik için iki Quaternion örneği karşılaştırır. |
GetHashCode() |
için Quaternionkarma kodunu döndürür. |
Invert() |
Belirtilen quaternion değerini tersiyle değiştirir. |
Multiply(Quaternion, Quaternion) |
Belirtilen Quaternion değerleri çarpar. |
Normalize() |
Normalleştirilmiş bir quaternion döndürür. |
Parse(String) |
öğesinin dize gösterimini Quaternion eşdeğer Quaternion yapıya dönüştürür. |
Slerp(Quaternion, Quaternion, Double) |
Küresel doğrusal ilişkilendirmeyi kullanarak iki yönlendirme arasında ara değer oluşturur. |
Slerp(Quaternion, Quaternion, Double, Boolean) |
Küresel doğrusal ilişkilendirme kullanarak, yapılar olarak Quaternion temsil edilen yönlendirmeler arasında ara değer oluşturur. |
Subtract(Quaternion, Quaternion) |
Bir Quaternion'i diğerinden çıkarır. |
ToString() |
Nesnesinin dize gösterimini oluşturur. |
ToString(IFormatProvider) |
Nesnesinin dize gösterimini oluşturur. |
İşleçler
Addition(Quaternion, Quaternion) |
Belirtilen Quaternion değerleri ekler. |
Equality(Quaternion, Quaternion) |
Tam eşitlik için iki Quaternion örneği karşılaştırır. |
Inequality(Quaternion, Quaternion) |
Tam eşitsizlik için iki Quaternion örneği karşılaştırır. |
Multiply(Quaternion, Quaternion) |
Belirtilen quaternion değerini başka bir quaternion ile çarpar. |
Subtraction(Quaternion, Quaternion) |
Belirtilen bir quaternion'i başka bir quaternion'dan çıkarır. |
Belirtik Arabirim Kullanımları
IFormattable.ToString(String, IFormatProvider) |
Bu üye Windows Presentation Foundation (WPF) altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu üyenin açıklaması için bkz ToString(String, IFormatProvider). . |