Matrix4x4 Struct
Definition
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. |
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. |
CreateOrthographic(Single, Single, Single, Single) |
Creates an orthographic perspective matrix from the given view volume dimensions. |
CreateOrthographicOffCenter(Single, Single, Single, Single, Single, Single) |
Creates a 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. |
CreatePerspectiveOffCenter(Single, Single, Single, Single, Single, Single) |
Creates a 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. |
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. |