Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Расстояние от точки до прямой


Автор: rEn9I 15.4.2007, 12:43
Вот  у меня такая задачка, никак написать не могу мож кто поможеТ??Надо вычислить расстояние от точки до прямой

Автор: Anikmar 15.4.2007, 13:25
А можно взглянуть на то, что вы уже написали?

Автор: zkv 15.4.2007, 13:54
user posted image
http://algolist.manual.ru/maths/geom/distance/pointline.php smile

Автор: rEn9I 15.4.2007, 14:08
кспс за ссылку, шас попробуем написать, 
Цитата
А можно взглянуть на то, что вы уже написали?

 я еше не начинал просто не знаю с чего начинать , шас попробую позже выложу что написал!

Автор: Anikmar 15.4.2007, 15:30
Цитата(rEn9I @  15.4.2007,  14:08 Найти цитируемый пост)
я еше не начинал просто не знаю с чего начинать , шас попробую позже выложу что написал! 

Программа на Си начинается с функции main или WinMain  smile 

Начинайте, пробуйте, спрашивайте - и вам здесь помогут.

Автор: 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 , так кажется проще. 

В пространстве в принципе то же самое, потому что любая прямая и одна точка задают плоскость то есть лежат в одной плоскости, тогда задача сводится к предыдущей.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)