Sdílet prostřednictvím


Matrix3D Struktura

Definice

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
Matrix3D
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

M11System.Double

Hodnota v prvním řádku a prvním sloupci tohoto Matrix3Dsouboru . Další informace najdete ve M11 vlastnosti .

M12System.Double

Hodnota v prvním řádku a druhém sloupci tohoto Matrix3Dobjektu Další informace najdete ve M12 vlastnosti .

M13System.Double

Hodnota v prvním řádku a třetím sloupci tohoto Matrix3Dobjektu Další informace najdete ve M13 vlastnosti .

M14System.Double

Hodnota v prvním řádku a čtvrtém sloupci tohoto Matrix3Dsloupce Další informace najdete ve M14 vlastnosti .

M21System.Double

Hodnota v druhém řádku a prvním sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M21 vlastnosti .

M22System.Double

Hodnota ve druhém řádku a druhém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M22 vlastnosti .

M23System.Double

Hodnota v druhém řádku a třetím sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M23 vlastnosti .

M24System.Double

Hodnota v druhém řádku a čtvrtém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M24 vlastnosti .

M31System.Double

Hodnota ve třetím řádku a prvním sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M31 vlastnosti .

M32System.Double

Hodnota ve třetím řádku a druhém sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M32 vlastnosti .

M33System.Double

Hodnota ve třetím řádku a třetím sloupci tohoto Matrix3Dobjektu . Další informace najdete ve M34 vlastnosti .

M34System.Double

Hodnota ve třetím řádku a čtvrtém sloupci tohoto Matrix3Dobjektu Další informace najdete ve M33 vlastnosti .

M44System.Double

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

Změní strukturu na Matrix3D identitu Matrix3D.

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)

Otočí tuto Matrix3D hodnotu o zadaném Point3Dparametru .

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)

Připojí zadané měřítko Vector3D k této Matrix3D struktuře.

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[])

Transformuje zadané Point3D objekty v poli pomocí Matrix3D.

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.

Platí pro