Matrix 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 przekształcania 3x3 używaną do przekształceń w przestrzeni 2-W.
public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
interface IFormattable
Public Structure Matrix
Implements IFormattable
- Dziedziczenie
- Atrybuty
- Implementuje
Uwagi
Macierz 3x3 służy do przekształceń na płaszczyźnie 2-W x-y. Macierze przekształcania affine można mnożyć w celu utworzenia dowolnej liczby przekształceń liniowych, takich jak obrót i niesymetryczność (ścinanie), a następnie tłumaczenie. Macierz przekształcania affine ma końcową kolumnę równą (0, 0, 1), więc należy określić tylko elementy członkowskie w pierwszych dwóch kolumnach. Należy pamiętać, że wektory są wyrażane jako wektory wierszy, a nie wektory kolumn.
WPF Matrix jest przechowywany przy użyciu kolejności głównej wierszy i ma następującą strukturę:
M11 | M12 | 0 |
M21 | M22 | 0 |
OffsetX | OffsetY | 1 |
Elementy członkowskie w ostatnim wierszu OffsetX i OffsetY, reprezentują wartości tłumaczenia.
W metodach i właściwościach macierz przekształcania jest zwykle określana jako wektor z zaledwie sześcioma elementami członkowskimi w następujący sposób:
(M11, M12, M21, M22, OffsetX, OffsetY)
Chociaż można użyć Matrix struktury bezpośrednio do tłumaczenia pojedynczych punktów lub za pomocą MatrixTransform obiektu do przekształcania obiektów, platforma WPF udostępnia również zestaw klas, które umożliwiają przekształcanie obiektów bez bezpośredniej pracy z macierzami: RotateTransform, ScaleTransform, SkewTransformi TranslateTransform.
Użycie atrybutu języka XAML
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
Wartości XAML
m11
System.Double
Wartość w pierwszym wierszu i pierwszej kolumnie tego Matrixelementu . Aby uzyskać więcej informacji, zobacz M11 właściwość .
m12
System.Double
Wartość w pierwszym wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz M12 właściwość .
m21
System.Double
Wartość w drugim wierszu i pierwszej kolumnie. Aby uzyskać więcej informacji, zobacz M21 właściwość .
m22
System.Double
Wartość w drugim wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz M22 właściwość .
przesunięcie X
System.Double
Wartość w trzecim wierszu i pierwszej kolumnie. Aby uzyskać więcej informacji, zobacz OffsetX właściwość .
offsetY
System.Double
Wartość w trzecim wierszu i drugiej kolumnie. Aby uzyskać więcej informacji, zobacz OffsetY właściwość .
Konstruktory
Matrix(Double, Double, Double, Double, Double, Double) |
Inicjuje Matrix nowe wystąpienie struktury. |
Właściwości
Determinant |
Pobiera determinant tej Matrix struktury. |
HasInverse |
Pobiera wartość wskazującą, czy ta Matrix struktura jest odwracalna. |
Identity |
Pobiera tożsamość Matrix. |
IsIdentity |
Pobiera wartość wskazującą, czy ta Matrix struktura jest macierzą tożsamości. |
M11 |
Pobiera lub ustawia wartość pierwszego wiersza i pierwszej kolumny tej Matrix struktury. |
M12 |
Pobiera lub ustawia wartość pierwszego wiersza i drugiej kolumny tej Matrix struktury. |
M21 |
Pobiera lub ustawia wartość drugiego wiersza i pierwszej kolumny tej Matrix struktury. |
M22 |
Pobiera lub ustawia wartość drugiego wiersza i drugiej kolumny tej Matrix struktury. |
OffsetX |
Pobiera lub ustawia wartość trzeciego wiersza i pierwszej kolumny tej Matrix struktury. |
OffsetY |
Pobiera lub ustawia wartość trzeciego wiersza i drugiej kolumny tej Matrix struktury. |
Metody
Append(Matrix) | |
Equals(Matrix) |
Określa, czy określona Matrix struktura jest identyczna z tym wystąpieniem. |
Equals(Matrix, Matrix) |
Określa, czy dwie określone Matrix struktury są identyczne. |
Equals(Object) |
Określa, czy określona Object jest strukturą, która jest identyczna z tą Matrixwartością Matrix . |
GetHashCode() |
Zwraca kod skrótu dla tej Matrix struktury. |
Invert() |
Odwraca tę Matrix strukturę. |
Multiply(Matrix, Matrix) | |
Parse(String) |
Konwertuje reprezentację String macierzy na równoważną Matrix strukturę. |
Prepend(Matrix) | |
Rotate(Double) |
Stosuje obrót określonego kąta o pochodzeniu tej Matrix struktury. |
RotateAt(Double, Double, Double) |
Obraca tę macierz o określonym punkcie. |
RotateAtPrepend(Double, Double, Double) |
Poprzedza obrót określonego kąta w określonym punkcie do tej Matrix struktury. |
RotatePrepend(Double) |
Poprzedza obrót określonego kąta do tej Matrix struktury. |
Scale(Double, Double) |
Dołącza określony wektor skalowania do tej Matrix struktury. |
ScaleAt(Double, Double, Double, Double) |
Skaluje to Matrix o określoną ilość o określony punkt. |
ScaleAtPrepend(Double, Double, Double, Double) |
Poprzedza określoną skalę o określonym punkcie tego Matrixelementu . |
ScalePrepend(Double, Double) |
Poprzedza określony wektor skalowania do tej Matrix struktury. |
SetIdentity() |
Zmienia tę Matrix strukturę w macierz tożsamości. |
Skew(Double, Double) |
Dołącza niesymetryczność określonych stopni w wymiarach x i y do tej Matrix struktury. |
SkewPrepend(Double, Double) |
Poprzedza niesymetryczność określonych stopni w wymiarach x i y do tej Matrix struktury. |
ToString() | |
ToString(IFormatProvider) |
Tworzy reprezentację String tej Matrix struktury z informacjami o formatowaniu specyficznymi dla kultury. |
Transform(Point) |
Przekształca określony punkt przez Matrix element i zwraca wynik. |
Transform(Point[]) |
Przekształca określone punkty przez ten Matrixelement . |
Transform(Vector) |
Przekształca określony wektor przez ten Matrixelement . |
Transform(Vector[]) |
Przekształca określone wektory przez ten Matrixelement . |
Translate(Double, Double) |
Dołącza tłumaczenie określonych przesunięć do tej Matrix struktury. |
TranslatePrepend(Double, Double) |
Poprzedza tłumaczenie określonych przesunięć na tę Matrix strukturę. |
Operatory
Equality(Matrix, Matrix) |
Określa, czy dwie określone Matrix struktury są identyczne. |
Inequality(Matrix, Matrix) |
Określa, czy dwie określone Matrix struktury nie są identyczne. |
Multiply(Matrix, Matrix) |
Jawne implementacje interfejsu
IFormattable.ToString(String, IFormatProvider) |
Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu. |