Edit

Share via


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
Matrix4x4
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, Vector3)

Creates a matrix for rotating points around the X axis from a center point.

CreateRotationX(Single)

Creates a matrix for rotating points around the X axis.

CreateRotationY(Single, Vector3)

The amount, in radians, by which to rotate around the Y axis from a center point.

CreateRotationY(Single)

Creates a matrix for rotating points around the Y axis.

CreateRotationZ(Single, Vector3)

Creates a matrix for rotating points around the Z axis from a center point.

CreateRotationZ(Single)

Creates a matrix for rotating points around the Z axis.

CreateScale(Single, Single, Single, Vector3)

Creates a scaling matrix that is offset by a given center point.

CreateScale(Single, Single, Single)

Creates a scaling matrix from the specified X, Y, and Z components.

CreateScale(Single, Vector3)

Creates a uniform scaling matrix that scales equally on each axis with a center point.

CreateScale(Single)

Creates a uniform scaling matrix that scale equally on each axis.

CreateScale(Vector3, Vector3)

Creates a scaling matrix with a center point.

CreateScale(Vector3)

Creates a scaling matrix from the specified vector scale.

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.

Applies to