|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Boris Sivko 2:452/26.14 05 Jan 2002 18:33:18 To : Igorr V Syurtukov Subject : срочно нужен алг. --------------------------------------------------------------------------------
По данным контрразведки я узнал, что в Суббота Январь 05 2002 13:19, Igorr V
Syurtukov писал Vladimir Potapov на тему "срочно нужен алг.":
VP>> Сабж. Как определить вхождение точки в треугольник?
IS> Элементаpно! ypавнения пpямой y=k*x+b, ypавнение точки [х0,y0],
IS> тепеpь надо пpовеpить, чтобы точка была одновpеменны выше/ниже нyжных
IS> пpямых, смотpится по "k", что есть тангенс yгла наклона. То есть если
IS> кооpдинаты точки подставить в кооpдинаты пpямой, то можно опpеделить
IS> HИЖЕ или ВЫШЕ пpямой точка и так для всех тpех пpямых.
В этом методе слишком много гемороя. Hапример, для прямой y=const определи
выше или ниже.
Имхо самый простой в кодировании это
тр-к ABC, точка D
S(ABC) = S(ABD) + S(ACD) + S(BCD) для точки внутри треугольника, иначе для
точки вне треугольника.
S(ABC) = abs( (xA-xB) * (yA+yB) + (xB-xC) * (yB+yC) + (xC-xA) * (yC+yA) );
Для этой задачи делить на 2 необязательно.
Счастливо, Igorr. Вспоминай обо мне...
... I'll be back...
* Origin: Всё это фигня по сравнению с мировой революцией! (2:452/26.14)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/207123c373a07.html, оценка из 5, голосов 10
|