Click or drag to resize

Matrix4x3 Structure

Transformation matrix for affine transformations in 3D space. The elements M14, M24 and M34 are assumed to be 0, and M44 is assumed to be 1. Remember: when going from root to leaf node, prepend the new transformation to the existing transformation. And when going from leaf to root node, append the new transformation to the existing one.
Inheritance Hierarchy
SystemObject
  SystemValueType
    Altaxo.GeometryMatrix4x3

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

The Matrix4x3 type exposes the following members.

Constructors
 NameDescription
Public methodMatrix4x3 Initializes a new instance of the Matrix4x3 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 propertyM14Gets the matrix element M[1,4] (is always = 0).
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 propertyM24Gets the matrix element M[2,4] (is always = 0).
Public propertyM31Gets the matrix element M[3,1].
Public propertyM32Gets the matrix element M[3,1].
Public propertyM33Gets the matrix element M[3,3].
Public propertyM34Gets the matrix element M[3,4] (is always = 0).
Public propertyM41Gets the matrix element M[4,1]. This is OffsetX.
Public propertyM42Gets the matrix element M[4,2]. This is OffsetY.
Public propertyM43Gets the matrix element M[4,3]. This is OffsetZ.
Public propertyM44Gets the matrix element M[4,4] (is always = 1).
Top
Methods
 NameDescription
Public methodAppendTransform Appends a transformation matrix f to this matrix.
Public methodDecomposeIntoScaleShearRotationDegreeTranslation 
Public methodDecomposeIntoScaleShearRotationRadianTranslation 
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 memberFromScaleShearRotationDegreeTranslation Gets a transformation matrix by specifying scale, shear, rotation and translation. The returned matrix is equivalent to Scale*Shear*Rotation*Translation.
Public methodStatic memberFromScaleShearRotationRadianTranslation Gets a transformation matrix by specifying scale, shear, rotation and translation. The returned matrix is equivalent to Scale*Shear*Rotation*Translation.
Public methodGetHashCodeReturns the hash code for this instance.
(Inherited from ValueType)
Public methodGetTransposedInverseMatrix3x3 Gets the transposed inverse matrix of the matrix3x3 part of this matrix. The returned matrix is usually used to transform the normals of objects that will be transformed by this matrix.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInverseTransform(PointD3D) Inverse transform a point p in such a way that the result will fullfill the relation p = result * matrix ( the * operator being the prepend transformation for points).
Public methodInverseTransform(VectorD3D) 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 memberNewFromBasisVectorsAndLocation Creates a transformation matrix that uses three basis vectors, and a location to construct the matrix that transform points expressed in the three basis vectors to points in the coordinate system.
Public methodStatic memberNewRotationFromAxisAndAngleRadian Creates the rotation matrix from axis and angle radian.
Public methodStatic memberNewTranslation(VectorD3D) 
Public methodStatic memberNewTranslation(Double, Double, Double) 
Public methodPrependTransform(Matrix3x3) Prepends a transformation matrix a to this matrix.
Public methodPrependTransform(Matrix4x3) 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 methodToString
(Overrides ValueTypeToString)
Public methodTransform(PlaneD3D) Transforms the specified plane p.
Public methodTransform(PointD2D) Transforms the specified point p. For a point transform, the offset elements M41..M43 are used. The transformation is carried out as a prepend transformation, i.e. result = p * matrix (p considered as horizontal vector).
Public methodTransform(PointD3D) Transforms the specified point p. For a point transform, the offset elements M41..M43 are used. The transformation is carried out as a prepend transformation, i.e. result = p * matrix (p considered as horizontal vector).
Public methodTransform(VectorD2D) Transforms the specified vector v. For a vector transform, the offset elements M41..M43 are ignored. The transformation is carried out as a prepend transformation, i.e. result = v * matrix (v considered as horizontal vector).
Public methodTransform(VectorD3D) Transforms the specified vector v. For a vector transform, the offset elements M41..M43 are ignored. The transformation is carried out as a prepend transformation, i.e. result = v * matrix (v considered as horizontal vector).
Public methodTranslateAppend Appends a translate transformation to this matrix.
Public methodTranslatePrepend Prepends a translate transformation to this matrix.
Public methodWithAppendedTransformation(Matrix3x3) Appends a transformation matrix f to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Public methodWithAppendedTransformation(Matrix4x3) Appends a transformation matrix f to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Public methodWithPrependedTransformation Prepends a transformation matrix l to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Top
See Also