/// <summary> /// </summary> public static M3__s3f__ operator *(__e3t__ r3, Rot2f r2) { M3__s3f__ m33 = (M3__s3f__)r3; M22f m22 = (M22f)r2; return(new M3__s3f__( m33.M00 * m22.M00 + m33.M01 * m22.M10, m33.M00 * m22.M01 + m33.M01 * m22.M11, m33.M02, m33.M10 * m22.M00 + m33.M11 * m22.M10, m33.M10 * m22.M01 + m33.M11 * m22.M11, m33.M12, m33.M20 * m22.M00 + m33.M21 * m22.M10, m33.M20 * m22.M01 + m33.M21 * m22.M11, m33.M22 )); }
/// <summary> /// </summary> public static M3__s3f__ operator *(Euclidean__s3f__ r3, __r2t__ r2) { M3__s3f__ m33 = (M3__s3f__)r3; M2__s2f__ m22 = (M2__s2f__)r2; return(new M3__s3f__( m33.M00 * m22.M00 + m33.M01 * m22.M10, m33.M00 * m22.M01 + m33.M01 * m22.M11, m33.M02, m33.M10 * m22.M00 + m33.M11 * m22.M10, m33.M10 * m22.M01 + m33.M11 * m22.M11, m33.M12, m33.M20 * m22.M00 + m33.M21 * m22.M10, m33.M20 * m22.M01 + m33.M21 * m22.M11, m33.M22 )); }
/// <summary> /// Creates a rigid transformation from a rotation matrix <paramref name="rot"/> and a (subsequent) translation <paramref name="trans"/>. /// </summary> public __e3t__(M3__s3f__ rot, __v3t__ trans, __ft__ epsilon = __eps__) { Rot = __r3t__.FromM3__s3f__(rot, epsilon); Trans = trans; }
public static M3__s4f__ Multiply(M3__s3f__ m, __e3t__ r) { return(M3__s4f__.Multiply(m, (M3__s4f__)r)); }