Matrix3D Struktura

Definicja

Reprezentuje macierz 4 x 4 używaną do transformacji w przestrzeni trójwymiarowej.Represents a 4 x 4 matrix used for transformations in 3-D space.

public value class Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
[System.Serializable]
public struct Matrix3D : IFormattable
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ę wiersza — wektor:Matrix3D has the following row-vector syntax:

M11 M12 M13 M14
M21 M22 M23 M24
M31 M32 M33 M34
OffsetX OffsetY OffsetZ M44

Należy zauważyć, że ponieważ czwarta kolumna jest również dostępna, macierz pozwala deweloperom reprezentować afinicznym, a także transformacje inne niż afinicznym.Note that because the fourth column is also accessible, the matrix allows developers to represent affine as well as non-affine transforms.

Macierze mogą być dołączane lub dodawane do innych macierzy.Matrices can be appended or prepended to other matrices. Dołączanie macierzy A do macierzy B oznacza przekształcenie przez B, a następnie przez:Appending matrix A to matrix B denotes a transformation by B and then by A:

Użycie atrybutu języka XAMLXAML Attribute Usage

<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>  
- or -  
<object property="Identity"/>  

Wartości XAMLXAML Values

M11M11
System.Double

Wartość w pierwszym wierszu i pierwszej kolumnie tego Matrix3D.The value in the first row and first column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M11.For more information, see the M11 property.

M12M12
System.Double

Wartość w pierwszym wierszu i drugiej kolumnie tego Matrix3D.The value in the first row and second column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M12.For more information, see the M12 property.

M13M13
System.Double

Wartość w pierwszym wierszu i trzeciej kolumnie tego Matrix3D.The value in the first row and third column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M13.For more information, see the M13 property.

M14M14
System.Double

Wartość w pierwszym wierszu i czwarta kolumna tego Matrix3D.The value in the first row and fourth column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M14.For more information, see the M14 property.

M21M21
System.Double

Wartość w drugim wierszu i w pierwszej kolumnie tego Matrix3D.The value in the second row and first column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M21.For more information, see the M21 property.

M22M22
System.Double

Wartość w drugim wierszu i drugiej kolumnie tego Matrix3D.The value in the second row and second column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M22.For more information, see the M22 property.

M23M23
System.Double

Wartość w drugim wierszu i trzeciej kolumnie tego Matrix3D.The value in the second row and third column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M23.For more information, see the M23 property.

M24M24
System.Double

Wartość w drugim wierszu i czwartej kolumnie tego Matrix3D.The value in the second row and fourth column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M24.For more information, see the M24 property.

— M31M31
System.Double

Wartość w trzecim wierszu i pierwszej kolumnie tego Matrix3D.The value in the third row and first column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M31.For more information, see the M31 property.

M32M32
System.Double

Wartość w trzecim wierszu i drugiej kolumnie tego Matrix3D.The value in the third row and second column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M32.For more information, see the M32 property.

— M33M33
System.Double

Wartość w trzecim wierszu i trzeciej kolumnie tego Matrix3D.The value in the third row and third column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M34.For more information, see the M34 property.

— M34M34
System.Double

Wartość w trzecim wierszu i czwartej kolumnie tego Matrix3D.The value in the third row and fourth column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M33.For more information, see the M33 property.

M44M44
System.Double

Wartość w czwartym wierszu i czwartej kolumnie tego Matrix3D.The value in the fourth row and fourth column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość M44.For more information, see the M44 property.

offsetXoffsetX
System.Double

Wartość w czwartym wierszu i w pierwszej kolumnie tego Matrix3D.The value in the fourth row and first column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość OffsetX.For more information, see the OffsetX property.

PrzesunięcieoffsetY
System.Double

Wartość w czwartym wierszu i drugiej kolumnie tego Matrix3D.The value in the fourth row and second column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość OffsetY.For more information, see the OffsetY property.

offsetZoffsetZ
System.Double

Wartość w czwartym wierszu i trzecia kolumna tego Matrix3D.The value in the fourth row and third column of this Matrix3D. Aby uzyskać więcej informacji, zobacz Właściwość OffsetZ.For more information, see the OffsetZ property.

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.Constructor that sets matrix's initial values.

Właściwości

Determinant

Pobiera wyznacznik tej struktury Matrix3D.Retrieves the determinant of this Matrix3D structure.

HasInverse

Pobiera wartość wskazującą, czy Matrix3D to odwracalna.Gets a value that indicates whether this Matrix3D is invertible.

Identity

Zmienia strukturę Matrix3D na Matrix3D tożsamości.Changes a Matrix3D structure into an identity Matrix3D.

IsAffine

Pobiera wartość wskazującą, czy ta struktura Matrix3D jest afinicznym.Gets a value that indicates whether this Matrix3D structure is affine.

IsIdentity

Określa, czy ta struktura Matrix3D jest obiektem Matrix3D tożsamości.Determines whether this Matrix3D structure is an identity Matrix3D.

M11

Pobiera lub ustawia wartość pierwszego wiersza i pierwszej kolumny struktury Matrix3D.Gets or sets the value of the first row and first column of this Matrix3D structure.

M12

Pobiera lub ustawia wartość pierwszego wiersza i drugiej kolumny struktury Matrix3D.Gets or sets the value of the first row and second column of this Matrix3D structure.

M13

Pobiera lub ustawia wartość pierwszego wiersza i trzecią kolumnę struktury Matrix3D.Gets or sets the value of the first row and third column of this Matrix3D structure.

M14

Pobiera lub ustawia wartość pierwszego wiersza i czwartej kolumny struktury Matrix3D.Gets or sets the value of the first row and fourth column of this Matrix3D structure.

M21

Pobiera lub ustawia wartość drugiego wiersza i pierwszej kolumny struktury Matrix3D.Gets or sets the value of the second row and first column of this Matrix3D structure.

M22

Pobiera lub ustawia wartość drugiego wiersza i drugiej kolumny struktury Matrix3D.Gets or sets the value of the second row and second column of this Matrix3D structure.

M23

Pobiera lub ustawia wartość drugiego wiersza i trzecią kolumnę struktury Matrix3D.Gets or sets the value of the second row and third column of this Matrix3D structure.

M24

Pobiera lub ustawia wartość drugiego wiersza i czwartej kolumny tej struktury Matrix3D.Gets or sets the value of the second row and fourth column of this Matrix3D structure.

M31

Pobiera lub ustawia wartość trzeciego wiersza i pierwszej kolumny struktury Matrix3D.Gets or sets the value of the third row and first column of this Matrix3D structure.

M32

Pobiera lub ustawia wartość trzeciego wiersza i drugiej kolumny struktury Matrix3D.Gets or sets the value of the third row and second column of this Matrix3D structure.

M33

Pobiera lub ustawia wartość trzeciego wiersza i trzecią kolumnę struktury Matrix3D.Gets or sets the value of the third row and third column of this Matrix3D structure.

M34

Pobiera lub ustawia wartość trzeciego wiersza i czwartej kolumny tej struktury Matrix3D.Gets or sets the value of the third row and fourth column of this Matrix3D structure.

M44

Pobiera lub ustawia wartość czwartego wiersza i czwartej kolumny tej struktury Matrix3D.Gets or sets the value of the fourth row and fourth column of this Matrix3D structure.

OffsetX

Pobiera lub ustawia wartość czwartego wiersza i pierwszej kolumny tej struktury Matrix3D.Gets or sets the value of the fourth row and first column of this Matrix3D structure.

OffsetY

Pobiera lub ustawia wartość czwartego wiersza i drugiej kolumny tej struktury Matrix3D.Gets or sets the value of the fourth row and second column of this Matrix3D structure.

OffsetZ

Pobiera lub ustawia wartość czwartego wiersza i trzecią kolumnę tej struktury Matrix3D.Gets or sets the value of the fourth row and third column of this Matrix3D structure.

Metody

Append(Matrix3D)

Dołącza określoną macierz do bieżącej macierzy.Appends a specified matrix to the current matrix.

Equals(Matrix3D)

Testuje równość między dwiema macierzami.Tests equality between two matrices.

Equals(Matrix3D, Matrix3D)

Testuje równość między dwiema macierzami.Tests equality between two matrices.

Equals(Object)

Testuje równość między dwiema macierzami.Tests equality between two matrices.

GetHashCode()

Zwraca kod skrótu dla tej macierzy.Returns the hash code for this matrix.

Invert()

Odwraca tę strukturę Matrix3D.Inverts this Matrix3D structure.

Multiply(Matrix3D, Matrix3D)

Mnoży określone macierze.Multiplies the specified matrices.

Parse(String)

Konwertuje ciąg reprezentujący strukturę Matrix3Dową na równoważną strukturę Matrix3D.Converts a string representation of a Matrix3D structure into the equivalent Matrix3D structure.

Prepend(Matrix3D)

Dołącza określoną macierz do bieżącej macierzy.Prepends a specified matrix to the current matrix.

Rotate(Quaternion)

Dołącza transformację obrotu do bieżącego Matrix3D.Appends a rotation transform to the current Matrix3D.

RotateAt(Quaternion, Point3D)

Powoduje obrócenie tego Matrix3D o określoną Point3D.Rotates this Matrix3D about the specified Point3D.

RotateAtPrepend(Quaternion, Point3D)

Dołącza rotację do określonego centrum Point3D do tej struktury Matrix3D.Prepends a rotation about a specified center Point3D to this Matrix3D structure.

RotatePrepend(Quaternion)

Dołącza obrót określony przez Quaternion do tej struktury Matrix3D.Prepends a rotation specified by a Quaternion to this Matrix3D structure.

Scale(Vector3D)

Dołącza określoną skalę Vector3D do tej struktury Matrix3D.Appends the specified scale Vector3D to this Matrix3D structure.

ScaleAt(Vector3D, Point3D)

Skaluje tę strukturę Matrix3D o określoną Vector3D o określonej Point3D.Scales this Matrix3D structure by the specified Vector3D about the specified Point3D.

ScaleAtPrepend(Vector3D, Point3D)

Dołącza określoną transformację skalowania o określonej Point3D do tej struktury Matrix3D.Prepends the specified scale transformation about the specified Point3D to this Matrix3D structure.

ScalePrepend(Vector3D)

Dołącza określoną skalę Vector3D do bieżącej struktury Matrix3D.Prepends the specified scale Vector3D to the current Matrix3D structure.

SetIdentity()

Zmienia tę strukturę Matrix3D na macierz tożsamości.Changes this Matrix3D structure into an identity matrix.

ToString()

Tworzy ciąg reprezentujący następującą strukturę Matrix3D.Creates a string representation of this Matrix3D structure.

ToString(IFormatProvider)

Tworzy ciąg reprezentujący następującą strukturę Matrix3D.Creates a string representation of this Matrix3D structure.

Transform(Point3D)

Przekształca określony Point3D przez Matrix3D i zwraca wynik.Transforms the specified Point3D by the Matrix3D and returns the result.

Transform(Point3D[])

Przekształca określone Point3D obiektów w tablicy przez Matrix3D.Transforms the specified Point3D objects in the array by the Matrix3D.

Transform(Point4D)

Przekształca określony Point4D przez Matrix3D i zwraca wynik.Transforms the specified Point4D by the Matrix3D and returns the result.

Transform(Point4D[])

Przekształca określone obiekty Point4D w tablicy przez Matrix3D i zwraca wynik.Transforms the specified Point4D objects in the array by the Matrix3D and returns the result.

Transform(Vector3D)

Przekształca określony Vector3D przez ten Matrix3D.Transforms the specified Vector3D by this Matrix3D.

Transform(Vector3D[])

Przekształca określone obiekty Vector3D w tablicy przez tę Matrix3D.Transforms the specified Vector3D objects in the array by this Matrix3D.

Translate(Vector3D)

Dołącza tłumaczenie określonego przesunięcia do bieżącej struktury Matrix3D.Appends a translation of the specified offset to the current Matrix3D structure.

TranslatePrepend(Vector3D)

Dołącza tłumaczenie określonego przesunięcia do tej struktury Matrix3D.Prepends a translation of the specified offset to this Matrix3D structure.

Operatory

Equality(Matrix3D, Matrix3D)

Porównuje dwa wystąpienia Matrix3D dla dokładnego równości.Compares two Matrix3D instances for exact equality.

Inequality(Matrix3D, Matrix3D)

Porównuje dwa wystąpienia Matrix3D w celu uzyskania dokładnej nierówności.Compares two Matrix3D instances for exact inequality.

Multiply(Matrix3D, Matrix3D)

Mnoży określone macierze.Multiplies the specified matrices.

Jawne implementacje interfejsu

IFormattable.ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia w określonym formacie.Formats the value of the current instance using the specified format.

Dotyczy

Zobacz też