Главная страница
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.48 MB
Время: 0.072 c
4-1081943026
Сережа550
2004-04-14 15:43
2004.05.30
Сложная имитация клика левой кнопкой мышки в нужном окне


3-1084035092
Alleum
2004-05-08 20:51
2004.05.30
Программно добавить столбец


14-1084426214
Bless
2004-05-13 09:30
2004.05.30
Посоветуйте, плз, видеокарту в пределах 100 у.е.


1-1084739094
Liona
2004-05-17 00:24
2004.05.30
Как очистить StringGrid?


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