Freigeben über


Matrix3D Struktur

Definition

Stellt eine 4x4-Matrix dar, die für Transformationen im 3D-Raum verwendet wird.

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
Vererbung
Matrix3D
Attribute
Implementiert

Beispiele

// 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)

Hinweise

Matrix3D weist die folgende Zeilenvektorsyntax auf:

M11 M12 M13 M14
M21 M22 M23 M24
M31 M32 M33 M34
OffsetX OffsetY OffsetZ M44

Beachten Sie, dass entwickler mit der Matrix sowohl affine als auch nicht affine Transformationen darstellen können, da auch auf die vierte Spalte zugegriffen werden kann.

Matrizen können an andere Matrizen angefügt oder vorangestellt werden. Das Anfügen von Matrix A an Matrix B kennzeichnet eine Transformation durch B und dann durch A:

Verwendung von XAML-Attributen

<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>

XAML-Werte

M11System.Double

Der Wert in der ersten Zeile und ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M11-Eigenschaft.

M12System.Double

Der Wert in der ersten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M12-Eigenschaft.

M13System.Double

Der Wert in der ersten Zeile und dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M13-Eigenschaft.

M14System.Double

Der Wert in der ersten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M14-Eigenschaft.

M21System.Double

Der Wert in der zweiten Zeile und der ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M21-Eigenschaft.

M22System.Double

Der Wert in der zweiten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M22-Eigenschaft.

M23System.Double

Der Wert in der zweiten Zeile und dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M23-Eigenschaft.

M24System.Double

Der Wert in der zweiten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M24-Eigenschaft.

M31System.Double

Der Wert in der dritten Zeile und der ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M31-Eigenschaft.

M32System.Double

Der Wert in der dritten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M32-Eigenschaft.

M33System.Double

Der Wert in der dritten Zeile und der dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M34-Eigenschaft.

M34System.Double

Der Wert in der dritten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M33-Eigenschaft.

M44System.Double

Der Wert in der vierten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M44-Eigenschaft.

OffsetxSystem.Double

Der Wert in der vierten Zeile und ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur OffsetX-Eigenschaft.

OffsetySystem.Double

Der Wert in der vierten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur OffsetY-Eigenschaft.

offsetZSystem.Double

Der Wert in der vierten Zeile und der dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur OffsetZ-Eigenschaft.

Konstruktoren

Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)

Ein Konstruktor, der die Anfangswerte der Matrix festlegt.

Eigenschaften

Determinant

Ruft die Determinante der Matrix3D-Struktur ab.

HasInverse

Ruft einen Wert ab, der angibt, ob Matrix3D invertierbar ist.

Identity

Ändert eine Matrix3D-Struktur in ein Identitäts-Matrix3D.

IsAffine

Ruft einen Wert ab, der angibt, ob die Matrix3D-Struktur affin ist.

IsIdentity

Bestimmt, ob die Matrix3D-Struktur ein Identitäts-Matrix3D ist.

M11

Ruft den Wert der ersten Zeile und ersten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M12

Ruft den Wert der ersten Zeile und zweiten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M13

Ruft den Wert der ersten Zeile und dritten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M14

Ruft den Wert der ersten Zeile und vierten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M21

Ruft den Wert der zweiten Zeile und ersten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M22

Ruft den Wert der zweiten Zeile und zweiten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M23

Ruft den Wert der zweiten Zeile und dritten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M24

Ruft den Wert der zweiten Zeile und vierten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M31

Ruft den Wert der dritten Zeile und ersten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M32

Ruft den Wert der dritten Zeile und zweiten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M33

Ruft den Wert der dritten Zeile und dritten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M34

Ruft den Wert der dritten Zeile und vierten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

M44

Ruft den Wert der vierten Zeile und vierten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

OffsetX

Ruft den Wert der vierten Zeile und ersten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

OffsetY

Ruft den Wert der vierten Zeile und zweiten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

OffsetZ

Ruft den Wert der vierten Zeile und dritten Spalte der Matrix3D-Struktur ab oder legt diesen fest.

Methoden

Append(Matrix3D)

Fügt eine angegebene Matrix an die aktuelle Matrix an.

Equals(Matrix3D, Matrix3D)

Überprüft zwei Matrizen auf Gleichheit.

Equals(Matrix3D)

Überprüft zwei Matrizen auf Gleichheit.

Equals(Object)

Überprüft zwei Matrizen auf Gleichheit.

GetHashCode()

Gibt den Hashcode für die Matrix zurück.

Invert()

Invertiert die Matrix3D-Struktur.

Multiply(Matrix3D, Matrix3D)

Multipliziert die angegebenen Matrizen.

Parse(String)

Konvertiert eine Zeichenfolgendarstellung einer Matrix3D-Struktur in die entsprechende Matrix3D-Struktur.

Prepend(Matrix3D)

Stellt der aktuellen Matrix eine angegebene Matrix voran.

Rotate(Quaternion)

Fügt eine Drehungstransformation an das aktuelle Matrix3D an.

RotateAt(Quaternion, Point3D)

Dreht das Matrix3D um das angegebene Point3D.

RotateAtPrepend(Quaternion, Point3D)

Stellt der Point3D-Struktur eine Drehung um ein angegebenes Mittelpunkt-Matrix3D voran.

RotatePrepend(Quaternion)

Stellt der Quaternion-Struktur eine mit einer Matrix3D angegebene Drehung voran.

Scale(Vector3D)

Fügt das angegebene Skalierungs-Vector3D an die Matrix3D-Struktur an.

ScaleAt(Vector3D, Point3D)

Skaliert die Matrix3D-Struktur mit dem angegebenen Vector3D auf dem angegebenen Point3D.

ScaleAtPrepend(Vector3D, Point3D)

Stellt der Point3D-Struktur die angegebene Skalierungstransformation auf dem angegebenen Matrix3D voran.

ScalePrepend(Vector3D)

Stellt der aktuellen Vector3D-Struktur das angegebene Skalierungs-Matrix3D voran.

SetIdentity()

Ändert die Matrix3D-Struktur in eine Identitätsmatrix.

ToString()

Erstellt eine Zeichenfolgendarstellung der Matrix3D-Struktur.

ToString(IFormatProvider)

Erstellt eine Zeichenfolgendarstellung der Matrix3D-Struktur.

Transform(Point3D)

Transformiert das angegebene Point3D mit dem Matrix3D und gibt das Ergebnis zurück.

Transform(Point3D[])

Transformiert die angegebenen Point3D-Objekte im Array mit dem Matrix3D.

Transform(Point4D)

Transformiert das angegebene Point4D mit dem Matrix3D und gibt das Ergebnis zurück.

Transform(Point4D[])

Transformiert die angegebenen Point4D-Objekte im Array mit dem Matrix3D und gibt das Ergebnis zurück.

Transform(Vector3D)

Transformiert das angegebene Vector3D mit dem Matrix3D.

Transform(Vector3D[])

Transformiert die angegebenen Vector3D-Objekte im Array mit dem Matrix3D.

Translate(Vector3D)

Fügt eine Verschiebung um den angegebenen Offset an die aktuelle Matrix3D-Struktur an.

TranslatePrepend(Vector3D)

Stellt der Matrix3D-Struktur eine Verschiebung um den angegebenen Offset voran.

Operatoren

Equality(Matrix3D, Matrix3D)

Überprüft zwei Matrix3D-Instanzen auf genaue Gleichheit.

Inequality(Matrix3D, Matrix3D)

Überprüft zwei Matrix3D-Instanzen auf genaue Ungleichheit.

Multiply(Matrix3D, Matrix3D)

Multipliziert die angegebenen Matrizen.

Explizite Schnittstellenimplementierungen

IFormattable.ToString(String, IFormatProvider)

Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format.

Gilt für: