public static bool PointInTriangle2D(ref Vector2 p, ref Vector2 a, ref Vector2 b, ref Vector2 c) { var num = Vector2.Dot(p - a, b - a); var num2 = Vector2.Dot(p - b, c - b); if (Math.Sign(num) != Math.Sign(num2)) { return false; } var num3 = Vector2.Dot(p - c, a - c); if (Math.Sign(num) != Math.Sign(num3)) { return false; } return true; }