Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Принадлежит ли точка фигуре? |
Автор: Sergio 26.6.2011, 18:05 | ||
Здравствуйте, помогите пожалуйста с написанием функции:
Нужно узнать принадлежит ли точка фигуре? Фигура ввиде правильного ромба. Действие происходит на осях X, Y Заранее спасибо. |
Автор: _Y_ 26.6.2011, 18:37 |
Что-то я геометрию школьную забыл. Бывают разве ромбы "неправильные"? Вообще же методов должно быть немеряно. Тем более, что ромб - фигура выпуклая и, поэтому, все с ней просто. Например так:
|
Автор: Skevalt 26.6.2011, 18:39 |
Можно сделать следующим образом: см. http://img-fotki.yandex.ru/get/5304/vulfin-alexey.0/0_7e2ca_53e55f4e_L.jpg Тогда условием принадлежности точки фигуре будет: (Yp <= u(Xp)) AND (Yp >= d(Xp)) Также, можно определять ромб и не через длины диагоналей, а через уравнение прямой, проходящей через две точки, откуда необходимо найти коэффициент угла наклона b/a. p.s. Ромб можно перенести в любую точку, используя параллельный перенос. p.p.s. Если совсем не заморачиваться, то взять код http://www.e-maxx.ru/algo/pt_in_polygon |
Автор: Dottik 1.7.2011, 10:36 |
Или же соеденить точку с 4-мя вершинами => получаем 4 треугольника => если сумма их площадей ровна площаде ромба то точка внутри. |
Автор: _Y_ 4.7.2011, 11:49 |
Мне понравилось. Давайте сделаем из этой темы флейм на тему сколькими методами можно решить данную задачу ![]() |