Click or drag to resize

Matrix3x3 Structure

Transformation matrix for affine transformations without translation in 3D space.
Inheritance Hierarchy
SystemObject
  SystemValueType
    Altaxo.GeometryMatrix3x3

Namespace: Altaxo.Geometry
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public struct Matrix3x3

The Matrix3x3 type exposes the following members.

Constructors
 NameDescription
Public methodMatrix3x3 Initializes a new instance of the Matrix3x3 struct.
Top
Properties
 NameDescription
Public propertyDeterminantThe determinant of the matrix.
Public propertyStatic memberIdentity Gets the identity matrix.
Public propertyInverse 
Public propertyM11Gets the matrix element M[1,1].
Public propertyM12Gets the matrix element M[1,2].
Public propertyM13Gets the matrix element M[1,3].
Public propertyM21Gets the matrix element M[2,1].
Public propertyM22Gets the matrix element M[2,2].
Public propertyM23Gets the matrix element M[2,2].
Public propertyM31Gets the matrix element M[3,1].
Public propertyM32Gets the matrix element M[3,1].
Public propertyM33Gets the matrix element M[3,3].
Top
Methods
 NameDescription
Public methodAppendTransform Appends a transformation matrix f to this matrix.
Public methodStatic memberCreateRotationMatrixFromAxisAndAngleRadian Creates the rotation matrix from axis and angle radian.
Public methodDecomposeIntoQR Decomposes this matrix into a product Q*R, in which Q is an orthonormal matrix, and R is an upper triangular matrix, using the Gram–Schmidt process. This process is also known as QR-decomposition (https://en.wikipedia.org/wiki/QR_decomposition#QL,_RQ_and_LQ_decompositions).
Public methodDecomposeIntoRotations Extracts the rotation angles (in radian). Attention: the matrix must be a rotation matrix, i.e. the norm of all rows and colums must be 1! This is not verified here!
Public methodDecomposeIntoRQ Decomposes this matrix into a product R*Q, in which R is an upper triangular matrix, and Q is an orthonormal matrix, using the Gram–Schmidt process. This process is also known as RQ-decomposition (https://en.wikipedia.org/wiki/QR_decomposition#QL,_RQ_and_LQ_decompositions).
Public methodDecomposeIntoScaleShearRotationDegree Decomposes the matrix into its rotations (in degree), shear and scale components.
Public methodDecomposeIntoScaleShearRotationRadian Decomposes the matrix into its rotations (in radian), shear and scale components.
Public methodEqualsIndicates whether this instance and a specified object are equal.
(Inherited from ValueType)
Public methodStatic memberFromRotationDegree Gets a transformation matrix by specifying rotation (translation is 0, shear is 0 and scale is 1).
Public methodStatic memberFromRotationRadian Gets a transformation matrix by specifying rotation (translation is 0, shear is 0 and scale is 1).
Public methodStatic memberFromScaleShearRotationDegree Gets a transformation matrix by specifying translation, rotation, shear and scale.
Public methodStatic memberFromScaleShearRotationRadian Gets a transformation matrix by specifying translation, rotation, shear and scale.
Public methodGetHashCodeReturns the hash code for this instance.
(Inherited from ValueType)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInverseTransform Inverse transform a vector p in such a way that the result will fullfill the relation p = result * matrix ( the * operator being the prepend transformation for vectors).
Public methodStatic memberNewFromBasisVectors Creates a transformation matrix that uses three basis vectors to construct the matrix that transform points expressed in the three basis vectors to points in the coordinate system.
Public methodPrependTransform Prepends a transformation matrix a to this matrix.
Public methodRotationXDegreePrepend Prepends a rotation transformation around x axis. The angle is specified in degrees.
Public methodRotationYDegreePrepend Prepends a rotation transformation around y axis. The angle is specified in degrees.
Public methodRotationZDegreePrepend Prepends a rotation transformation around z axis. The angle is specified in degrees.
Public methodSetScaleShearRotationDegree Sets this transformation matrix by specifying translation, rotation, shear and scale.
Public methodSetScaleShearRotationRadian Sets this transformation matrix by specifying translation, rotation, shear and scale.
Public methodToString
(Overrides ValueTypeToString)
Public methodTransform(PlaneD3D) 
Public methodTransform(PointD3D) Transforms the specified point p. Here, the point transform is carried out in the same way as the vector transform. The transformation is carried out as a prepend transformation, i.e. result = p * matrix (p considered as horizontal vector).
Public methodTransform(VectorD3D) Transforms the specified vector v. The transformation is carried out as a prepend transformation, i.e. result = v * matrix (v considered as horizontal vector).
Public methodTransformPoint 
Top
See Also