Matrix Struktur
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili matriks transformasi affine 3 × 3 yang digunakan untuk transformasi dalam ruang dua dimensi.
public value class Matrix
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
struct Matrix
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct Matrix
Public Structure Matrix
<Matrix .../>
- or -
<object property="m11,m12,m21,m22,offsetX,offsetY"/>
- or -
<object property="m11 m12 m21 m22 offsetX offsetY"/>
-or-
<object property="Identity"/>
- Warisan
-
Matrix
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Contoh
Contoh XAML ini mendefinisikan Matriks yang menyediakan data untuk MatrixTransform yang diterapkan ke bentuk persegi panjang. Dalam hal ini, matriks menggabungkan offset (OffsetX dan OffsetY) dan condong (M12). Perhatikan bahwa efek yang sama ini dapat dihasilkan dengan menggabungkan TranslateTransform dan SkewTransform. Apakah menggunakan Matriks tunggal atau kombinasi transformasi diskrit adalah masalah gaya pengodean; hasilnya identik.
<Rectangle Width="100" Height="100" Fill="Red">
<Rectangle.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,200,0">
</MatrixTransform>
</Rectangle.RenderTransform>
</Rectangle>
Keterangan
Matriks 3×3 digunakan untuk transformasi dalam bidang x-y dua dimensi. Matriks transformasi afin dapat dikalikan untuk membentuk sejumlah transformasi linier, seperti rotasi dan condong (geser), diikuti dengan terjemahan. Matriks transformasi affine memiliki kolom akhir yang sama dengan (0, 0, 1), sehingga hanya anggota di dua kolom pertama yang perlu ditentukan. Perhatikan bahwa vektor dinyatakan sebagai vektor baris, bukan vektor kolom.
Matriks disimpan menggunakan urutan utama baris dan memiliki struktur berikut:
M11 | M12 | 0 |
M21 | M22 | 0 |
OffsetX | Offsety | 1 |
Anggota di baris terakhir, OffsetX dan OffsetY, mewakili nilai terjemahan.
Dalam metode dan properti, matriks transformasi biasanya ditentukan sebagai vektor dengan hanya enam anggota, sebagai berikut: (M11, M12, M21, M22, OffsetX, OffsetY)
Meskipun Anda dapat menggunakan struktur Matriks secara langsung untuk menerjemahkan titik individual, atau dengan MatrixTransform untuk mengubah objek, Windows Runtime juga menyediakan sekumpulan kelas yang dapat mengubah objek tanpa bekerja langsung dengan matriks:
Properti Matriks dapat dianimasikan (sebagai satu atau beberapa animasi DoubleAnimation atau DoubleAnimationUsingKeyFrames).
Matriks adalah nilai properti untuk properti MatrixTransform.Matrix . Jenis terkait dapat digunakan untuk matriks transformasi dalam ruang tiga dimensi lalu digunakan untuk proyeksi. Lihat Matrix3D dan Matrix3DProjection.
Proyeksi bahasa dan anggota Matriks
Jika Anda menggunakan bahasa Microsoft .NET (C# atau Microsoft Visual Basic), atau di ekstensi komponen Visual C++ (C++/CX) maka Matriks memiliki anggota non-data yang tersedia, dan anggota datanya diekspos sebagai properti baca-tulis, bukan bidang.
Jika Anda memprogram dengan C++ menggunakan Pustaka Templat Runtime Windows (WRL), maka hanya bidang anggota data yang ada sebagai anggota Matriks, dan Anda tidak dapat menggunakan metode utilitas atau properti yang tercantum dalam tabel anggota. Kode WRL dapat mengakses metode utilitas serupa yang ada di kelas MatrixHelper .
Bidang
M11 |
Nilai baris pertama dan kolom pertama dari struktur Matriks ini. |
M12 |
Nilai baris pertama dan kolom kedua dari struktur Matriks ini. |
M21 |
Nilai baris kedua dan kolom pertama dari struktur Matriks ini. |
M22 |
Nilai baris kedua dan kolom kedua dari struktur Matriks ini. |
OffsetX |
Mendapatkan atau mengatur nilai baris ketiga dan kolom pertama dari struktur Matriks ini. |
OffsetY |
Mendapatkan atau mengatur nilai baris ketiga dan kolom kedua dari struktur Matriks ini. |