|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Politov 2:5015/176.18 06 Jan 2002 06:08:44 To : Vladimir Potapov Subject : Re: срочно нужен алг. --------------------------------------------------------------------------------
До меня дошли слухи, что *03.01.02* *22:16:40* пролетало сообщение
от Vladimir к *All* про *"срочно нужен алг."*. И я решил вмешаться.
VP> Сабж. Как определить вхождение точки в треугольник?
ИМХО один из простейших способов. Это через векторное произведение.
Т.е. для начала как оно считается. Если вектора имеют координаты
{x1,y1} и {x2,y2} соответственно, то в.п. равно x1*y2-x2*y1.
Использую знак в.п. мы можем определить с какое стороны второе вектор от
первого лежит. А используя модуль мы может найти площадь параллелограмма
построенного на этих векторах.
Так вот появляются два способа.
Пусть треугольник ABC, а точка на проверку D.
ь1. знаки всех вп совпадают, *[AB,AD]*,*[BC,BD]*,*[CA,CD]*, только вот есть
маразм с попаданием точки на прямую проходящую через сторону, тогда
соответствующее в.п. равно 0.
ь2. сравнить сумму площадей треугольников ABD,BCD,CAD с площадью ABC, в случае
равенства точка лежит внутри трегольника.
З.Ы. в связи с сессией работа над ФАКом по геометрии остановилась.
np: Iron Maiden "Heaven Can Wait"
Искренне Ваш
Sergey Politov
--- WP/95 Rus 1.78 Релиз 1 Reg.
* Origin: Heavy Metal is the Law. (2:5015/176.18)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3991192a6d15.html, оценка из 5, голосов 10
|