Matrix3D Struktura

Definicja

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

M11System.Double

Wartość w pierwszym wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M11 właściwość .

M12System.Double

Wartość w pierwszym wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M12 właściwość .

M13System.Double

Wartość w pierwszym wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M13 właściwość .

M14System.Double

Wartość w pierwszym wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M14 właściwość .

M21System.Double

Wartość w drugim wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M21 właściwość .

M22System.Double

Wartość w drugim wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M22 właściwość .

M23System.Double

Wartość w drugim wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M23 właściwość .

M24System.Double

Wartość w drugim wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M24 właściwość .

M31System.Double

Wartość w trzecim wierszu i pierwszej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M31 właściwość .

M32System.Double

Wartość w trzecim wierszu i drugiej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M32 właściwość .

M33System.Double

Wartość w trzecim wierszu i trzeciej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M34 właściwość .

M34System.Double

Wartość w trzecim wierszu i czwartej kolumnie tego Matrix3Delementu . Aby uzyskać więcej informacji, zobacz M33 właściwość .

M44System.Double

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

Matrix3D Zmienia strukturę na tożsamość Matrix3D.

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)

Testuje równość między dwiema macierzami.

Equals(Matrix3D, 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)

Dołącza określoną skalę Vector3D do tej Matrix3D struktury.

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.

Dotyczy