Matrix3D Struct-datatyp
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en matris på 4 x 4 som används för transformeringar i 3D-blanksteg.
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
- Arv
- Attribut
- Implementeringar
Exempel
// 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)
Kommentarer
Matrix3D har följande radvektorsyntax:
| Kolumn 1 | Kolumn 2 | Kolumn 3 | Kolumn 4 |
|---|---|---|---|
| M11 | M12 | M13 | M14 |
| M21 | M22 | M23 | M24 |
| M31 | M32 | M33 | M34 |
| OffsetX | OffsetY | OffsetZ | M44 |
Observera att eftersom den fjärde kolumnen också är tillgänglig tillåter matrisen utvecklare att representera både affin- och icke-affintransformeringar.
Matriser kan läggas till eller förberedas för andra matriser. När matris A läggs till i matris B visas en transformering av B och sedan av A:
XAML-attributanvändning
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>
XAML-värden
Värdet i den första raden och den första kolumnen i den här Matrix3D. För mer information, se egenskapen M11.
Värdet i den första raden och den andra kolumnen i den här Matrix3D. För mer information, se egenskapen M12.
Värdet i den första raden och den tredje kolumnen i den här Matrix3D. För mer information, se egenskapen M13.
Värdet i den första raden och den fjärde kolumnen i den här Matrix3D. För mer information, se egenskapen M14.
Värdet i den andra raden och den första kolumnen i den här Matrix3D. För mer information, se egenskapen M21.
Värdet i den andra raden och den andra kolumnen i den här Matrix3D. För mer information, se egenskapen M22.
Värdet i den andra raden och den tredje kolumnen i den här Matrix3D. För mer information, se egenskapen M23.
Värdet i den andra raden och den fjärde kolumnen i den här Matrix3D. För mer information, se egenskapen M24.
Värdet i den tredje raden och den första kolumnen i den här Matrix3D. För mer information, se egenskapen M31.
Värdet i den tredje raden och den andra kolumnen i den här Matrix3D. För mer information, se egenskapen M32.
Värdet i den tredje raden och den tredje kolumnen i den här Matrix3D. För mer information, se egenskapen M34.
Värdet i den tredje raden och den fjärde kolumnen i den här Matrix3D. För mer information, se egenskapen M33.
Värdet i den fjärde raden och den fjärde kolumnen i den här Matrix3D. För mer information, se egenskapen M44.
offsetXSystem.Double
Värdet i den fjärde raden och den första kolumnen i den här Matrix3D. För mer information, se egenskapen OffsetX.
offsetYSystem.Double
Värdet i den fjärde raden och den andra kolumnen i den här Matrix3D. För mer information, se egenskapen OffsetY.
offsetZSystem.Double
Värdet i den fjärde raden och den tredje kolumnen i den här Matrix3D. För mer information, se egenskapen OffsetZ.
Konstruktorer
| Name | Description |
|---|---|
| Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Konstruktor som anger matrisens initiala värden. |
Egenskaper
| Name | Description |
|---|---|
| Determinant |
Hämtar den här strukturens Matrix3D determinant. |
| HasInverse |
Hämtar ett värde som anger om detta Matrix3D är inverterbart. |
| Identity | |
| IsAffine |
Hämtar ett värde som anger om den här Matrix3D strukturen är affin. |
| IsIdentity |
Avgör om den här Matrix3D strukturen är en identitetsmatris3D. |
| M11 |
Hämtar eller anger värdet för den första raden och den första kolumnen i den här Matrix3D strukturen. |
| M12 |
Hämtar eller anger värdet för den första raden och den andra kolumnen i den här Matrix3D strukturen. |
| M13 |
Hämtar eller anger värdet för den första raden och den tredje kolumnen i den här Matrix3D strukturen. |
| M14 |
Hämtar eller anger värdet för den första raden och den fjärde kolumnen i den här Matrix3D strukturen. |
| M21 |
Hämtar eller anger värdet för den andra raden och den första kolumnen i den här Matrix3D strukturen. |
| M22 |
Hämtar eller anger värdet för den andra raden och den andra kolumnen i den här Matrix3D strukturen. |
| M23 |
Hämtar eller anger värdet för den andra raden och den tredje kolumnen i den här Matrix3D strukturen. |
| M24 |
Hämtar eller anger värdet för den andra raden och den fjärde kolumnen i den här Matrix3D strukturen. |
| M31 |
Hämtar eller anger värdet för den tredje raden och den första kolumnen i den här Matrix3D strukturen. |
| M32 |
Hämtar eller anger värdet för den tredje raden och den andra kolumnen i den här Matrix3D strukturen. |
| M33 |
Hämtar eller anger värdet för den tredje raden och den tredje kolumnen i den här Matrix3D strukturen. |
| M34 |
Hämtar eller anger värdet för den tredje raden och den fjärde kolumnen i den här Matrix3D strukturen. |
| M44 |
Hämtar eller anger värdet för den fjärde raden och den fjärde kolumnen i den här Matrix3D strukturen. |
| OffsetX |
Hämtar eller anger värdet för den fjärde raden och den första kolumnen i den här Matrix3D strukturen. |
| OffsetY |
Hämtar eller anger värdet för den fjärde raden och den andra kolumnen i den här Matrix3D strukturen. |
| OffsetZ |
Hämtar eller anger värdet för den fjärde raden och den tredje kolumnen i den här Matrix3D strukturen. |
Metoder
| Name | Description |
|---|---|
| Append(Matrix3D) |
Lägger till en angiven matris i den aktuella matrisen. |
| Equals(Matrix3D, Matrix3D) |
Testar likhet mellan två matriser. |
| Equals(Matrix3D) |
Testar likhet mellan två matriser. |
| Equals(Object) |
Testar likhet mellan två matriser. |
| GetHashCode() |
Returnerar hash-koden för den här matrisen. |
| Invert() |
Invertera den här Matrix3D strukturen. |
| Multiply(Matrix3D, Matrix3D) |
Multiplicerar de angivna matriserna. |
| Parse(String) |
Konverterar en strängrepresentation av en Matrix3D struktur till motsvarande Matrix3D-struktur. |
| Prepend(Matrix3D) |
Förbereder en angiven matris till den aktuella matrisen. |
| Rotate(Quaternion) |
Lägger till en rotationstransformering till den aktuella Matrix3D. |
| RotateAt(Quaternion, Point3D) | |
| RotateAtPrepend(Quaternion, Point3D) |
Förbereder en rotation om ett angivet centrum Point3D till den här Matrix3D strukturen. |
| RotatePrepend(Quaternion) |
Förbereder en rotation som anges av en Quaternion till den här Matrix3D strukturen. |
| Scale(Vector3D) |
Lägger till den angivna skalan Vector3D i den här Matrix3D strukturen. |
| ScaleAt(Vector3D, Point3D) |
Skalar den här Matrix3D strukturen efter angivet Vector3D om den angivna Point3D. |
| ScaleAtPrepend(Vector3D, Point3D) |
Förbereder den angivna skalningstransformeringen om den angivna Point3DMatrix3D strukturen. |
| ScalePrepend(Vector3D) |
Förbereder den angivna skalan Vector3D till den aktuella Matrix3D strukturen. |
| SetIdentity() |
Ändrar den här Matrix3D strukturen till en identitetsmatris. |
| ToString() |
Skapar en strängrepresentation av den här Matrix3D strukturen. |
| ToString(IFormatProvider) |
Skapar en strängrepresentation av den här Matrix3D strukturen. |
| Transform(Point3D) |
Transformerar angivet Point3D av Matrix3D och returnerar resultatet. |
| Transform(Point3D[]) |
Transformerar de angivna Point3D objekten i matrisen med Matrix3D. |
| Transform(Point4D) |
Transformerar angivet Point4D av Matrix3D och returnerar resultatet. |
| Transform(Point4D[]) |
Transformerar de angivna Point4D objekten i matrisen efter Matrix3D och returnerar resultatet. |
| Transform(Vector3D) | |
| Transform(Vector3D[]) |
Transformerar de angivna Vector3D objekten i matrisen med den här Matrix3D. |
| Translate(Vector3D) |
Lägger till en översättning av den angivna förskjutningen till den aktuella Matrix3D strukturen. |
| TranslatePrepend(Vector3D) |
Förbereder en översättning av den angivna förskjutningen till den här Matrix3D strukturen. |
Operatorer
| Name | Description |
|---|---|
| Equality(Matrix3D, Matrix3D) |
Jämför två Matrix3D instanser för exakt likhet. |
| Inequality(Matrix3D, Matrix3D) |
Jämför två Matrix3D instanser för exakt ojämlikhet. |
| Multiply(Matrix3D, Matrix3D) |
Multiplicerar de angivna matriserna. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formaterar värdet för den aktuella instansen med det angivna formatet. |