Matrix3D Struktura

Definice

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
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 řá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

Matrix3D Změní strukturu na identitu Matrix3D.

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)

Otočí to Matrix3D o zadaném 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)

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

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

Transformuje zadané Point3D objekty v poli pomocí Matrix3D.

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

Transformuje zadané Vector3D objekty v poli tímto Matrix3D.

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.

Platí pro

Viz také