Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
ВнизРастояние от точки до отрезка Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.026 c