Click or drag to resize

Matrix3 Structure

A structure encapsulating a double precision 3x3 matrix.
Inheritance Hierarchy
SystemObject
  SystemValueType
    NeoAxisMatrix3

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

The Matrix3 type exposes the following members.

Constructors
 NameDescription
Public methodMatrix3(Matrix3) Constructs a matrix with another specified Matrix3 object.
Public methodMatrix3(Matrix3F) Constructs a matrix with another specified matrix of Matrix3F format.
Public methodMatrix3(Vector3, Vector3, Vector3) Constructs a matrix with the specified Vector3 elements, which are the corresponding rows of the matrix.
Public methodMatrix3(Double, Double, Double, Double, Double, Double, Double, Double, Double) Constructs a matrix with the given individual elements.
Top
Properties
 NameDescription
Public propertyItemInt32 Gets or sets the row of the current instance of Matrix3 at the specified index.
Public propertyItemInt32, Int32 Gets or sets the component at the specified index.
Top
Methods
 NameDescription
Public methodStatic memberAdd Adds two matricies.
Public methodDecompose(Matrix3, Vector3) Decomposes a matrix into a rotation and scale.
Public methodDecompose(Quaternion, Vector3) Decomposes a matrix into a rotation and scale.
Public methodDecomposeScale 
Public methodDecomposeScaleMaxComponent 
Public methodEquals(Object) Determines whether the specified object is equal to the current instance of Matrix3.
(Overrides ValueTypeEquals(Object))
Public methodEquals(Matrix3, Double) Determines whether the specified matrix is equal to the current instance of Matrix3 with a given precision.
Public methodEquals(Matrix3, Double) Determines whether the specified matrix is equal to the current instance of Matrix3 with a given precision.
Public methodStatic memberFromRotateByX(Radian) Creates a matrix that rotates around the x-axis.
Public methodStatic memberFromRotateByX(Radian, Matrix3) Creates a matrix that rotates around the x-axis.
Public methodStatic memberFromRotateByY(Radian) Creates a matrix that rotates around the y-axis.
Public methodStatic memberFromRotateByY(Radian, Matrix3) Creates a matrix that rotates around the y-axis.
Public methodStatic memberFromRotateByZ(Radian) Creates a matrix that rotates around the z-axis.
Public methodStatic memberFromRotateByZ(Radian, Matrix3) Creates a matrix that rotates around the z-axis.
Public methodStatic memberFromScale(Double) Creates a scale matrix with the specified Double value.
Public methodStatic memberFromScale(Vector3) Creates a scale matrix with the specified Vector3 object.
Public methodStatic memberFromScale(Double, Matrix3) Creates a scale matrix with the specified Double value.
Public methodStatic memberFromScale(Vector3, Matrix3) Creates a scale matrix with the specified Vector3 object.
Public methodGetHashCode Returns a hash code for this instance.
(Overrides ValueTypeGetHashCode)
Public methodGetInverse Inverts the current instance of Matrix3 if it is invertible and returns the result.
Public methodGetInverse(Matrix3) Inverts the current instance of Matrix3 if it is invertible.
Public methodGetTrace Gets the trace of the matrix, the sum of the values along the diagonal.
Public methodGetTranspose Returns the transpose of the current instance of Matrix3.
Public methodGetTranspose(Matrix3) Calculates the transpose of the current instance of Matrix3.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInverse 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.
Public methodStatic memberLookAt(Vector3, Vector3) Creates a look-at matrix.
Public methodStatic memberLookAt(Vector3, Vector3, Matrix3) Creates a look-at matrix.
Public methodStatic memberMultiply(Double, Matrix3, Matrix3) Multiplies a matrix by a given value.
Public methodStatic memberMultiply(Matrix3, Matrix3, Matrix3) Multiplies two matrices.
Public methodStatic memberMultiply(Matrix3, Vector3, Vector3) Multiplies a matrix by a given Vector3 structure.
Public methodStatic memberMultiply(Matrix3, Double, Matrix3) Multiplies a matrix by a given value.
Public methodStatic memberMultiply(Vector3, Matrix3, Vector3) Multiplies a matrix by a given Vector3 structure.
Public methodStatic memberNegate Negates a matrix.
Public methodStatic memberParse Converts a string representation of a matrix into the equivalent Matrix3 structure.
Public methodQDUDecomposition Decomposites the matrix by Gram-Schmidt orthogonalization algorithm (the QR algorithm).
Public methodStatic memberSubtract Subtracts two matricies.
Public methodToAngles Converts the current instance of Matrix3 to Euler angles.
Public methodToAngles(Angles) Converts the current instance of Matrix3 to Euler angles.
Public methodToMatrix3F Converts the current instance of Matrix3 into the equivalent Matrix3F structure.
Public methodToMatrix3F(Matrix3F) Converts the current instance of Matrix3 into the equivalent Matrix3F structure.
Public methodToMatrix4 Converts the current instance of Matrix3 into the equivalent Matrix4 structure.
Public methodToMatrix4(Matrix4) Converts the current instance of Matrix3 into the equivalent Matrix4 structure.
Public methodToQuaternion Converts the current instance of Matrix3 into the equivalent Quaternion structure.
Public methodToQuaternion(Quaternion) Converts the current instance of Matrix3 into the equivalent Quaternion structure.
Public methodToString Returns a String that represents the current instance of Matrix3.
(Overrides ValueTypeToString)
Public methodTranspose Transposes the matrix.
Top
Operators
 NameDescription
Public operatorStatic memberAddition(Matrix3, Matrix3) Adds two matricies.
Public operatorStatic memberEquality(Matrix3, Matrix3) Determines whether two given matricies are equal.
Public operatorStatic memberInequality(Matrix3, Matrix3) Determines whether two given matricies are unequal.
Public operatorStatic memberMultiply(Double, Matrix3) Multiplies a matrix by a given value.
Public operatorStatic memberMultiply(Matrix3, Matrix3) Multiplies two matrices.
Public operatorStatic memberMultiply(Matrix3, Vector3) Multiplies a matrix by a given Vector3 structure.
Public operatorStatic memberMultiply(Matrix3, Double) Multiplies a matrix by a given value.
Public operatorStatic memberMultiply(Vector3, Matrix3) Multiplies a matrix by a given Vector3 structure.
Public operatorStatic memberSubtraction(Matrix3, Matrix3) Subtracts two matricies.
Public operatorStatic memberUnaryNegation(Matrix3) Negates a matrix.
Top
Fields
 NameDescription
Public fieldStatic memberIdentity The identity matrix.
Public fieldItem0 The first row of the matrix.
Public fieldItem1 The second row of the matrix.
Public fieldItem2 The third row of the matrix.
Public fieldStatic memberZero The matrix with all of its components set to zero.
Top
Extension Methods
 NameDescription
Public Extension MethodMethodInvoke Calls the object method by name.
(Defined by ObjectEx)
Public Extension MethodPropertyGet Gets the value of the object property by name.
(Defined by ObjectEx)
Public Extension MethodPropertyGetT Gets the value of the object property by name.
(Defined by ObjectEx)
Public Extension MethodPropertySet Sets the value of the object property by name.
(Defined by ObjectEx)
Top
See Also