
22.03.2008, 12:28
|
Активный
|
|
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
|
|
Цитата:
Проверить, находится ли точка внутри треугольника, заданного своими вершинами, можно используя следующую формулу:
r = (y - y0) (x1 - x0) - (x - x0) (y1 - y0) , где x, y - координаты заданой точки, а x0, y0, x1, y1 - координаты двух соседних вершин треугольника (например, A(x1,y1) и B (x2,y2) в Вашем примере). Если точка лежит внутри треугольника, r < 0 для всех сторон. Если хоть для одной стороны r < 0, точка лежит вне треугольника. Если r=0, точка лежит на стороне. В случае треугольника это довольно просто, но можно использовать и для любого полигона.
|
Отсюда: http://subscribe.ru/archive/comp.sof.../07103447.html
|