Matrix3D Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje macierz 4 x 4 używaną do przekształceń w przestrzeni 3-W.
public value class Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
[System.Serializable]
public struct Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
public struct Matrix3D : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))>]
[<System.Serializable>]
type Matrix3D = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))>]
type Matrix3D = struct
interface IFormattable
Public Structure Matrix3D
Implements IFormattable
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
// Multiplies a Vector3D by a Matrix3D using the static Multiply method.
// Returns a Vector3D.
Vector3D vector1 = new Vector3D(20, 30, 40);
Matrix3D matrix1 = new Matrix3D(10, 10, 10, 0, 20, 20, 20, 0, 30, 30, 30, 0, 5, 10, 15, 1);
Vector3D vectorResult = new Vector3D();
vectorResult = Vector3D.Multiply(vector1,matrix1);
// vector Result is equal to (2000, 2000, 2000)
' Multiplies a Vector3D by a Matrix3D using the static Multiply method.
' Returns a Vector3D.
Dim vector1 As New Vector3D(20, 30, 40)
Dim matrix1 As New Matrix3D(10, 10, 10, 0, 20, 20, 20, 0, 30, 30, 30, 0, 5, 10, 15, 1)
Dim vectorResult As New Vector3D()
vectorResult = Vector3D.Multiply(vector1,matrix1)
' vector Result is equal to (2000, 2000, 2000)
Uwagi
Matrix3D ma następującą składnię wektorów wierszy:
M11 | M12 | M13 | M14 |
M21 | M22 | M23 | M24 |
M31 | M32 | M33 | M34 |
OffsetX | OffsetY | OffsetZ | M44 |
Należy pamiętać, że ponieważ czwarta kolumna jest również dostępna, macierz umożliwia deweloperom reprezentowanie affine, a także transformacji innych niż affine.
Macierze mogą być dołączane lub poprzedzane innymi macierzami. Dołączanie macierzy A do macierzy B oznacza przekształcenie przez B, a następnie przez A:
Użycie atrybutu języka XAML
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>
Wartości XAML
Wartość w pierwszym wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M11 właściwość .
Wartość w pierwszym wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M12 właściwość .
Wartość w pierwszym wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M13 właściwość .
Wartość w pierwszym wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M14 właściwość .
Wartość w drugim wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M21 właściwość .
Wartość w drugim wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M22 właściwość .
Wartość w drugim wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M23 właściwość .
Wartość w drugim wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M24 właściwość .
Wartość w trzecim wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M31 właściwość .
Wartość w trzecim wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M32 właściwość .
Wartość w trzecim wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M34 właściwość .
Wartość w trzecim wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M33 właściwość .
Wartość w czwartym wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M44 właściwość .
przesunięcie XSystem.Double
Wartość w czwartym wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz OffsetX właściwość .
offsetYSystem.Double
Wartość w czwartym wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz OffsetY właściwość .
offsetZSystem.Double
Wartość w czwartym wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz OffsetZ właściwość .
Konstruktory
Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Konstruktor, który ustawia wartości początkowe macierzy. |
Właściwości
Determinant |
Pobiera determinant tej Matrix3D struktury. |
HasInverse |
Pobiera wartość wskazującą, czy jest to Matrix3D nieodwracalne. |
Identity | |
IsAffine |
Pobiera wartość wskazującą, czy ta Matrix3D struktura jest affine. |
IsIdentity |
Określa, czy ta Matrix3D struktura jest tożsamością Matrix3D. |
M11 |
Pobiera lub ustawia wartość pierwszego wiersza i pierwszej kolumny tej Matrix3D struktury. |
M12 |
Pobiera lub ustawia wartość pierwszego wiersza i drugiej kolumny tej Matrix3D struktury. |
M13 |
Pobiera lub ustawia wartość pierwszego wiersza i trzeciej kolumny tej Matrix3D struktury. |
M14 |
Pobiera lub ustawia wartość pierwszego wiersza i czwartej kolumny tej Matrix3D struktury. |
M21 |
Pobiera lub ustawia wartość drugiego wiersza i pierwszej kolumny tej Matrix3D struktury. |
M22 |
Pobiera lub ustawia wartość drugiego wiersza i drugiej kolumny tej Matrix3D struktury. |
M23 |
Pobiera lub ustawia wartość drugiego wiersza i trzeciej kolumny tej Matrix3D struktury. |
M24 |
Pobiera lub ustawia wartość drugiego wiersza i czwartej kolumny tej Matrix3D struktury. |
M31 |
Pobiera lub ustawia wartość trzeciego wiersza i pierwszej kolumny tej Matrix3D struktury. |
M32 |
Pobiera lub ustawia wartość trzeciego wiersza i drugiej kolumny tej Matrix3D struktury. |
M33 |
Pobiera lub ustawia wartość trzeciego wiersza i trzeciej kolumny tej Matrix3D struktury. |
M34 |
Pobiera lub ustawia wartość trzeciego wiersza i czwartej kolumny tej Matrix3D struktury. |
M44 |
Pobiera lub ustawia wartość czwartego wiersza i czwartej kolumny tej Matrix3D struktury. |
OffsetX |
Pobiera lub ustawia wartość czwartego wiersza i pierwszej kolumny tej Matrix3D struktury. |
OffsetY |
Pobiera lub ustawia wartość czwartego wiersza i drugiej kolumny tej Matrix3D struktury. |
OffsetZ |
Pobiera lub ustawia wartość czwartego wiersza i trzeciej kolumny tej Matrix3D struktury. |
Metody
Append(Matrix3D) |
Dołącza określoną macierz do bieżącej macierzy. |
Equals(Matrix3D, Matrix3D) |
Testuje równość między dwiema macierzami. |
Equals(Matrix3D) |
Testuje równość między dwiema macierzami. |
Equals(Object) |
Testuje równość między dwiema macierzami. |
GetHashCode() |
Zwraca kod skrótu dla tej macierzy. |
Invert() |
Odwraca tę Matrix3D strukturę. |
Multiply(Matrix3D, Matrix3D) |
Mnoży określone macierze. |
Parse(String) |
Konwertuje reprezentację ciągu struktury na równoważną Matrix3D strukturę Macierz3D. |
Prepend(Matrix3D) |
Prependuje określoną macierz do bieżącej macierzy. |
Rotate(Quaternion) |
Dołącza przekształcenie rotacji do bieżącego Matrix3Delementu . |
RotateAt(Quaternion, Point3D) |
Obraca tę Matrix3D wartość na temat określonego Point3Delementu . |
RotateAtPrepend(Quaternion, Point3D) |
Poprzedza rotację o określonym środku Point3D do tej Matrix3D struktury. |
RotatePrepend(Quaternion) |
Poprzedza rotację określoną przez element Quaternion do tej Matrix3D struktury. |
Scale(Vector3D) | |
ScaleAt(Vector3D, Point3D) |
Skaluje tę Matrix3D strukturę według określonej Vector3D wartości Point3D. |
ScaleAtPrepend(Vector3D, Point3D) |
Prependuje określoną transformację skalowania o określonej strukturze Point3DMatrix3D . |
ScalePrepend(Vector3D) |
Prependuje określoną skalę Vector3D do bieżącej Matrix3D struktury. |
SetIdentity() |
Zmienia tę Matrix3D strukturę w macierzy tożsamości. |
ToString() |
Tworzy reprezentację ciągu tej Matrix3D struktury. |
ToString(IFormatProvider) |
Tworzy reprezentację ciągu tej Matrix3D struktury. |
Transform(Point3D) |
Przekształca określony Point3D przez Matrix3D element i zwraca wynik. |
Transform(Point3D[]) |
Przekształca określone Point3D obiekty w tablicy według Matrix3D. |
Transform(Point4D) |
Przekształca określony Point4D przez Matrix3D element i zwraca wynik. |
Transform(Point4D[]) |
Przekształca określone Point4D obiekty w tablicy według Matrix3D elementu i zwraca wynik. |
Transform(Vector3D) |
Przekształca element określony Vector3D przez ten Matrix3Delement . |
Transform(Vector3D[]) |
Przekształca określone Vector3D obiekty w tablicy przez ten Matrix3Delement . |
Translate(Vector3D) |
Dołącza tłumaczenie określonego przesunięcia do bieżącej Matrix3D struktury. |
TranslatePrepend(Vector3D) |
Poprzedza tłumaczenie określonego przesunięcia na tę Matrix3D strukturę. |
Operatory
Equality(Matrix3D, Matrix3D) |
Porównuje dwa Matrix3D wystąpienia pod kątem dokładnej równości. |
Inequality(Matrix3D, Matrix3D) |
Porównuje dwa Matrix3D wystąpienia pod kątem dokładnej nierówności. |
Multiply(Matrix3D, Matrix3D) |
Mnoży określone macierze. |
Jawne implementacje interfejsu
IFormattable.ToString(String, IFormatProvider) |
Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu. |