Matrix3D Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje matici 4 x 4 použitou pro transformace v prostorovém prostoru.
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
- Dědičnost
- Atributy
- Implementuje
Příklady
// 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)
Poznámky
Matrix3D má následující syntaxi vektoru řádku:
M11 | M12 | M13 | M14 |
M21 | M22 | M23 | M24 |
M31 | M32 | M33 | M34 |
OffsetX | OffsetY | OffsetZ | M44 |
Všimněte si, že vzhledem k tomu, že čtvrtý sloupec je také přístupný, matice umožňuje vývojářům znázornit affinu i jiné než affinové transformace.
Matice mohou být připojeny nebo předpřipraveny k jiným maticům. Připojení matice A k matici B označuje transformaci pomocí B a potom A:
Použití atributu XAML
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>
Hodnoty XAML
M11
System.Double
Hodnota v prvním řádku a prvním sloupci tohoto Matrix3D. Další informace najdete v M11 této vlastnosti.
M12
System.Double
Hodnota v prvním řádku a druhém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M12 této vlastnosti.
M13
System.Double
Hodnota v prvním řádku a třetím sloupci tohoto Matrix3Dsloupce . Další informace najdete v M13 této vlastnosti.
M14
System.Double
Hodnota v prvním řádku a čtvrtém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M14 této vlastnosti.
M21
System.Double
Hodnota ve druhém řádku a prvním sloupci tohoto Matrix3Dsloupce . Další informace najdete v M21 této vlastnosti.
M22
System.Double
Hodnota ve druhém řádku a druhém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M22 této vlastnosti.
M23
System.Double
Hodnota v druhém řádku a třetím sloupci tohoto Matrix3Dsloupce . Další informace najdete v M23 této vlastnosti.
M24
System.Double
Hodnota ve druhém řádku a čtvrtém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M24 této vlastnosti.
M31
System.Double
Hodnota ve třetím řádku a prvním sloupci tohoto Matrix3D. Další informace najdete v M31 této vlastnosti.
M32
System.Double
Hodnota ve třetím řádku a druhém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M32 této vlastnosti.
M33
System.Double
Hodnota ve třetím řádku a třetím sloupci tohoto Matrix3Dsloupce . Další informace najdete v M34 této vlastnosti.
M34
System.Double
Hodnota ve třetím řádku a čtvrtém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M33 této vlastnosti.
M44
System.Double
Hodnota ve čtvrtém řádku a čtvrtém sloupci tohoto Matrix3Dsloupce . Další informace najdete v M44 této vlastnosti.
Offsetx
System.Double
Hodnota ve čtvrtém řádku a prvním sloupci tohoto Matrix3Dsloupce . Další informace najdete v OffsetX této vlastnosti.
posunY
System.Double
Hodnota ve čtvrtém řádku a druhém sloupci tohoto Matrix3Dsloupce . Další informace najdete v OffsetY této vlastnosti.
offsetZ
System.Double
Hodnota ve čtvrtém řádku a třetím sloupci tohoto Matrix3Dsloupce . Další informace najdete v OffsetZ této vlastnosti.
Konstruktory
Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Konstruktor, který nastavuje počáteční hodnoty matice |
Vlastnosti
Determinant |
Načte determinant této Matrix3D struktury. |
HasInverse |
Získá hodnotu, která označuje, zda je to Matrix3D invertovatelné. |
Identity | |
IsAffine |
Získá hodnotu, která označuje, zda tato Matrix3D struktura je affine. |
IsIdentity |
Určuje, zda je tato Matrix3D struktura maticí identity 3D. |
M11 |
Získá nebo nastaví hodnotu prvního řádku a prvního sloupce této Matrix3D struktury. |
M12 |
Získá nebo nastaví hodnotu prvního řádku a druhého sloupce této Matrix3D struktury. |
M13 |
Získá nebo nastaví hodnotu prvního řádku a třetí sloupec této Matrix3D struktury. |
M14 |
Získá nebo nastaví hodnotu prvního řádku a čtvrtého sloupce této Matrix3D struktury. |
M21 |
Získá nebo nastaví hodnotu druhého řádku a prvního sloupce této Matrix3D struktury. |
M22 |
Získá nebo nastaví hodnotu druhého řádku a druhého sloupce této Matrix3D struktury. |
M23 |
Získá nebo nastaví hodnotu druhého řádku a třetí sloupec této Matrix3D struktury. |
M24 |
Získá nebo nastaví hodnotu druhého řádku a čtvrtého sloupce této Matrix3D struktury. |
M31 |
Získá nebo nastaví hodnotu třetího řádku a prvního sloupce této Matrix3D struktury. |
M32 |
Získá nebo nastaví hodnotu třetího řádku a druhého sloupce této Matrix3D struktury. |
M33 |
Získá nebo nastaví hodnotu třetího řádku a třetí sloupec této Matrix3D struktury. |
M34 |
Získá nebo nastaví hodnotu třetího řádku a čtvrtého sloupce této Matrix3D struktury. |
M44 |
Získá nebo nastaví hodnotu čtvrtého řádku a čtvrtého sloupce této Matrix3D struktury. |
OffsetX |
Získá nebo nastaví hodnotu čtvrtého řádku a prvního sloupce této Matrix3D struktury. |
OffsetY |
Získá nebo nastaví hodnotu čtvrtého řádku a druhého sloupce této Matrix3D struktury. |
OffsetZ |
Získá nebo nastaví hodnotu čtvrtého řádku a třetí sloupec této Matrix3D struktury. |
Metody
Append(Matrix3D) |
Připojí zadanou matici k aktuální matici. |
Equals(Matrix3D) |
Testuje rovnost mezi dvěma matici. |
Equals(Matrix3D, Matrix3D) |
Testuje rovnost mezi dvěma matici. |
Equals(Object) |
Testuje rovnost mezi dvěma matici. |
GetHashCode() |
Vrátí kód hash pro tuto matici. |
Invert() |
Invertuje tuto Matrix3D strukturu. |
Multiply(Matrix3D, Matrix3D) |
Vynásobí zadané matice. |
Parse(String) |
Převede řetězcovou reprezentaci Matrix3D struktury na ekvivalentní strukturu Matrix3D. |
Prepend(Matrix3D) |
Předpendá zadanou matici na aktuální matici. |
Rotate(Quaternion) |
Připojí k aktuálnímu Matrix3Dobjektu transformaci otočení . |
RotateAt(Quaternion, Point3D) | |
RotateAtPrepend(Quaternion, Point3D) |
Předsadí otáčení o zadaném středu Point3D této Matrix3D struktury. |
RotatePrepend(Quaternion) |
Předsadí rotaci určenou Quaternion pro tuto Matrix3D strukturu. |
Scale(Vector3D) | |
ScaleAt(Vector3D, Point3D) |
Škáluje tuto Matrix3D strukturu podle zadaného Vector3D parametru Point3D. |
ScaleAtPrepend(Vector3D, Point3D) |
Předpendá zadanou transformaci škálování týkající se zadané Point3D struktury Matrix3D . |
ScalePrepend(Vector3D) |
Předem nastaví zadané měřítko Vector3D na aktuální Matrix3D strukturu. |
SetIdentity() |
Změní tuto Matrix3D strukturu na matici identit. |
ToString() |
Vytvoří řetězcovou reprezentaci této Matrix3D struktury. |
ToString(IFormatProvider) |
Vytvoří řetězcovou reprezentaci této Matrix3D struktury. |
Transform(Point3D) |
Transformuje zadaný Point3D parametr Matrix3D a vrátí výsledek. |
Transform(Point3D[]) | |
Transform(Point4D) |
Transformuje zadaný Point4D parametr Matrix3D a vrátí výsledek. |
Transform(Point4D[]) |
Transformuje zadané Point4D objekty v poli podle Matrix3D a vrátí výsledek. |
Transform(Vector3D) |
Transformuje specifikované Vector3D tímto parametrem Matrix3D. |
Transform(Vector3D[]) | |
Translate(Vector3D) |
Připojí překlad zadaného posunu k aktuální Matrix3D struktuře. |
TranslatePrepend(Vector3D) |
Předloží překlad zadaného posunu do této Matrix3D struktury. |
Operátory
Equality(Matrix3D, Matrix3D) |
Porovná dvě Matrix3D instance pro přesnou rovnost. |
Inequality(Matrix3D, Matrix3D) |
Porovná dvě Matrix3D instance přesné nerovnosti. |
Multiply(Matrix3D, Matrix3D) |
Vynásobí zadané matice. |
Explicitní implementace rozhraní
IFormattable.ToString(String, IFormatProvider) |
Naformátuje hodnotu aktuální instance pomocí zadaného formátu. |