Matrix3D 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 4 x 4 yang digunakan untuk transformasi dalam ruang 3-D.
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
- Warisan
- Atribut
- Penerapan
Contoh
// 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)
Keterangan
Matrix3D memiliki sintaks vektor baris berikut:
| Kolom 1 | Kolom 2 | Kolom 3 | Kolom 4 |
|---|---|---|---|
| M11 | M12 | M13 | M14 |
| M21 | M22 | M23 | M24 |
| M31 | M32 | M33 | M34 |
| OffsetX | OffsetY | OffsetZ | M44 |
Perhatikan bahwa karena kolom keempat juga dapat diakses, matriks memungkinkan pengembang untuk mewakili afin serta transformasi non-afin.
Matriks dapat ditambahkan atau ditambahkan sebelumnya ke matriks lain. Menambahkan matriks A ke matriks B menunjukkan transformasi oleh B lalu oleh A:
Penggunaan Atribut XAML
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>
Nilai XAML
Nilai di baris pertama dan kolom pertama dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M11.
Nilai di baris pertama dan kolom kedua dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M12.
Nilai di baris pertama dan kolom ketiga dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M13.
Nilai di baris pertama dan kolom keempat dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M14.
Nilai di baris kedua dan kolom pertama dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M21.
Nilai di baris kedua dan kolom kedua dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M22.
Nilai di baris kedua dan kolom ketiga dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M23.
Nilai di baris kedua dan kolom keempat dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M24.
Nilai di baris ketiga dan kolom pertama dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M31.
Nilai di baris ketiga dan kolom kedua dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M32.
Nilai di baris ketiga dan kolom ketiga dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M34.
Nilai di baris ketiga dan kolom keempat dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M33.
Nilai dalam baris keempat dan kolom keempat dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti M44.
offsetXSystem.Double
Nilai di baris keempat dan kolom pertama dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti OffsetX.
offsetYSystem.Double
Nilai dalam baris keempat dan kolom kedua dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti OffsetY.
offsetZSystem.Double
Nilai dalam baris keempat dan kolom ketiga dari ini Matrix3D. Untuk informasi selengkapnya, lihat properti OffsetZ.
Konstruktor
| Nama | Deskripsi |
|---|---|
| Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Konstruktor yang menetapkan nilai awal matriks. |
Properti
| Nama | Deskripsi |
|---|---|
| Determinant |
Mengambil penenjuk struktur ini Matrix3D . |
| HasInverse |
Mendapatkan nilai yang menunjukkan apakah ini Matrix3D tidak dapat dibalik. |
| Identity | |
| IsAffine |
Mendapatkan nilai yang menunjukkan apakah struktur ini Matrix3D affine. |
| IsIdentity |
Menentukan apakah struktur ini Matrix3D adalah identitas Matrix3D. |
| M11 |
Mendapatkan atau mengatur nilai baris pertama dan kolom pertama struktur ini Matrix3D . |
| M12 |
Mendapatkan atau mengatur nilai baris pertama dan kolom kedua dari struktur ini Matrix3D . |
| M13 |
Mendapatkan atau mengatur nilai baris pertama dan kolom ketiga dari struktur ini Matrix3D . |
| M14 |
Mendapatkan atau mengatur nilai baris pertama dan kolom keempat dari struktur ini Matrix3D . |
| M21 |
Mendapatkan atau mengatur nilai baris kedua dan kolom pertama struktur ini Matrix3D . |
| M22 |
Mendapatkan atau mengatur nilai baris kedua dan kolom kedua dari struktur ini Matrix3D . |
| M23 |
Mendapatkan atau mengatur nilai baris kedua dan kolom ketiga struktur ini Matrix3D . |
| M24 |
Mendapatkan atau mengatur nilai baris kedua dan kolom keempat dari struktur ini Matrix3D . |
| M31 |
Mendapatkan atau mengatur nilai baris ketiga dan kolom pertama struktur ini Matrix3D . |
| M32 |
Mendapatkan atau mengatur nilai baris ketiga dan kolom kedua dari struktur ini Matrix3D . |
| M33 |
Mendapatkan atau mengatur nilai baris ketiga dan kolom ketiga dari struktur ini Matrix3D . |
| M34 |
Mendapatkan atau mengatur nilai baris ketiga dan kolom keempat dari struktur ini Matrix3D . |
| M44 |
Mendapatkan atau mengatur nilai baris keempat dan kolom keempat dari struktur ini Matrix3D . |
| OffsetX |
Mendapatkan atau mengatur nilai baris keempat dan kolom pertama struktur ini Matrix3D . |
| OffsetY |
Mendapatkan atau mengatur nilai baris keempat dan kolom kedua dari struktur ini Matrix3D . |
| OffsetZ |
Mendapatkan atau mengatur nilai baris keempat dan kolom ketiga dari struktur ini Matrix3D . |
Metode
| Nama | Deskripsi |
|---|---|
| Append(Matrix3D) |
Menambahkan matriks tertentu ke matriks saat ini. |
| Equals(Matrix3D, Matrix3D) |
Menguji kesetaraan antara dua matriks. |
| Equals(Matrix3D) |
Menguji kesetaraan antara dua matriks. |
| Equals(Object) |
Menguji kesetaraan antara dua matriks. |
| GetHashCode() |
Mengembalikan kode hash untuk matriks ini. |
| Invert() |
Menginversi struktur ini Matrix3D . |
| Multiply(Matrix3D, Matrix3D) |
Mengalikan matriks yang ditentukan. |
| Parse(String) |
Mengonversi representasi string struktur Matrix3D menjadi struktur Matrix3D yang setara. |
| Prepend(Matrix3D) |
Menambahkan matriks yang ditentukan ke matriks saat ini. |
| Rotate(Quaternion) |
Menambahkan transformasi rotasi ke saat ini Matrix3D. |
| RotateAt(Quaternion, Point3D) | |
| RotateAtPrepend(Quaternion, Point3D) |
Menambahkan rotasi sebelumnya tentang pusat Point3D tertentu ke struktur ini Matrix3D . |
| RotatePrepend(Quaternion) |
Menambahkan rotasi yang ditentukan oleh Quaternion ke struktur ini Matrix3D . |
| Scale(Vector3D) |
Menambahkan skala Vector3D yang ditentukan ke struktur ini Matrix3D . |
| ScaleAt(Vector3D, Point3D) |
Menskalakan struktur ini Matrix3D dengan yang ditentukan Vector3D tentang yang ditentukan Point3D. |
| ScaleAtPrepend(Vector3D, Point3D) |
Menambahkan sebelumnya transformasi skala yang ditentukan tentang yang ditentukan Point3D untuk struktur ini Matrix3D . |
| ScalePrepend(Vector3D) |
Menambahkan skala Vector3D yang ditentukan ke struktur saat ini Matrix3D . |
| SetIdentity() |
Mengubah struktur ini Matrix3D menjadi matriks identitas. |
| ToString() |
Membuat representasi string dari struktur ini Matrix3D . |
| ToString(IFormatProvider) |
Membuat representasi string dari struktur ini Matrix3D . |
| Transform(Point3D) |
Mengubah yang ditentukan Point3D oleh Matrix3D dan mengembalikan hasilnya. |
| Transform(Point3D[]) |
Mengubah objek yang ditentukan Point3D dalam array oleh Matrix3D. |
| Transform(Point4D) |
Mengubah yang ditentukan Point4D oleh Matrix3D dan mengembalikan hasilnya. |
| Transform(Point4D[]) |
Mengubah objek yang ditentukan Point4D dalam array oleh Matrix3D dan mengembalikan hasilnya. |
| Transform(Vector3D) | |
| Transform(Vector3D[]) |
Mengubah objek yang ditentukan Vector3D dalam array dengan ini Matrix3D. |
| Translate(Vector3D) |
Menambahkan terjemahan offset yang ditentukan ke struktur saat ini Matrix3D . |
| TranslatePrepend(Vector3D) |
Menambahkan terjemahan offset yang ditentukan ke struktur ini Matrix3D . |
Operator
| Nama | Deskripsi |
|---|---|
| Equality(Matrix3D, Matrix3D) |
Membandingkan dua Matrix3D instans untuk kesetaraan yang tepat. |
| Inequality(Matrix3D, Matrix3D) |
Membandingkan dua Matrix3D instans untuk ketidaksamaan yang tepat. |
| Multiply(Matrix3D, Matrix3D) |
Mengalikan matriks yang ditentukan. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Memformat nilai instans saat ini menggunakan format yang ditentukan. |