принадлежит ли точка четырёхугольнику (на плоскости)

Тема в разделе "WASM.A&O", создана пользователем t00x, 10 июл 2007.

  1. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    обсуждалось вроде.
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    PtInRect?
     
  4. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Rect == прямоугольник?
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  6. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    частный случай.
    Общий случай - четырёхугольник.
     
  7. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    t00x
    Разбить четырёхугольник на два треугольника и проверить на принадлежность точки хотя бы одному из треугольников.
     
  8. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    надеюсь понятно, что оптимизация по скорости.
    сначала думал разбивать на 4 и проверять принадлежность к двум треугольникам.
     
  9. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    t00x
    А причем тут треугольники ?
    Метод обхода контура (и его модификация - сумма площадей треугольников) и метод луча достаточно подробно разжеваны по приведенным выше ссылкам и работают они ес-но с любым числом сторон - поэтому я и не понимаю какого такого совета ты ждешь ;)) Перечитай внимательнее первую ссылку и сообразишь как добавить еще одну сторону в обход конутра
     
  10. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Если три вершины четырёхугольника образуют треугольник, в котором находится четвёртая вершина.
    это наверное лучший вариант из всех.
     
  11. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Э-э, да я ступил, обход контура и баланс площадей рулят только для выпуклых многоугольников. Ну тогда действительно остается или проверять попадание в 2 треугольника или использовать универсальный метод луча
     
  12. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Лучше использовать метод луча - во-первых, он подходит для произвольных областей (в том числе многосвязных), и, во-вторых, легко реализуем.