Click or drag to resize
DigitalRuneMatrix44D Structure
Defines a 4 x 4 matrix (double-precision).

Namespace: DigitalRune.Mathematics.Algebra
Assembly: DigitalRune.Mathematics (in DigitalRune.Mathematics.dll) Version: 1.14.0.0 (1.14.0.14427)
Syntax
[SerializableAttribute]
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
[DataContractAttribute]
public struct Matrix44D : IEquatable<Matrix44D>

The Matrix44D type exposes the following members.

Constructors
Methods
  NameDescription
Public methodAbsolute
Sets each matrix element to its absolute value.
Public methodStatic memberAbsolute(Matrix44D)
Returns a matrix with the absolute values of the elements of the given matrix.
Public methodStatic memberAdd
Adds two matrices.
Public methodStatic memberAreNumericallyEqual(Matrix44D, Matrix44D)
Determines whether two matrices are equal (regarding the tolerance EpsilonD).
Public methodStatic memberAreNumericallyEqual(Matrix44D, Matrix44D, Double)
Determines whether two matrices are equal (regarding a specific tolerance).
Public methodClampToZero
Clamps near-zero matrix elements to zero.
Public methodClampToZero(Double)
Clamps near-zero matrix elements to zero.
Public methodStatic memberClampToZero(Matrix44D)
Returns a matrix with the matrix elements clamped to the range [min, max].
Public methodStatic memberClampToZero(Matrix44D, Double)
Returns a matrix with the matrix elements clamped to the range [min, max].
Public methodStatic memberCreateLookAt
Creates a right-handed look-at matrix (view matrix). (Only available in the XNA-compatible build.)
Public methodStatic memberCreateOrthographic
Creates a right-handed, orthographic projection matrix. (Only available in the XNA compatible build.)
Public methodStatic memberCreateOrthographicOffCenter
Creates a customized (off-center), right-handed, orthographic projection matrix. (Only available in the XNA-compatible build.)
Public methodStatic memberCreatePerspective
Creates a right-handed, perspective projection matrix. (Only available in the XNA-compatible build.)
Public methodStatic memberCreatePerspectiveFieldOfView
Creates a right-handed, perspective projection matrix based on a field of view. (Only available in the XNA-compatible build.)
Public methodStatic memberCreatePerspectiveOffCenter
Creates a customized, right-handed, perspective projection matrix. (Only available in the XNA-compatible build.)
Public methodStatic memberCreateRotation(QuaternionD)
Creates a rotation matrix from a unit quaternion.
Public methodStatic memberCreateRotation(Vector3D, Double)
Creates a rotation matrix from axis and angle.
Public methodStatic memberCreateRotationX
Creates a matrix that specifies a rotation around the x-axis.
Public methodStatic memberCreateRotationY
Creates a matrix that specifies a rotation around the y-axis.
Public methodStatic memberCreateRotationZ
Creates a matrix that specifies a rotation around the z-axis.
Public methodStatic memberCreateScale(Double)
Creates a scaling matrix.
Public methodStatic memberCreateScale(Vector3D)
Creates a scaling matrix.
Public methodStatic memberCreateScale(Double, Double, Double)
Creates a scaling matrix.
Public methodStatic memberCreateTranslation(Vector3D)
Creates a translation matrix from a vector.
Public methodStatic memberCreateTranslation(Double, Double, Double)
Creates a translation matrix from the given values.
Public methodCode exampleDecompose(Vector3D, Matrix33D, Vector3D)
Decomposes the matrix into the scale, translation, and rotation components.
Public methodCode exampleDecompose(Vector3D, QuaternionD, Vector3D)
Decomposes the matrix into the scale, translation, and rotation components.
Public methodDecomposeFast(Vector3D, Matrix33D, Vector3D)
Decomposes the matrix into the scale, translation, and rotation components. (This method is faster than Decompose(Vector3D, Matrix33D, Vector3D), but the matrix must be a valid 3D scale/rotation/translation (SRT) matrix.)
Public methodDecomposeFast(Vector3D, QuaternionD, Vector3D)
Decomposes the matrix into the scale, translation, and rotation components. (This method is faster than Decompose(Vector3D, QuaternionD, Vector3D), but the matrix must be a valid 3D scale/rotation/translation (SRT) matrix.)
Public methodStatic memberDivide
Divides a matrix by a scalar.
Public methodEquals(Object)
Indicates whether this instance and a specified object are equal.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Matrix44D)
Indicates whether the current object is equal to another object of the same type.
Public methodStatic memberFromXna
Converts a Matrix (XNA Framework) to a Matrix44F (DigitalRune Mathematics).
Public methodGetColumn
Gets a column as Vector4D.
Public methodGetHashCode
Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetRow
Gets a row as Vector4D.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInvert
Inverts the matrix.
Public methodStatic memberMultiply(Double, Matrix44D)
Multiplies a matrix by a scalar.
Public methodStatic memberMultiply(Matrix44D, Matrix44D)
Multiplies two matrices.
Public methodStatic memberMultiply(Matrix44D, Vector4D)
Multiplies a matrix with a column vector.
Public methodStatic memberNegate
Negates a matrix.
Public methodSetColumn
Sets a column from a Vector4D.
Public methodSetRow
Sets a row from a Vector4D.
Public methodStatic memberSubtract
Subtracts two matrices.
Public methodToArray1D
Converts this matrix to an array of double values.
Public methodToArray2D
Converts this Matrix44D to a 2-dimensional double array.
Public methodToArrayJagged
Converts this Matrix44D to a jagged double array.
Public methodToList
Converts this matrix to a list of double values.
Public methodToMatrix44F
Converts this Matrix44D to Matrix44F.
Public methodToMatrixD
Converts this Matrix44D to MatrixD
Public methodToString
Returns the string representation of this matrix.
(Overrides ValueTypeToString.)
Public methodToString(IFormatProvider)
Returns the string representation of this matrix using the specified culture-specific format information.
Public methodToXna
Converts this Matrix44D (DigitalRune Mathematics) to Matrix (XNA Framework).
Public methodTransformDirection
Transforms a direction vector (or tangent vector).
Public methodTransformNormal
Transforms a normal vector.
Public methodTransformPosition
Transforms a position.
Public methodTranspose
Transposes this matrix.
Public methodTryInvert
Inverts the matrix if it is invertible.
Top
Operators
  NameDescription
Public operatorStatic memberAddition
Adds two matrices.
Public operatorStatic memberDivision
Divides a matrix by a scalar.
Public operatorStatic memberEquality
Tests if two matrices are equal.
Public operatorStatic member(Matrix to Matrix44D)
Performs an conversion from Matrix (XNA Framework) to Matrix44D (DigitalRune Mathematics).
Public operatorStatic member(Matrix44D to Double)
Performs an explicit conversion from Matrix44D to a 2-dimensional double array.
Public operatorStatic member(Matrix44D to Double)
Performs an explicit conversion from Matrix44D to a jagged double array.
Public operatorStatic member(Matrix44D to Matrix44F)
Performs an explicit conversion from Matrix44D to Matrix44F.
Public operatorStatic member(Matrix44D to Matrix)
Performs an conversion from Matrix44D (DigitalRune Mathematics) to Matrix (XNA Framework).
Public operatorStatic member(Matrix44D to MatrixD)
Performs an implicit conversion from Matrix44D to MatrixD.
Public operatorStatic memberInequality
Tests if two matrices are not equal.
Public operatorStatic memberMultiply(Double, Matrix44D)
Multiplies a matrix by a scalar.
Public operatorStatic memberMultiply(Matrix44D, Matrix44D)
Multiplies two matrices.
Public operatorStatic memberMultiply(Matrix44D, Vector4D)
Multiplies the matrix with a column vector.
Public operatorStatic memberMultiply(Matrix44D, Double)
Multiplies a matrix and a scalar.
Public operatorStatic memberSubtraction
Subtracts two matrices.
Public operatorStatic memberUnaryNegation
Negates a matrix.
Top
Fields
  NameDescription
Public fieldStatic memberIdentity
Returns the 4 x 4 identity matrix.
Public fieldM00
The element in first row, first column.
Public fieldM01
The element in first row, second column.
Public fieldM02
The element in first row, third column.
Public fieldM03
The element in first row, fourth column.
Public fieldM10
The element in second row, first column.
Public fieldM11
The element in second row, second column.
Public fieldM12
The element in second row, third column.
Public fieldM13
The element in second row, fourth column.
Public fieldM20
The element in third row, first column.
Public fieldM21
The element in third row, second column.
Public fieldM22
The element in third row, third column.
Public fieldM23
The element in third row, fourth column.
Public fieldM30
The element in fourth row, first column.
Public fieldM31
The element in fourth row, second column.
Public fieldM32
The element in fourth row, third column.
Public fieldM33
The element in fourth row, fourth column.
Public fieldStatic memberOne
Returns a Matrix44D with all of its components set to one.
Public fieldStatic memberZero
Returns a Matrix44D with all of its components set to zero.
Top
Properties
  NameDescription
Public propertyDeterminant
Returns the determinant of this matrix.
Public propertyInverse
Returns the inverse of this matrix.
Public propertyIsNaN
Gets a value indicating whether an element of the matrix is NaN.
Public propertyIsSymmetric
Gets a value indicating whether this matrix is symmetric.
Public propertyItemInt32
Gets or sets the element at the specified index.
Public propertyItemInt32, Int32
Gets or sets the element at the specified index.
Public propertyMinor
Gets or sets the upper left 3x3 sub-matrix.
Public propertyTrace
Gets the matrix trace (the sum of the diagonal elements).
Public propertyTranslation
Gets or sets the translation vector (M03, M13, M23) of the matrix.
Public propertyTransposed
Returns the transposed of this matrix.
Top
Remarks

All indices are zero-based. The matrix looks like this:

M00 M01 M02 M03
M10 M11 M12 M13
M20 M21 M22 M23
M30 M31 M32 M33

See Also