Click or drag to resize

Matrix3x3 Structure

Represents a 3x3 matrix. Assimp docs say their matrices are always row-major, and it looks like they're only describing the memory layout. Matrices are treated as column vectors however (X base in the first column, Y base the second, and Z base the third)
Inheritance Hierarchy
SystemObject
  SystemValueType
    Internal.AssimpMatrix3x3

Namespace: Internal.Assimp
Assembly: NeoAxis.Core (in NeoAxis.Core.dll) Version: 2026.2.1.0 (2026.2.1.0)
Syntax
C#
public struct Matrix3x3 : IEquatable<Matrix3x3>

The Matrix3x3 type exposes the following members.

Constructors
 NameDescription
Public methodMatrix3x3(Matrix4x4) Constructs a new Matrix3x3.
Public methodMatrix3x3(Single, Single, Single, Single, Single, Single, Single, Single, Single) Represents a 3x3 matrix. Assimp docs say their matrices are always row-major, and it looks like they're only describing the memory layout. Matrices are treated as column vectors however (X base in the first column, Y base the second, and Z base the third)
Top
Properties
 NameDescription
Public propertyA1Value at row 1, column 1 of the matrix.
Public propertyA2Value at row 1, column 2 of the matrix.
Public propertyA3Value at row 1, column 3 of the matrix.
Public propertyB1Value at row 2, column 1 of the matrix.
Public propertyB2Value at row 2, column 2 of the matrix.
Public propertyB3Value at row 2, column 3 of the matrix.
Public propertyC1Value at row 3, column 1 of the matrix.
Public propertyC2Value at row 3, column 2 of the matrix.
Public propertyC3Value at row 3, column 3 of the matrix.
Public propertyStatic memberIdentity Gets the identity matrix.
Public propertyIsIdentity Gets if this matrix is an identity matrix.
Public propertyItem Gets or sets the value at the specific one-based row, column index. E.g. i = 1, j = 2 gets the value in row 1, column 2 (MA2). Indices out of range return a value of zero.
Top
Methods
 NameDescription
Public methodDeterminant Compute the determinant of this matrix.
Public methodStatic memberFromAngleAxis Creates a rotation matrix for a rotation about an arbitrary axis.
Public methodStatic memberFromEulerAnglesXYZ(Vector3) Creates a rotation matrix from a set of euler angles.
Public methodStatic memberFromEulerAnglesXYZ(Single, Single, Single) Creates a rotation matrix from a set of euler angles.
Public methodStatic memberFromRotationX Creates a rotation matrix for a rotation about the x-axis.
Public methodStatic memberFromRotationY Creates a rotation matrix for a rotation about the y-axis.
Public methodStatic memberFromRotationZ Creates a rotation matrix for a rotation about the z-axis.
Public methodStatic memberFromScaling Creates a scaling matrix.
Public methodStatic memberFromToMatrix Creates a rotation matrix that rotates a vector called "from" into another vector called "to". Based on an algorithm by Tomas Moller and John Hudges:

"Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999

Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInverse Inverts the matrix. If the matrix is *not* invertible all elements are set to NaN.
Public methodToString Returns a String that represents this instance.
(Overrides ValueTypeToString)
Public methodTransform Performs matrix-vector multiplication identical to the way Assimp does it.
Public methodTranspose Transposes this matrix (rows become columns, vice versa).
Top
Operators
 NameDescription
Public operatorStatic member(Matrix3x3 to Matrix4x4) Implicit conversion from a 3x3 matrix to a 4x4 matrix.
Public operatorStatic member(Matrix4x4 to Matrix3x3) Implicit conversion from a 4x4 matrix to a 3x3 matrix.
Public operatorStatic memberMultiply(Matrix3x3, Matrix3x3) Performs matrix multiplication.Multiplication order is B x A. That way, SRT concatenations are left to right.
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