public static bool ContainsPoint(Point2LR p, Point2LR p0, Point2LR p1, Point2LR p2) { Vector2LR vector2Lr1 = Point2LR.Subtract(p1, p0); if ((vector2Lr1.Y * (p.X - p0.X) - vector2Lr1.X * (p.Y - p0.Y)).IsNegative) { return(false); } Vector2LR vector2Lr2 = Point2LR.Subtract(p2, p1); if ((vector2Lr2.Y * (p.X - p1.X) - vector2Lr2.X * (p.Y - p1.Y)).IsNegative) { return(false); } Vector2LR vector2Lr3 = Point2LR.Subtract(p0, p2); return(!(vector2Lr3.Y * (p.X - p2.X) - vector2Lr3.X * (p.Y - p2.Y)).IsNegative); }