Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Расстояние от точки до прямой |
Автор: rEn9I 15.4.2007, 12:43 |
Вот у меня такая задачка, никак написать не могу мож кто поможеТ??Надо вычислить расстояние от точки до прямой |
Автор: Anikmar 15.4.2007, 13:25 |
А можно взглянуть на то, что вы уже написали? |
Автор: zkv 15.4.2007, 13:54 |
![]() http://algolist.manual.ru/maths/geom/distance/pointline.php ![]() |
Автор: rEn9I 15.4.2007, 14:08 | ||
кспс за ссылку, шас попробуем написать,
|
Автор: VaiMR 16.4.2007, 21:35 |
если на плоскости то можно действовать так: треугольник А (х1,у1) В (х2,у2) - прямая заданная двумя точками С (х , у ) - наша точка а=АС b=ВС с=АВ q=^АСВ - угол по формулам площадей треугольников получаем: 0,5*с*h=а*b*sin(q) => h=(2*а*b*sin(q))/c , где а=sqrt((x1-x)*(x1-x)+(у1-у)(у1-у)) b=sqrt((x2-x)*(x2-x)+(у2-у)(у2-у)) c=sqrt((x1-x2)*(x1-x2)+(у1-у2)(у1-у2)) sin(q)=sqrt(1-(((a*a+b*b-c*c)/(a*b))*((a*a+b*b-c*c)/(a*b)))) по теореме косинусов либо можно так: 0,5*с*h=sqrt(p*(p-a)*(p-b)*(p-c)) , где p=(a+b+c)/2 используем формулу Герона => h=2*sqrt(p*(p-a)*(p-b)*(p-c))/c , так кажется проще. В пространстве в принципе то же самое, потому что любая прямая и одна точка задают плоскость то есть лежат в одной плоскости, тогда задача сводится к предыдущей. |