# Matrix3 Structure

A structure encapsulating a double precision 3x3 matrix.

Namespace:  NeoAxis
Assembly:  NeoAxis.Core (in NeoAxis.Core.dll) Version: 2024.1.1.0 (2024.1.1.0)
Syntax
C#
`public struct Matrix3`

The Matrix3 type exposes the following members.

Constructors
NameDescription
Matrix3(Matrix3)
Constructs a matrix with another specified Matrix3 object.
Matrix3(Matrix3F)
Constructs a matrix with another specified matrix of Matrix3F format.
Matrix3(Vector3, Vector3, Vector3)
Constructs a matrix with the specified Vector3 elements, which are the corresponding rows of the matrix.
Matrix3(Double, Double, Double, Double, Double, Double, Double, Double, Double)
Constructs a matrix with the given individual elements.
Top
Properties
NameDescription
ItemInt32
Gets or sets the row of the current instance of Matrix3 at the specified index.
ItemInt32, Int32
Gets or sets the component at the specified index.
Top
Methods
NameDescription
Decompose(Matrix3, Vector3)
Decomposes a matrix into a rotation and scale.
Decompose(Quaternion, Vector3)
Decomposes a matrix into a rotation and scale.
DecomposeScale
DecomposeScaleMaxComponent
Equals(Object)
Determines whether the specified object is equal to the current instance of Matrix3.
(Overrides ValueTypeEquals(Object).)
Equals(Matrix3, Double)
Determines whether the specified matrix is equal to the current instance of Matrix3 with a given precision.
Equals(Matrix3, Double)
Determines whether the specified matrix is equal to the current instance of Matrix3 with a given precision.
Creates a matrix that rotates around the x-axis.
Creates a matrix that rotates around the x-axis.
Creates a matrix that rotates around the y-axis.
Creates a matrix that rotates around the y-axis.
Creates a matrix that rotates around the z-axis.
Creates a matrix that rotates around the z-axis.
FromScale(Double)
Creates a scale matrix with the specified Double value.
FromScale(Vector3)
Creates a scale matrix with the specified Vector3 object.
FromScale(Double, Matrix3)
Creates a scale matrix with the specified Double value.
FromScale(Vector3, Matrix3)
Creates a scale matrix with the specified Vector3 object.
GetHashCode
Returns a hash code for this instance.
(Overrides ValueTypeGetHashCode.)
GetInverse
Inverts the current instance of Matrix3 if it is invertible and returns the result.
GetInverse(Matrix3)
Inverts the current instance of Matrix3 if it is invertible.
GetTrace
Gets the trace of the matrix, the sum of the values along the diagonal.
GetTranspose
Returns the transpose of the current instance of Matrix3.
GetTranspose(Matrix3)
Calculates the transpose of the current instance of Matrix3.
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Inverse
Inverts the current instance of Matrix3 and determines whether the matrix is invertible. Determines whether the current instance of Matrix3 is invertible and, if so, inverts this matrix.
LookAt(Vector3, Vector3)
Creates a look-at matrix.
LookAt(Vector3, Vector3, Matrix3)
Creates a look-at matrix.
Multiply(Double, Matrix3, Matrix3)
Multiplies a matrix by a given value.
Multiply(Matrix3, Matrix3, Matrix3)
Multiplies two matrices.
Multiply(Matrix3, Vector3, Vector3)
Multiplies a matrix by a given Vector3 structure.
Multiply(Matrix3, Double, Matrix3)
Multiplies a matrix by a given value.
Multiply(Vector3, Matrix3, Vector3)
Multiplies a matrix by a given Vector3 structure.
Negate
Negates a matrix.
Parse
Converts a string representation of a matrix into the equivalent Matrix3 structure.
QDUDecomposition
Decomposites the matrix by Gram-Schmidt orthogonalization algorithm (the QR algorithm).
Subtract
Subtracts two matricies.
ToAngles
Converts the current instance of Matrix3 to Euler angles.
ToAngles(Angles)
Converts the current instance of Matrix3 to Euler angles.
ToMatrix3F
Converts the current instance of Matrix3 into the equivalent Matrix3F structure.
ToMatrix3F(Matrix3F)
Converts the current instance of Matrix3 into the equivalent Matrix3F structure.
ToMatrix4
Converts the current instance of Matrix3 into the equivalent Matrix4 structure.
ToMatrix4(Matrix4)
Converts the current instance of Matrix3 into the equivalent Matrix4 structure.
ToQuaternion
Converts the current instance of Matrix3 into the equivalent Quaternion structure.
ToQuaternion(Quaternion)
Converts the current instance of Matrix3 into the equivalent Quaternion structure.
ToString
Returns a String that represents the current instance of Matrix3.
(Overrides ValueTypeToString.)
Transpose
Transposes the matrix.
Top
Operators
NameDescription
Equality
Determines whether two given matricies are equal.
Inequality
Determines whether two given matricies are unequal.
Multiply(Double, Matrix3)
Multiplies a matrix by a given value.
Multiply(Matrix3, Matrix3)
Multiplies two matrices.
Multiply(Matrix3, Vector3)
Multiplies a matrix by a given Vector3 structure.
Multiply(Matrix3, Double)
Multiplies a matrix by a given value.
Multiply(Vector3, Matrix3)
Multiplies a matrix by a given Vector3 structure.
Subtraction
Subtracts two matricies.
UnaryNegation
Negates a matrix.
Top
Fields
NameDescription
Identity
The identity matrix.
Item0
The first row of the matrix.
Item1
The second row of the matrix.
Item2
The third row of the matrix.
Zero
The matrix with all of its components set to zero.
Top
Extension Methods
NameDescription
MethodInvoke
Calls the object method by name.
(Defined by ObjectEx.)