311 {
312 float num = matrix.M11 * matrix.M22 - matrix.M21 * matrix.M12;
313 if (MathF.Abs(num) < float.Epsilon)
314 {
315 result =
new Matrix3x2(
float.NaN,
float.NaN,
float.NaN,
float.NaN,
float.NaN,
float.NaN);
316 return false;
317 }
318 float num2 = 1f / num;
319 result.M11 = matrix.M22 * num2;
320 result.M12 = (0f - matrix.M12) * num2;
321 result.M21 = (0f - matrix.M21) * num2;
322 result.M22 = matrix.M11 * num2;
323 result.M31 = (matrix.M21 * matrix.M32 - matrix.M31 * matrix.M22) * num2;
324 result.M32 = (matrix.M31 * matrix.M12 - matrix.M11 * matrix.M32) * num2;
325 return true;
326 }
Matrix3x2(float m11, float m12, float m21, float m22, float m31, float m32)