Matrix Struktura

Definicja

Przedstawia tablicę transformacji 3x3 afinicznym używany do transformacji w przestrzeni 2-D.Represents a 3x3 affine transformation matrix used for transformations in 2-D space.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Dziedziczenie
Matrix
Atrybuty
Implementuje

Uwagi

Macierz 3x3 jest używana na potrzeby transformacji w 2-W2-D płaszczyźnie x-y.A 3x3 matrix is used for transformations in a 2-W2-D x-y plane. Macierze transformacji afinicznym można przemnożyć, aby utworzyć dowolną liczbę transformacji liniowych, takich jak obrót i pochylanie (ścinanie), a następnie tłumaczenie.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. Macierz transformacji afinicznym ma końcową kolumnę równą (0, 0, 1), więc należy określić tylko elementy członkowskie w pierwszych dwóch kolumnach.An affine transformation matrix has its final column equal to (0, 0, 1), so only the members in the first two columns need to be specified. Należy zauważyć, że wektory są wyrażane jako wektory wiersza, a nie wektory kolumn.Note that vectors are expressed as row-vectors, not column vectors.

WPFWPF AMatrix jest przechowywany przy użyciu kolejności najważniejszych wierszy i ma następującą strukturę:A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

Elementy członkowskie z ostatniego wiersza, OffsetX a OffsetYreprezentują wartości tłumaczenia.The members in the last row, OffsetX and OffsetY, represent translation values.

W metodach i właściwościach macierz transformacji jest zwykle określana jako wektor z zaledwie sześć elementów członkowskich w następujący sposób:In methods and properties, the transformation matrix is usually specified as a vector with only six members, as follows:

(M11, M12, M21, M22, OffsetX, OffsetY)(M11, M12, M21, M22, OffsetX, OffsetY)

Chociaż można używać Matrix struktury bezpośrednio do translacji poszczególnych punktów lub MatrixTransform do przekształcania obiektów, WPFWPF udostępnia również zestaw klas, które umożliwiają przekształcanie obiektów bez pracy bezpośrednio z macierzami: RotateTransform, ,ScaleTransform iTranslateTransform. SkewTransformAlthough you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPFWPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

Użycie atrybutu języka XAMLXAML Attribute Usage

<object property="m11, m12, m21, m22, offsetX, offsetY"/>  
- or -  
<object property="Identity"/>  

Wartości XAMLXAML Values

m11m11
System.Double

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

m12m12
System.Double

Wartość z pierwszego wiersza i drugiej kolumny.The value in the first row and second column. Aby uzyskać więcej informacji, zobacz M12 właściwość.For more information, see the M12 property.

m21m21
System.Double

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

m22m22
System.Double

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

offsetXoffsetX
System.Double

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

offsetYoffsetY
System.Double

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

Konstruktory

Matrix(Double, Double, Double, Double, Double, Double)

Inicjuje nowe wystąpienie Matrix struktury.Initializes a new instance of the Matrix structure.

Właściwości

Determinant

Pobiera wyznacznik tej Matrix struktury.Gets the determinant of this Matrix structure.

HasInverse

Pobiera wartość wskazującą, czy ta Matrix struktura jest odwracalna.Gets a value that indicates whether this Matrix structure is invertible.

Identity

Pobiera tożsamość Matrix.Gets an identity Matrix.

IsIdentity

Pobiera wartość wskazującą, czy ta Matrix struktura jest macierzą tożsamości.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11

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

M12

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

M21

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

M22

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

OffsetX

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

OffsetY

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

Metody

Append(Matrix)

Dołącza określoną Matrix strukturę do tej Matrix struktury.Appends the specified Matrix structure to this Matrix structure.

Equals(Matrix)

Określa, czy określona Matrix struktura jest identyczna z tym wystąpieniem.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury są identyczne.Determines whether the two specified Matrix structures are identical.

Equals(Object)

Określa, czy określona Object Matrix jest struktura Matrix, która jest taka sama.Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

GetHashCode()

Zwraca kod skrótu dla tej Matrix struktury.Returns the hash code for this Matrix structure.

Invert()

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

Multiply(Matrix, Matrix)

Mnoży strukturę przez inną Matrixstrukturę. MatrixMultiplies a Matrix structure by another Matrix structure.

Parse(String)

Konwertuje reprezentację macierzy na równoważną Matrix strukturę. StringConverts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix)

Dołącza określoną Matrix strukturę do tej Matrix struktury.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double)

Stosuje obrót o określonym kącie o pochodzeniu tej Matrix struktury.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double)

Obraca tę matrycę o określony punkt.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double)

Dołącza obrót określonego kąta w określonym punkcie do tej Matrix struktury.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double)

Dołącza obrót o określonym kącie do tej Matrix struktury.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double)

Dołącza określony wektor skali do tej Matrix struktury.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double)

Skaluje Matrix ten krok o określoną wartość o określonym punkcie.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double)

Dołącza określoną skalę w odnoszącym Matrixsię do określonego punktu.Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double)

Dołącza określoną skalę wektorową do tej Matrix struktury.Prepends the specified scale vector to this Matrix structure.

SetIdentity()

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

Skew(Double, Double)

Dołącza skośność określonych stopni w wymiarach x i y do tej Matrix struktury.Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double)

Dołącza skośność określonych stopni w wymiarach x i y do tej Matrix struktury.Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString()

Tworzy reprezentację tej Matrixstruktury. StringCreates a String representation of this Matrix structure.

ToString(IFormatProvider)

Tworzy reprezentację tej Matrix struktury przy użyciu informacji o formatowaniu specyficznych dla kultury. StringCreates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point)

Przekształca określony punkt przez Matrix i zwraca wynik.Transforms the specified point by the Matrix and returns the result.

Transform(Point[])

Przekształca określone punkty w ten Matrixsposób.Transforms the specified points by this Matrix.

Transform(Vector)

Przekształca określony wektor według tego Matrix.Transforms the specified vector by this Matrix.

Transform(Vector[])

Przekształca określone wektory w ten Matrixsposób.Transforms the specified vectors by this Matrix.

Translate(Double, Double)

Dołącza tłumaczenie określonych przesunięć do tej Matrix struktury.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double)

Dołącza tłumaczenie określonych przesunięć do tej Matrix struktury.Prepends a translation of the specified offsets to this Matrix structure.

Operatory

Equality(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury są identyczne.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix)

Określa, czy dwie określone Matrix struktury nie są identyczne.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix)

Mnoży strukturę przez inną Matrixstrukturę. MatrixMultiplies a Matrix structure by another Matrix structure.

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ż