Click or drag to resize

Matrix3x2 Structure

Transformation matrix for affine transformations in 2D space. The elements M13 and M23 are assumed to be 0, and M33 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.GeometryMatrix3x2

Namespace: Altaxo.Geometry
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public readonly struct Matrix3x2 : IEquatable<Matrix3x2>, 
	IImmutable

The Matrix3x2 type exposes the following members.

Constructors
 NameDescription
Public methodMatrix3x2 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 propertyIsIdentity 
Public propertyM11Gets the matrix element M[1,1].
Public propertyM12Gets the matrix element M[1,2].
Public propertyM13Gets the matrix element M[1,3] (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,3] (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] (is always = 1).
Top
Methods
 NameDescription
Public methodEquals(Matrix3x2) 
Public methodEquals(Object)
(Overrides ValueTypeEquals(Object))
Public methodGetHashCode
(Overrides ValueTypeGetHashCode)
Public methodGetTransposedInverseMatrix2x2 Gets the transposed inverse matrix of the matrix2x2 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(PointD2D) 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(VectorD2D) 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 memberNewRotation Gets a transformation matrix by specifying rotation (translation is 0, shear is 0 and scale is 1).
Public methodStatic memberNewRotationDegrees Creates a new rotation matrix that rotates a point around a given center point.
Public methodStatic memberNewRotationRadian Creates a new rotation matrix that rotates a point around a given center point.
Public methodStatic memberNewScalingShearingRotationDegreesTranslation Gets a transformation matrix by specifying scale, shear, rotation and translation. The returned matrix is equivalent to Scale*Shear*Rotation*Translation.
Public methodStatic memberNewScalingShearingRotationRadianTranslation Gets a transformation matrix by specifying scale, shear, rotation and translation. The returned matrix is equivalent to Scale*Shear*Rotation*Translation.
Public methodStatic memberNewTranslation(VectorD2D) 
Public methodStatic memberNewTranslation(Double, Double) 
Public methodToString
(Overrides ValueTypeToString)
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(VectorD2D) Transforms the specified vector v. For a vector transform, the offset elements M31..M32 are ignored. The transformation is carried out as a prepend transformation, i.e. result = v * matrix (v considered as horizontal vector).
Public methodWithAppendedTransformation(Matrix2x2) Appends a transformation matrix f to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Public methodWithAppendedTransformation(Matrix3x2) Appends a transformation matrix f to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Public methodWithPrependedTransformation(Matrix2x2) Prepends a transformation matrix l to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Public methodWithPrependedTransformation(Matrix3x2) Prepends a transformation matrix l to this matrix, and returns a new matrix with the result. The original matrix is unchanged.
Top
Operators
See Also