Matrix4x4 Struct
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a 4x4 matrix.
public value class Matrix4x4 : IEquatable<System::Numerics::Matrix4x4>
public struct Matrix4x4 : IEquatable<System.Numerics.Matrix4x4>
type Matrix4x4 = struct
Public Structure Matrix4x4
Implements IEquatable(Of Matrix4x4)
- Inheritance
- Implements
Remarks
For matrix transformations, the Vector2, Vector3, and Vector4 instances are represented as rows: a vector v is transformed by a matrix M with vM multiplication.
Constructors
Matrix4x4(Matrix3x2) |
Creates a Matrix4x4 object from a specified Matrix3x2 object. |
Matrix4x4(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single) |
Creates a 4x4 matrix from the specified components. |
Fields
M11 |
The first element of the first row. |
M12 |
The second element of the first row. |
M13 |
The third element of the first row. |
M14 |
The fourth element of the first row. |
M21 |
The first element of the second row. |
M22 |
The second element of the second row. |
M23 |
The third element of the second row. |
M24 |
The fourth element of the second row. |
M31 |
The first element of the third row. |
M32 |
The second element of the third row. |
M33 |
The third element of the third row. |
M34 |
The fourth element of the third row. |
M41 |
The first element of the fourth row. |
M42 |
The second element of the fourth row. |
M43 |
The third element of the fourth row. |
M44 |
The fourth element of the fourth row. |
Properties
Identity |
Gets the multiplicative identity matrix. |
IsIdentity |
Indicates whether the current matrix is the identity matrix. |
Item[Int32, Int32] |
Gets or sets the element at the specified indices. |
Translation |
Gets or sets the translation component of this matrix. |
Methods
Add(Matrix4x4, Matrix4x4) |
Adds each element in one matrix with its corresponding element in a second matrix. |
CreateBillboard(Vector3, Vector3, Vector3, Vector3) |
Creates a spherical billboard that rotates around a specified object position. |
CreateConstrainedBillboard(Vector3, Vector3, Vector3, Vector3, Vector3) |
Creates a cylindrical billboard that rotates around a specified axis. |
CreateFromAxisAngle(Vector3, Single) |
Creates a matrix that rotates around an arbitrary vector. |
CreateFromQuaternion(Quaternion) |
Creates a rotation matrix from the specified Quaternion rotation value. |
CreateFromYawPitchRoll(Single, Single, Single) |
Creates a rotation matrix from the specified yaw, pitch, and roll. |
CreateLookAt(Vector3, Vector3, Vector3) |
Creates a view matrix. |
CreateLookAtLeftHanded(Vector3, Vector3, Vector3) |
Creates a left-handed view matrix. |
CreateLookTo(Vector3, Vector3, Vector3) |
Creates a right-handed view matrix. |
CreateLookToLeftHanded(Vector3, Vector3, Vector3) |
Creates a left-handed view matrix. |
CreateOrthographic(Single, Single, Single, Single) |
Creates an orthographic perspective matrix from the given view volume dimensions. |
CreateOrthographicLeftHanded(Single, Single, Single, Single) |
Creates a left-handed orthographic perspective matrix from the given view volume dimensions. |
CreateOrthographicOffCenter(Single, Single, Single, Single, Single, Single) |
Creates a customized orthographic projection matrix. |
CreateOrthographicOffCenterLeftHanded(Single, Single, Single, Single, Single, Single) |
Creates a left-handed customized orthographic projection matrix. |
CreatePerspective(Single, Single, Single, Single) |
Creates a perspective projection matrix from the given view volume dimensions. |
CreatePerspectiveFieldOfView(Single, Single, Single, Single) |
Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. |
CreatePerspectiveFieldOfViewLeftHanded(Single, Single, Single, Single) |
Creates a left-handed perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. |
CreatePerspectiveLeftHanded(Single, Single, Single, Single) |
Creates a left-handed perspective projection matrix from the given view volume dimensions. |
CreatePerspectiveOffCenter(Single, Single, Single, Single, Single, Single) |
Creates a customized perspective projection matrix. |
CreatePerspectiveOffCenterLeftHanded(Single, Single, Single, Single, Single, Single) |
Creates a left-handed customized perspective projection matrix. |
CreateReflection(Plane) |
Creates a matrix that reflects the coordinate system about a specified plane. |
CreateRotationX(Single) |
Creates a matrix for rotating points around the X axis. |
CreateRotationX(Single, Vector3) |
Creates a matrix for rotating points around the X axis from a center point. |
CreateRotationY(Single) |
Creates a matrix for rotating points around the Y axis. |
CreateRotationY(Single, Vector3) |
The amount, in radians, by which to rotate around the Y axis from a center point. |
CreateRotationZ(Single) |
Creates a matrix for rotating points around the Z axis. |
CreateRotationZ(Single, Vector3) |
Creates a matrix for rotating points around the Z axis from a center point. |
CreateScale(Single) |
Creates a uniform scaling matrix that scale equally on each axis. |
CreateScale(Single, Single, Single) |
Creates a scaling matrix from the specified X, Y, and Z components. |
CreateScale(Single, Single, Single, Vector3) |
Creates a scaling matrix that is offset by a given center point. |
CreateScale(Single, Vector3) |
Creates a uniform scaling matrix that scales equally on each axis with a center point. |
CreateScale(Vector3) |
Creates a scaling matrix from the specified vector scale. |
CreateScale(Vector3, Vector3) |
Creates a scaling matrix with a center point. |
CreateShadow(Vector3, Plane) |
Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. |
CreateTranslation(Single, Single, Single) |
Creates a translation matrix from the specified X, Y, and Z components. |
CreateTranslation(Vector3) |
Creates a translation matrix from the specified 3-dimensional vector. |
CreateViewport(Single, Single, Single, Single, Single, Single) |
Creates a right-handed viewport matrix from the specified parameters. |
CreateViewportLeftHanded(Single, Single, Single, Single, Single, Single) |
Creates a left-handed viewport matrix from the specified parameters. |
CreateWorld(Vector3, Vector3, Vector3) |
Creates a world matrix with the specified parameters. |
Decompose(Matrix4x4, Vector3, Quaternion, Vector3) |
Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. |
Equals(Matrix4x4) |
Returns a value that indicates whether this instance and another 4x4 matrix are equal. |
Equals(Object) |
Returns a value that indicates whether this instance and a specified object are equal. |
GetDeterminant() |
Calculates the determinant of the current 4x4 matrix. |
GetHashCode() |
Returns the hash code for this instance. |
Invert(Matrix4x4, Matrix4x4) |
Inverts the specified matrix. The return value indicates whether the operation succeeded. |
Lerp(Matrix4x4, Matrix4x4, Single) |
Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. |
Multiply(Matrix4x4, Matrix4x4) |
Returns the matrix that results from multiplying two matrices together. |
Multiply(Matrix4x4, Single) |
Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. |
Negate(Matrix4x4) |
Negates the specified matrix by multiplying all its values by -1. |
Subtract(Matrix4x4, Matrix4x4) |
Subtracts each element in a second matrix from its corresponding element in a first matrix. |
ToString() |
Returns a string that represents this matrix. |
Transform(Matrix4x4, Quaternion) |
Transforms the specified matrix by applying the specified Quaternion rotation. |
Transpose(Matrix4x4) |
Transposes the rows and columns of a matrix. |
Operators
Addition(Matrix4x4, Matrix4x4) |
Adds each element in one matrix with its corresponding element in a second matrix. |
Equality(Matrix4x4, Matrix4x4) |
Returns a value that indicates whether the specified matrices are equal. |
Inequality(Matrix4x4, Matrix4x4) |
Returns a value that indicates whether the specified matrices are not equal. |
Multiply(Matrix4x4, Matrix4x4) |
Returns the matrix that results from multiplying two matrices together. |
Multiply(Matrix4x4, Single) |
Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. |
Subtraction(Matrix4x4, Matrix4x4) |
Subtracts each element in a second matrix from its corresponding element in a first matrix. |
UnaryNegation(Matrix4x4) |
Negates the specified matrix by multiplying all its values by -1. |