Проверка попадания точки в треугольник

Материал из DRKB


{ **** UBPFD *********** by kladovka.net.ru ****
>> Проверка попадания точки в треугольник

Проверяет попадает ли точка P в треугольник ABC.
Вершины должны быть перечислены против часовой стрелки.

Зависимости: нет
Автор:       Fenik, fenik@nm.ru, Новоуральск
Copyright:   Николай Федоровских
Дата:        8 октября 2004 г.
********************************************** }

{ Внимание!! Вершины должны быть заданы против часовой стрелки!
        A
       / \
      /   \
     B-----C }
function PtInTriang(const P, A, B, C: TPoint): Boolean;
begin
  Result := False;
  if (P.x-A.x)*(A.y-B.y) - (P.y-A.y)*(A.x-B.x) >= 0 then
  if (P.x-B.x)*(B.y-C.y) - (P.y-B.y)*(B.x-C.x) >= 0 then
  if (P.x-C.x)*(C.y-A.y) - (P.y-C.y)*(C.x-A.x) >= 0 then
    Result := True;
end;


Author: Fenik
ID: 04128