Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2013, 21:42   #1
Konlor
 
Регистрация: 18.07.2013
Сообщений: 3
По умолчанию Принадлежность вершины

Заданы Аi(xi,yi) ,i=1 до n - вершины выпуклого n-угольника.Определить ,принадлежит ли A(n+1) n-угольнику.
Konlor вне форума Ответить с цитированием
Старый 19.07.2013, 07:58   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Есть способ определить с какой стороны прямой находится точка.
(можно погуглить).
Т.к. n-угольник выпуклый, то обходим по его сторонам и проверяем положение точки.
Если точка на прямой, то завершаем обход и сообщаем о принадлежности.
Если точка находится по ту же сторону, что и следующая вершина, то продолжаем обход, иначе точка не принадлежит многоугольнику.
Если на последней стороне условие положения точки не поменялось, то точка принадлежит многоугольнику.


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 21.07.2013, 22:22   #3
interacia
Пользователь
 
Аватар для interacia
 
Регистрация: 24.01.2013
Сообщений: 67
По умолчанию

Предлагаю следующий алгоритм.
1 вычисляем площади многоугольника путем сложения суммы всех треугольников составляющих его.
2 вычисляем площадь многоугольника с дополнительной вершиной.
3 при сравнении этих площадей в случаи, если окажется что площадь изначальной фигуры меньше чем фигуры с дополнительной точкой, то эта точка не принадлежит многоугольнику.

На паскале это может выглядеть примерно так.
interacia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти вершины прямоугольника vslinko Помощь студентам 1 19.11.2012 22:04
Построить и подписать вершины Mariy_19 Паскаль, Turbo Pascal, PascalABC.NET 0 18.12.2011 18:52
Вершины Alina_Honey Паскаль, Turbo Pascal, PascalABC.NET 0 12.05.2011 20:42
Граф и вершины faustpatron13 Мультимедиа в Delphi 0 04.01.2011 07:32
DirectX 10. Формат вершины HWork Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.09.2010 10:12