# Matrix3x2 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 3x2 matrix.

`public value class Matrix3x2 : IEquatable<System::Numerics::Matrix3x2>`

`public struct Matrix3x2 : IEquatable<System.Numerics.Matrix3x2>`

`type Matrix3x2 = struct`

```
Public Structure Matrix3x2
Implements IEquatable(Of Matrix3x2)
```

- 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

Matrix3x2(Single, Single, Single, Single, Single, Single) |
Creates a 3x2 matrix from the specified components. |

## Fields

M11 |
The first element of the first row. |

M12 |
The second element of the first row. |

M21 |
The first element of the second row. |

M22 |
The second element of the second row. |

M31 |
The first element of the third row. |

M32 |
The second element of the third 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(Matrix3x2, Matrix3x2) |
Adds each element in one matrix with its corresponding element in a second matrix. |

CreateRotation(Single) |
Creates a rotation matrix using the given rotation in radians. |

CreateRotation(Single, Vector2) |
Creates a rotation matrix using the specified rotation in radians and a center point. |

CreateScale(Single) |
Creates a scaling matrix that scales uniformly with the given scale. |

CreateScale(Single, Single) |
Creates a scaling matrix from the specified X and Y components. |

CreateScale(Single, Single, Vector2) |
Creates a scaling matrix that is offset by a given center point. |

CreateScale(Single, Vector2) |
Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. |

CreateScale(Vector2) |
Creates a scaling matrix from the specified vector scale. |

CreateScale(Vector2, Vector2) |
Creates a scaling matrix from the specified vector scale with an offset from the specified center point. |

CreateSkew(Single, Single) |
Creates a skew matrix from the specified angles in radians. |

CreateSkew(Single, Single, Vector2) |
Creates a skew matrix from the specified angles in radians and a center point. |

CreateTranslation(Single, Single) |
Creates a translation matrix from the specified X and Y components. |

CreateTranslation(Vector2) |
Creates a translation matrix from the specified 2-dimensional vector. |

Equals(Matrix3x2) |
Returns a value that indicates whether this instance and another 3x2 matrix are equal. |

Equals(Object) |
Returns a value that indicates whether this instance and a specified object are equal. |

GetDeterminant() |
Calculates the determinant for this matrix. |

GetHashCode() |
Returns the hash code for this instance. |

Invert(Matrix3x2, Matrix3x2) |
Inverts the specified matrix. The return value indicates whether the operation succeeded. |

Lerp(Matrix3x2, Matrix3x2, 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(Matrix3x2, Matrix3x2) |
Returns the matrix that results from multiplying two matrices together. |

Multiply(Matrix3x2, Single) |
Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. |

Negate(Matrix3x2) |
Negates the specified matrix by multiplying all its values by -1. |

Subtract(Matrix3x2, Matrix3x2) |
Subtracts each element in a second matrix from its corresponding element in a first matrix. |

ToString() |
Returns a string that represents this matrix. |

## Operators

Addition(Matrix3x2, Matrix3x2) |
Adds each element in one matrix with its corresponding element in a second matrix. |

Equality(Matrix3x2, Matrix3x2) |
Returns a value that indicates whether the specified matrices are equal. |

Inequality(Matrix3x2, Matrix3x2) |
Returns a value that indicates whether the specified matrices are not equal. |

Multiply(Matrix3x2, Matrix3x2) |
Returns the matrix that results from multiplying two matrices together. |

Multiply(Matrix3x2, Single) |
Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. |

Subtraction(Matrix3x2, Matrix3x2) |
Subtracts each element in a second matrix from its corresponding element in a first matrix. |

UnaryNegation(Matrix3x2) |
Negates the specified matrix by multiplying all its values by -1. |

## Applies to

## Feedback

https://aka.ms/ContentUserFeedback.

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for