Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1083991656
Korneley
2004-05-08 08:47
2004.05.30
Как посчитать расстояние в метрах по географическим координатам?


1-1084891319
Mameluke
2004-05-18 18:41
2004.05.30
Отображение верхнего и нижнего индексов в TRTFLabel


4-1081600941
Dron
2004-04-10 16:42
2004.05.30
Как изменить имя каталога


3-1084355894
ORMADA
2004-05-12 13:58
2004.05.30
Recordset


14-1084414890
Думкин
2004-05-13 06:21
2004.05.30
С днем рождения! 13 мая




   Наверх