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í.
Znázorňuje 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 řádků:
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 afinní i jiné transformace.
Matice mohou být připojeny nebo předponovány k jiným maticám. Připojení matice A k matici B označuje transformaci podle B a potom podle 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
Hodnota v prvním řádku a prvním sloupci tohoto Matrix3Dsouboru . Další informace najdete ve M11 vlastnosti .
Hodnota v prvním řádku a druhém sloupci tohoto Matrix3Dobjektu Další informace najdete ve M12 vlastnosti .
Hodnota v prvním řádku a třetím sloupci tohoto Matrix3Dobjektu Další informace najdete ve M13 vlastnosti .
Hodnota v prvním řádku a čtvrtém sloupci tohoto Matrix3Dsloupce Další informace najdete ve M14 vlastnosti .
Hodnota v druhém řádku a prvním sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M21 vlastnosti .
Hodnota ve druhém řádku a druhém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M22 vlastnosti .
Hodnota v druhém řádku a třetím sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M23 vlastnosti .
Hodnota v druhém řádku a čtvrtém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M24 vlastnosti .
Hodnota ve třetím řádku a prvním sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M31 vlastnosti .
Hodnota ve třetím řádku a druhém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M32 vlastnosti .
Hodnota ve třetím řádku a třetím sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M34 vlastnosti .
Hodnota ve třetím řádku a čtvrtém sloupci tohoto Matrix3Dobjektu Další informace najdete ve M33 vlastnosti .
Hodnota ve čtvrtém řádku a čtvrtém sloupci tohoto Matrix3D. Další informace najdete ve M44 vlastnosti .
OffsetxSystem.Double
Hodnota ve čtvrtém řádku a prvním sloupci tohoto Matrix3Dsouboru Další informace najdete ve OffsetX vlastnosti .
offsetYSystem.Double
Hodnota ve čtvrtém řádku a druhém sloupci tohoto Matrix3Dsloupce Další informace najdete ve OffsetY vlastnosti .
offsetZSystem.Double
Hodnota ve čtvrtém řádku a třetím sloupci tohoto Matrix3Dobjektu . Další informace najdete ve OffsetZ 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 invertibilní Matrix3D . |
Identity | |
IsAffine |
Získá hodnotu, která označuje, zda je tato Matrix3D struktura affine. |
IsIdentity |
Určuje, zda je tato Matrix3D struktura identita Matrix3D. |
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ího sloupce 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ího sloupce 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 maticemi. |
Equals(Matrix3D, Matrix3D) |
Testuje rovnost mezi dvěma maticemi. |
Equals(Object) |
Testuje rovnost mezi dvěma maticemi. |
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ředpřidá zadanou matici k aktuální matici. |
Rotate(Quaternion) |
Připojí transformaci otáčení k aktuálnímu Matrix3Dobjektu . |
RotateAt(Quaternion, Point3D) | |
RotateAtPrepend(Quaternion, Point3D) |
Předpena rotace o zadaný střed Point3D do této Matrix3D struktury. |
RotatePrepend(Quaternion) |
Předpřidá rotaci určenou parametrem a Quaternion do této Matrix3D struktury. |
Scale(Vector3D) | |
ScaleAt(Vector3D, Point3D) |
Škáluje tuto Matrix3D strukturu podle zadaného Vector3D objektu Point3D. |
ScaleAtPrepend(Vector3D, Point3D) |
Předpendá zadanou transformaci škálování o zadaném Point3D objektu do této Matrix3D struktury. |
ScalePrepend(Vector3D) |
Předpení zadaného měřítka Vector3D k aktuální Matrix3D struktuře. |
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 hodnotu určenou Point3D parametrem Matrix3D a vrátí výsledek. |
Transform(Point3D[]) | |
Transform(Point4D) |
Transformuje hodnotu určenou Point4D parametrem Matrix3D a vrátí výsledek. |
Transform(Point4D[]) |
Transformuje zadané Point4D objekty v poli pomocí Matrix3D a vrátí výsledek. |
Transform(Vector3D) |
Transformuje hodnotu určenou Vector3D tímto Matrix3Dobjektem . |
Transform(Vector3D[]) |
Transformuje zadané Vector3D objekty v poli pomocí tohoto Matrix3D. |
Translate(Vector3D) |
Připojí překlad zadaného posunu k aktuální Matrix3D struktuře. |
TranslatePrepend(Vector3D) |
Předkládá 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á dva Matrix3D výskyty přesné nerovnosti. |
Multiply(Matrix3D, Matrix3D) |
Vynásobí zadané matice. |
Explicitní implementace rozhraní
IFormattable.ToString(String, IFormatProvider) |
Formátuje hodnotu aktuální instance pomocí zadaného formátu. |