Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Invert()

static bool System.Numerics.Matrix3x2.Invert ( Matrix3x2 matrix,
out Matrix3x2 result )
inlinestatic

Definition at line 310 of file Matrix3x2.cs.

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)
Definition Matrix3x2.cs:40

References System.Numerics.Matrix3x2.Matrix3x2(), System.MathF.Abs(), System.Numerics.Matrix3x2.M12, System.Numerics.Matrix3x2.M21, System.Numerics.Matrix3x2.M22, and System.Numerics.Matrix3x2.M32.