Пример #1
0
        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);
        }