Точка в четырёхугольнике
Подайте пожалуйста алгоритм проверки, попала ли точка в произвольный четырёхугольник.
|
Ответ: Точка в четырёхугольнике
Проверяй на попадание в два треугольника
|
Ответ: Точка в четырёхугольнике
PHP код:
|
Ответ: Точка в четырёхугольнике
Да ну вас. четырехугольник по всякому невыпуклый, => проверяем, по какую сторону от каждой из 4-х вершин нах-ся точка. Если точка по одну сторону у всех ребер - значит точка в многоугольнике)
ПС сторона точки относительно ребра: sgn(f(x,y)), где f(x,y) = (Ax+bY+C = 0) подставляешь в уравнение координаты точки и получаешь число. Знак этого числа и определяет сторону |
Ответ: Точка в четырёхугольнике
Можно выбрать две противоположные точки, есть две пары векторов составляющие четырех угольник. Углы между ними легко найти. Ищем угол между вектором 1-4 и 1-(проверяемая точка), если он меньше чем угол между векторами 1-4 и 1-2, то проверяем лежит ли точка по туже сторону от линии 4-2, что и точка 1.
если да, значит точка внутри четырехугольника, нет, проверяем тоже для векторов 3-2 3-4 и 3-(проверяемая точка) |
Ответ: Точка в четырёхугольнике
Цитата:
Цитата:
|
Ответ: Точка в четырёхугольнике
|
Ответ: Точка в четырёхугольнике
Частные случаи:
Если проверять на то, с какой стороны точка от каждого отрезка - то будет не верно. Для второго случая думаю надо найти кратчайшую диагональ, и по ней разделить на два треугольника, хотя опять будет не верно). |
Ответ: Точка в четырёхугольнике
Цитата:
берем угол, rand(0,360) строим из точки луч, направленный в ту сторону, и считаем кол-во точек пересечения луча и ребер многоугольника. Если четное - точка снаружи, нечетное - внутри. |
Ответ: Точка в четырёхугольнике
Цитата:
|
Ответ: Точка в четырёхугольнике
О чё нарыл:
PHP код:
|
Ответ: Точка в четырёхугольнике
Автора на кастрацию срочно
|
Ответ: Точка в четырёхугольнике
Цитата:
На остальное плевать. |
Ответ: Точка в четырёхугольнике
Цитата:
|
Ответ: Точка в четырёхугольнике
Цитата:
Ибо если будит 0 пересечений, тогда снаружи. |
Часовой пояс GMT +4, время: 07:19. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot