public Matrix3d(Matrix3d m) { M00 = m.M00; M01 = m.M01; M02 = m.M02; M10 = m.M10; M11 = m.M11; M12 = m.M12; M20 = m.M20; M21 = m.M21; M22 = m.M22; }
public static Matrix4d RotationScaleMatrix(Matrix3d matrix) { return new Matrix4d().SetRotationScale(matrix); }
public Matrix4d SetRotationScale(Matrix3d matrix) { M00 = matrix.M00; M01 = matrix.M01; M02 = matrix.M02; M03 = 0; M10 = matrix.M10; M11 = matrix.M11; M12 = matrix.M12; M13 = 0; M20 = matrix.M20; M21 = matrix.M21; M22 = matrix.M22; M23 = 0; M30 = 0; M31 = 0; M32 = 0; M33 = 1; return this; }
public static Matrix3d operator *(Matrix3d a, Matrix3d b) { Matrix3d ret = new Matrix3d(); ret.M00 = a.M00 * b.M00 + a.M01 * b.M10 + a.M02 * b.M20; ret.M01 = a.M00 * b.M01 + a.M01 * b.M11 + a.M02 * b.M21; ret.M02 = a.M00 * b.M02 + a.M01 * b.M12 + a.M02 * b.M22; ret.M10 = a.M10 * b.M00 + a.M11 * b.M10 + a.M12 * b.M20; ret.M11 = a.M10 * b.M01 + a.M11 * b.M11 + a.M12 * b.M21; ret.M12 = a.M10 * b.M02 + a.M11 * b.M12 + a.M12 * b.M22; ret.M20 = a.M20 * b.M00 + a.M21 * b.M10 + a.M22 * b.M20; ret.M21 = a.M20 * b.M01 + a.M21 * b.M11 + a.M22 * b.M21; ret.M22 = a.M20 * b.M02 + a.M21 * b.M12 + a.M22 * b.M22; return ret; }
public static Matrix3d RotateZMatrix(double a) { Matrix3d ret = new Matrix3d(); ret.SetRotationZ(a); return ret; }
public Matrix3d Set(Matrix3d m) { M00 = m.M00; M01 = m.M01; M02 = m.M02; M10 = m.M10; M11 = m.M11; M12 = m.M12; M20 = m.M20; M21 = m.M21; M22 = m.M22; return this; }