Click or drag to resize

Matrix3By3 Structure

A 3-by-3 matrix. This type is often used to represent a rotation. This represents an 'alias' rotation which transforms coordinates by modifying the underlying coordinate basis rather than modifying the coordinates themselves.

Namespace:  AGI.Foundation.Coordinates
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public struct Matrix3By3 : IEquatable<Matrix3By3>, 
	IEquatable<Matrix3By3Symmetric>, IEquatableEpsilon<Matrix3By3>

The Matrix3By3 type exposes the following members.

Constructors
  NameDescription
Public methodMatrix3By3(AngleAxisRotation)
Initializes a new instance from an angle axis rotation.
Public methodMatrix3By3(EigenDecomposition)
Initializes a new instance from an EigenDecomposition.
Public methodMatrix3By3(ElementaryRotation)
Initializes a new instance representing an elementary rotation about one of the original axes.
Public methodMatrix3By3(EulerSequence)
Initializes a new instance from the provided EulerSequence.
Public methodMatrix3By3(Matrix3By3Symmetric)
Initializes a new instance from a Matrix3By3Symmetric.
Public methodMatrix3By3(UnitQuaternion)
Initializes a new instance from a UnitQuaternion.
Public methodMatrix3By3(YawPitchRoll)
Initializes a new instance from the provided YawPitchRoll sequence.
Public methodMatrix3By3(Double, Double, Double, Double, Double, Double, Double, Double, Double)
Initializes a new instance from elements.
Top
Properties
  NameDescription
Public propertyStatic memberIdentity
Gets a Matrix3By3 representing an identity transformation.
Public propertyIsUndefined
Gets a value indicating whether any of the matrix values are NaN.
Public propertyItem
Accesses the matrix elements using zero-based indexing.
Public propertyM11
Gets the element in the first row, first column.
Public propertyM12
Gets the element in the first row, second column.
Public propertyM13
Gets the element in the first row, third column.
Public propertyM21
Gets the element in the second row, first column.
Public propertyM22
Gets the element in the second row, second column.
Public propertyM23
Gets the element in the second row, third column.
Public propertyM31
Gets the element in the third row, first column.
Public propertyM32
Gets the element in the third row, second column.
Public propertyM33
Gets the element in the third row, third column.
Public propertyStatic memberUndefined
Gets a Matrix3By3 with elements of NaN.
Public propertyStatic memberZero
Gets a Matrix3By3 representing the zero matrix.
Top
Methods
  NameDescription
Public methodAdd(Matrix3By3)
Adds a matrix to this matrix.
Public methodAdd(Matrix3By3Symmetric)
Adds a matrix to this matrix.
Public methodStatic memberCrossProductEquivalentMatrix(Cartesian)
Forms a Matrix3By3 from the input vector such that the result of the cross product of the input vector with another vector is equivalent to premultiplying the other vector by the returned matrix.
Public methodStatic memberCrossProductEquivalentMatrix(UnitCartesian)
Forms a Matrix3By3 from the input vector such that the result of the cross product of the input unit vector with another vector is equivalent to premultiplying the other vector by the returned matrix.
Public methodDeterminant
Calculates the determinant of the matrix.
Public methodStatic memberDiagonalMatrix(Cartesian)
Forms a diagonal matrix from the input vector.
Public methodStatic memberDiagonalMatrix(UnitCartesian)
Forms a diagonal matrix from the input unit vector.
Public methodStatic memberDiagonalMatrix(Double, Double, Double)
Forms a diagonal matrix from the input elements.
Public methodEquals(Matrix3By3)
Indicates whether another instance of this type is exactly equal to this instance.
Public methodEquals(Matrix3By3Symmetric)
Indicates whether another instance of this type is exactly equal to this instance.
Public methodEquals(Object)
Indicates whether another object is exactly equal to this instance.
(Overrides ValueTypeEquals(Object).)
Public methodEqualsEpsilon
Returns true if all of the elements of this matrix are within epsilon of the same elements of the specified matrix. That is, in order for the matrices to be considered equal (and for this function to return true), the absolute value of the difference between each of their elements must be less than or equal to epsilon.
Public methodFrobeniusNorm
Computes the Frobenius norm of the matrix.
Public methodFrobeniusNormSquared
Computes the square of the Frobenius norm of the matrix.
Public methodGetHashCode
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInvert
Inverts the matrix.
Public methodMultiply(Cartesian)
Forms a new Cartesian vector as the product of this 3-by-3 matrix and the provided Cartesian vector.
Public methodMultiply(Double)
Multiplies this matrix by a scalar.
Public methodMultiply(ElementaryRotation)
Forms a new 3-by-3 matrix as the product of this 3-by-3 matrix and the provided elementary rotation.
Public methodMultiply(Matrix3By3)
Multiplies this matrix by a matrix.
Public methodMultiply(Matrix3By3Symmetric)
Multiplies this matrix by a matrix.
Public methodSubtract(Matrix3By3)
Subtracts a matrix from this matrix.
Public methodSubtract(Matrix3By3Symmetric)
Subtracts a matrix from this matrix.
Public methodToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Public methodTranspose
Transposes the matrix.
Top
Operators
  NameDescription
Public operatorStatic memberAddition(Matrix3By3, Matrix3By3)
Adds a matrix to this matrix.
Public operatorStatic memberAddition(Matrix3By3, Matrix3By3Symmetric)
Adds a matrix to this matrix.
Public operatorStatic memberEquality
Returns if the two instances are exactly equal.
Public operatorStatic memberInequality
Returns if the two instances are not exactly equal.
Public operatorStatic memberMultiply(Double, Matrix3By3)
Multiplies a scalar by a matrix.
Public operatorStatic memberMultiply(Matrix3By3, Cartesian)
Multiplies the 3-by-3 matrix by the Cartesian vector.
Public operatorStatic memberMultiply(Matrix3By3, ElementaryRotation)
Multiplies a 3-by-3 matrix by an ElementaryRotation.
Public operatorStatic memberMultiply(Matrix3By3, Matrix3By3)
Multiplies the left matrix by the right matrix.
Public operatorStatic memberMultiply(Matrix3By3, Matrix3By3Symmetric)
Multiplies the left matrix by the right matrix.
Public operatorStatic memberMultiply(Matrix3By3, Double)
Multiplies a matrix by a scalar.
Public operatorStatic memberSubtraction(Matrix3By3, Matrix3By3)
Subtracts the second matrix from the first.
Public operatorStatic memberSubtraction(Matrix3By3, Matrix3By3Symmetric)
Subtracts the second matrix from the first.
Top
Remarks
For more information, see the Coordinates topic.
See Also