internal static bool IsPointInTriangle(Point p, Point t0, Point t1, Point t2)
{
Point point = new Point(t1.X - t0.X, t1.Y - t0.Y);
Point point1 = new Point(t2.X - t0.X, t2.Y - t0.Y);
Point point2 = new Point(p.X - t0.X, p.Y - t0.Y);
Point point3 = new Point(-point.Y, point.X);
Point point4 = new Point(-point1.Y, point1.X);
double num = QuadTree.DotProduct(point2, point4) / QuadTree.DotProduct(point, point4);
double num1 = QuadTree.DotProduct(point2, point3) / QuadTree.DotProduct(point1, point3);
if (num >= 0 && num1 >= 0 && num + num1 <= 1)
{
return(true);
}
return(false);
}