Matrix3D Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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
Der Wert in der ersten Zeile und ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M11-Eigenschaft.
Der Wert in der ersten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M12-Eigenschaft.
Der Wert in der ersten Zeile und dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M13-Eigenschaft.
Der Wert in der ersten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M14-Eigenschaft.
Der Wert in der zweiten Zeile und der ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M21-Eigenschaft.
Der Wert in der zweiten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M22-Eigenschaft.
Der Wert in der zweiten Zeile und dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M23-Eigenschaft.
Der Wert in der zweiten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M24-Eigenschaft.
Der Wert in der dritten Zeile und der ersten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M31-Eigenschaft.
Der Wert in der dritten Zeile und zweiten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M32-Eigenschaft.
Der Wert in der dritten Zeile und der dritten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M34-Eigenschaft.
Der Wert in der dritten Zeile und der vierten Spalte dieses Matrix3D. Weitere Informationen finden Sie in den Ausführungen zur M33-Eigenschaft.
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 | |
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) | |
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) | |
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. |