Matrix3D Structure

Represents a 4 x 4 matrix used for transformations in 3-D space.

Namespace:  System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[<Sealed>]
[<SerializableAttribute>]
[<TypeConverterAttribute(typeof(Matrix3DConverter))>]
type Matrix3D =  
    struct 
        interface IFormattable 
    end
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>

XAML Values

M11

System.Double

The value in the first row and first column of this Matrix3D. For more information, see the M11 property.

M12

System.Double

The value in the first row and second column of this Matrix3D. For more information, see the M12 property.

M13

System.Double

The value in the first row and third column of this Matrix3D. For more information, see the M13 property.

M14

System.Double

The value in the first row and fourth column of this Matrix3D. For more information, see the M14 property.

M21

System.Double

The value in the second row and first column of this Matrix3D. For more information, see the M21 property.

M22

System.Double

The value in the second row and second column of this Matrix3D. For more information, see the M22 property.

M23

System.Double

The value in the second row and third column of this Matrix3D. For more information, see the M23 property.

M24

System.Double

The value in the second row and fourth column of this Matrix3D. For more information, see the M24 property.

M31

System.Double

The value in the third row and first column of this Matrix3D. For more information, see the M31 property.

M32

System.Double

The value in the third row and second column of this Matrix3D. For more information, see the M32 property.

M33

System.Double

The value in the third row and third column of this Matrix3D. For more information, see the M34 property.

M34

System.Double

The value in the third row and fourth column of this Matrix3D. For more information, see the M33 property.

M44

System.Double

The value in the fourth row and fourth column of this Matrix3D. For more information, see the M44 property.

offsetX

System.Double

The value in the fourth row and first column of this Matrix3D. For more information, see the OffsetX property.

offsetY

System.Double

The value in the fourth row and second column of this Matrix3D. For more information, see the OffsetY property.

offsetZ

System.Double

The value in the fourth row and third column of this Matrix3D. For more information, see the OffsetZ property.

The Matrix3D type exposes the following members.

  NameDescription
Public methodMatrix3D Constructor that sets matrix's initial values.
Top

  NameDescription
Public propertyDeterminantRetrieves the determinant of this Matrix3D structure.
Public propertyHasInverseGets a value that indicates whether this Matrix3D is invertible.
Public propertyStatic memberIdentityChanges a Matrix3D structure into an identity Matrix3D.
Public propertyIsAffineGets a value that indicates whether this Matrix3D structure is affine.
Public propertyIsIdentityDetermines whether this Matrix3D structure is an identity Matrix3D.
Public propertyM11Gets or sets the value of the first row and first column of this Matrix3D structure.
Public propertyM12Gets or sets the value of the first row and second column of this Matrix3D structure.
Public propertyM13Gets or sets the value of the first row and third column of this Matrix3D structure.
Public propertyM14Gets or sets the value of the first row and fourth column of this Matrix3D structure.
Public propertyM21Gets or sets the value of the second row and first column of this Matrix3D structure.
Public propertyM22Gets or sets the value of the second row and second column of this Matrix3D structure.
Public propertyM23Gets or sets the value of the second row and third column of this Matrix3D structure.
Public propertyM24Gets or sets the value of the second row and fourth column of this Matrix3D structure.
Public propertyM31Gets or sets the value of the third row and first column of this Matrix3D structure.
Public propertyM32Gets or sets the value of the third row and second column of this Matrix3D structure.
Public propertyM33Gets or sets the value of the third row and third column of this Matrix3D structure.
Public propertyM34Gets or sets the value of the third row and fourth column of this Matrix3D structure.
Public propertyM44Gets or sets the value of the fourth row and fourth column of this Matrix3D structure.
Public propertyOffsetXGets or sets the value of the fourth row and first column of this Matrix3D structure.
Public propertyOffsetYGets or sets the value of the fourth row and second column of this Matrix3D structure.
Public propertyOffsetZGets or sets the value of the fourth row and third column of this Matrix3D structure.
Top

  NameDescription
Public methodAppend Appends a specified matrix to the current matrix.
Public methodEquals(Matrix3D)Tests equality between two matrices.
Public methodEquals(Object) Tests equality between two matrices. (Overrides ValueType.Equals(Object).)
Public methodStatic memberEquals(Matrix3D, Matrix3D) Tests equality between two matrices.
Public methodGetHashCodeReturns the hash code for this matrix (Overrides ValueType.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInvertInverts this Matrix3D structure.
Public methodStatic memberMultiplyMultiplies the specified matrices.
Public methodStatic memberParseConverts a string representation of a Matrix3D structure into the equivalent Matrix3D structure.
Public methodPrepend Prepends a specified matrix to the current matrix.
Public methodRotateAppends a rotation transform to the current Matrix3D.
Public methodRotateAtRotates this Matrix3D about the specified Point3D.
Public methodRotateAtPrependPrepends a rotation about a specified center Point3D to this Matrix3D structure.
Public methodRotatePrependPrepends a rotation specified by a Quaternion to this Matrix3D structure.
Public methodScaleAppends the specified scale Vector3D to this Matrix3D structure.
Public methodScaleAtScales this Matrix3D structure by the specified Vector3D about the specified Point3D.
Public methodScaleAtPrependPrepends the specified scale transformation about the specified Point3D to this Matrix3D structure.
Public methodScalePrependPrepends the specifed scale Vector3D to the current Matrix3D structure.
Public methodSetIdentityChanges this Matrix3D structure into an identity matrix.
Public methodToString()Creates a string representation of this Matrix3D structure. (Overrides ValueType.ToString().)
Public methodToString(IFormatProvider)Creates a string representation of this Matrix3D structure.
Public methodTransform(Point3D)Transforms the specified Point3D by the Matrix3D and returns the result.
Public methodTransform(Point3D[])Transforms the specified Point3D objects in the array by the Matrix3D.
Public methodTransform(Point4D)Transforms the specified Point4D by the Matrix3D and returns the result..
Public methodTransform(Point4D[])Transforms the specified Point4D objects in the array by the Matrix3D and returns the result.
Public methodTransform(Vector3D)Transforms the specified Vector3D by this Matrix3D.
Public methodTransform(Vector3D[])Transforms the specified Vector3D objects in the array by this Matrix3D.
Public methodTranslateAppends a translation of the specified offset to the current Matrix3D structure.
Public methodTranslatePrependPrepends a translation of the specified offset to this Matrix3D structure.
Top

  NameDescription
Public operatorStatic memberEquality Compares two Matrix3D instances for exact equality.
Public operatorStatic memberInequalityCompares two Matrix3D instances for exact inequality.
Public operatorStatic memberMultiply Multiplies the specified matrices.
Top

  NameDescription
Explicit interface implemetationPrivate methodIFormattable.ToStringFormats the value of the current instance using the specified format.
Top

Matrix3D has the following row-vector syntax:

Note that because the fourth column is also accessible, the matrix allows developers to represent affine as well as non-affine transforms.

Matrices can be appended or prepended to other matrices. Appending matrix A to matrix B denotes a transformation by B and then by A:

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft