Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Растояние от точки до отрезка   Найти похожие ветки 

 
jack128 ©   (2004-05-14 12:39) [0]

Есть отрезок (x1, y1); (x2, y2) и точка (x, y) нужно определить сабж

первое и простейшее, что приходит на ум - это

найти угол (x, y)-(x1, y1)-(x2, y2) (исходя из скалярного произведения векторов cos_Fi = [(x - x1) * (x2 - x1) + (y - y1) * (y2 - y1)] / [(Длина отрезка (x1, y1); (x, y)) * (Длина отрезка (x1, y1); (x2, y2))]

если больше угол больше 90 то искомое растояние = Длина отрезка (x1, y1); (x, y)
иначе
 если угол (x, y)-(x2, y2)-(x1, y1)  > 90 то Result =  Длина отрезка (x2, y2); (x, y)
 иначе Result = Длина((x, y); (x1, y1)) * sin((x, y)-(x1, y1)-(x2, y2))

Но может что то по проще/быстрее есть?


 
Rouse_ ©   (2004-05-14 12:49) [1]

Теорема пифагора :)
Прямой угол и остальные углы тебе извесны а также гипотенуза известна - осталось найти катеты :)


 
jack128 ©   (2004-05-14 12:53) [2]


> Теорема пифагора :)
> Прямой угол и остальные углы тебе извесны а также гипотенуза
> известна - осталось найти катеты :)
Если известна только гипотинуза и углы, то Пифагор не при делах ;-)


 
MBo ©   (2004-05-14 12:59) [3]

http://algolist.manual.ru/maths/geom/distance/pointline.php


 
jack128 ©   (2004-05-14 13:09) [4]


> MBo ©   (14.05.04 12:59)
еще раз напомню - расстояние до отрезка(!!!) Мне собственно не нравиться две первые проверки углов в моем алгоритме, а их придется оставить и для алгоритма с алголиста.. А в таком случаи у меня даже лудше алгоритм..


 
MBo ©   (2004-05-14 13:17) [5]

Насколько я помню, в конце страницы там именно про отрезок...


 
jack128 ©   (2004-05-14 13:41) [6]


> Насколько я помню, в конце страницы там именно про отрезок...
угу, не заметил :-) Сенкс.



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
14-1084341777
rvs
2004-05-12 10:02
2004.05.30
ТЗ


1-1084826769
Nk
2004-05-18 00:46
2004.05.30
Конвертация типов данных при вызове сишных DLL


7-1082372830
defen
2004-04-19 15:07
2004.05.30
Screenshot


4-1082126253
Islander
2004-04-16 18:37
2004.05.30
Какое сообщение поступает форме, когда она получает фокус?


14-1084259698
Ega23
2004-05-11 11:14
2004.05.30
Сразу вопрос. Правда по VC++ :o)