DMatrix3d
A DMatrix3d is usually a rotation, although it could also include a scale or a sheer. The DMatrix3d is a 3x3 matrix made of nine doubles. It can be created a number of ways including from diagonal DTransform3d from DVector3d, DPoint4d, DPoint3d's, rotation Angles and Axes or scale:
new DMatrix3d(diagonalValue) new DMatrix3d(double axx, double ayy, double azz) new DMatrix3d(ref DTransform3d Transform) new DMatrix3d(double axx, double axy, double axz, double ayx, double ayy, double ayz, double azx, double azy, double azz)
Matrixes can also be initialized in a number of ways
InitColumns(ref DVector3d XColumn, ref DVector3d YColumn, ref DVector3d ZColumn) InitFromOneVector(ref DVector3d Vector, int AxisIndex, bool normalize) InitFrom2Vectors(ref DVector3d XVector, ref DVector3d YVector)
Furthermore, there are a number of ways to create orthogonal matrixes
InitOrthogonalFrameFromOriginXY(ref DPoint3d Origin, ref DPoint3d XPoint, ref DPoint3d YPoint) InitOrthogonalFrameFromXYVectors(ref DVector3d XVector, ref DVector3d YVector) InitOrthogonalFrameFromZXVectors(ref DVector3d VectorZ, ref DVector3d VectorX)
A rotation Matrix can be created either by a rotation around an axis, X = 0, Y = 1, Z = 2, or a rotation around a DVector3d
InitRotation(int AxisIndex, DAngle angle) InitRotation(ref DVector3d Axis, DAngle angle)
Identity Matrix
DMatrix3d.Identity()
Matrix Multiplication
ProductOf(ref DMatrix3d AA, ref DMatrix3d BB)