Главная страница
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.062 c
14-1084057797
Jim Bowling
2004-05-09 03:09
2004.05.30
Помогите советом по установке драйвера для видеокарты


8-1080147255
Beginner1
2004-03-24 19:54
2004.05.30
Как увеличить TImage?


6-1081768676
Геннадий
2004-04-12 15:17
2004.05.30
Как создать вложение при отправке электронного письма? idSMTP


11-1074625930
Ertong
2004-01-20 22:12
2004.05.30
BitBtn глюкавит


14-1083906425
ORMADA
2004-05-07 09:07
2004.05.30
Почему КЛАДОВКА не работает ?