Находится ли точка внутри прямоугольника? - C#

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста решить задачу. Необходимо проверить находится ли точка А(х, у) внутри прямоугольника заданного четырьмя координатами, при этом промоугольник не обязательно параллелен осям координат. Огромное спасибо.

Решение задачи: «Находится ли точка внутри прямоугольника?»

textual
Листинг программы
public class Point
{
    public int X, Y;
 
    public Point()
    {
        X = Y = 0;
    }
 
    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }
}
 
public static class Polygon
{
    public static bool Contains(Point[] poly, Point a)
    {
        Point middle = a;
        int result = 0;
        for (int i = 1; i < poly.Length; i++)
        {
            result += intersect(poly[i - 1], poly[i], middle);
        }
        return result < 3;
    }
 
    private static int intersect(Point a, Point b, Point c)
    {
        int ax = a.X - c.X;
        int ay = a.Y - c.Y;
        int bx = b.X - c.X;
        int by = b.Y - c.Y;
 
        int s = Math.Sign(ax * by - ay * bx);
        if (ay < 0 ^ by < 0)
        {
            if (by < 0)
                return s;
            return -s;
        }
        if (s == 0 && (ay == 0 || by == 0) && ax * bx <= 0)
            return 0;
        return 1;
    }
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы