public static void Inverse(Matrix2x2 *matrixPtr, Matrix2x2 *resultPtr) { float invDet = 1f / Determinant(matrixPtr); float m11 = matrixPtr->M11; resultPtr->M11 = matrixPtr->M22 * invDet; resultPtr->M12 = -matrixPtr->M12 * invDet; resultPtr->M21 = -matrixPtr->M21 * invDet; resultPtr->M22 = m11 * invDet; }
public static float Determinant(Matrix2x2 *matrixPtr) { return(JMathGeom.Cross(((Vector2 *)matrixPtr)[0], ((Vector2 *)matrixPtr)[1])); }