/// <summary> /// Gets a transformation matrix by specifying rotation (translation is 0, shear is 0 and scale is 1). /// </summary> /// <param name="angleX">The rotation around x axis in degrees.</param> /// <param name="angleY">The rotation around y axis in degrees</param> /// <param name="angleZ">The rotation around z axis in degrees</param> /// <returns>The transformation matrix.</returns> public static Matrix3x3 FromRotation(double angleX, double angleY, double angleZ) { var result = new Matrix3x3(); result.SetRotationShearScale(angleX, angleY, angleZ, 0, 0, 0, 1, 1, 1); return(result); }
/// <summary> /// Gets a transformation matrix by specifying translation, rotation, shear and scale. /// </summary> /// <param name="angleX">The rotation around x axis in degrees.</param> /// <param name="angleY">The rotation around y axis in degrees</param> /// <param name="angleZ">The rotation around z axis in degrees</param> /// <param name="shearX">The shear value x.</param> /// <param name="shearY">The shear value y.</param> /// <param name="shearZ">The shear value z.</param> /// <param name="scaleX">The scale value x.</param> /// <param name="scaleY">The scale value y.</param> /// <param name="scaleZ">The scale value z.</param> /// <returns>The transformation matrix. A point transformed with this matrix is first translated, then rotated, then sheared, then scaled.</returns> public static Matrix3x3 FromTranslationRotationShearScale(double angleX, double angleY, double angleZ, double shearX, double shearY, double shearZ, double scaleX, double scaleY, double scaleZ) { var result = new Matrix3x3(); result.SetRotationShearScale(angleX, angleY, angleZ, shearX, shearY, shearZ, scaleX, scaleY, scaleZ); return(result); }
/// <summary> /// Gets a transformation matrix by specifying rotation (translation is 0, shear is 0 and scale is 1). /// </summary> /// <param name="angleX">The rotation around x axis in degrees.</param> /// <param name="angleY">The rotation around y axis in degrees</param> /// <param name="angleZ">The rotation around z axis in degrees</param> /// <returns>The transformation matrix.</returns> public static Matrix3x3 FromRotation(double angleX, double angleY, double angleZ) { var result = new Matrix3x3(); result.SetRotationShearScale(angleX, angleY, angleZ, 0, 0, 0, 1, 1, 1); return result; }
/// <summary> /// Gets a transformation matrix by specifying translation, rotation, shear and scale. /// </summary> /// <param name="angleX">The rotation around x axis in degrees.</param> /// <param name="angleY">The rotation around y axis in degrees</param> /// <param name="angleZ">The rotation around z axis in degrees</param> /// <param name="shearX">The shear value x.</param> /// <param name="shearY">The shear value y.</param> /// <param name="shearZ">The shear value z.</param> /// <param name="scaleX">The scale value x.</param> /// <param name="scaleY">The scale value y.</param> /// <param name="scaleZ">The scale value z.</param> /// <returns>The transformation matrix. A point transformed with this matrix is first translated, then rotated, then sheared, then scaled.</returns> public static Matrix3x3 FromTranslationRotationShearScale(double angleX, double angleY, double angleZ, double shearX, double shearY, double shearZ, double scaleX, double scaleY, double scaleZ) { var result = new Matrix3x3(); result.SetRotationShearScale(angleX, angleY, angleZ, shearX, shearY, shearZ, scaleX, scaleY, scaleZ); return result; }