Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2012, 12:44   #1
student_92
 
Регистрация: 18.03.2012
Сообщений: 8
По умолчанию как найти расстояние между отрезком и прямой?

Помогите написать код программы заранее спасибо

Найти расстояние между произвольно заданными на плоскости отрезком AB и прямой, проходящей через точки С и D
student_92 вне форума Ответить с цитированием
Старый 18.03.2012, 13:20   #2
S1av0k
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 87
По умолчанию

Смею предположить, что тут возможны следующие варианты:
1) Прямая и отрезок пересекаются
2) Прямая и отрезок параллельны
3) Прямая и отрезок не пересекаются и не параллельны
В первом случае расстояние равно нулю, во втором расстояние между П и О равно длине перпендикуляра от любой точки отрезка до прямой, в третьем - длине перпендикуляра, опущенного из конца отрезка, ближайшего к прямой, на эту прямую. В чем собственно проблема-то?
Помог - жми весы
S1av0k вне форума Ответить с цитированием
Старый 18.03.2012, 13:30   #3
student_92
 
Регистрация: 18.03.2012
Сообщений: 8
По умолчанию

есть четвертый когда отрезок лежит на прямой
student_92 вне форума Ответить с цитированием
Старый 18.03.2012, 13:39   #4
S1av0k
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 87
По умолчанию

Да, но я относил его к варианту 1), потому как принципиально с точки зрения расстояния это одно и тоже. Перефразируем тогда так: есть хотя бы одна общая точка.
Помог - жми весы
S1av0k вне форума Ответить с цитированием
Старый 18.03.2012, 14:06   #5
student_92
 
Регистрация: 18.03.2012
Сообщений: 8
По умолчанию

а как будет выглядеть код программы отыскания этого расстояния?



Общее уравнение прямой линии: A*x + B*y + C = 0
Общее уравнение прямой линии с угловым коэффициентом: y = a*x + b
Уравнение прямой, проходящей через две точки A1(x1, y1) и A2(x2, y2):
(y2 - y1)*(x – x1) = (x2 - x1)*(y – y1)
Условием параллельности прямых линий, заданных уравнениями
y= a1*x + b1
y= a2*x + b2
служит равенство угловых коэффициентов a1 = a2
Условием перпендикулярности прямых линий, заданных уравнениями
y= a1*x + b1
y= a2*x + b2
служит соотношение a1*a2 = -1
Для разыскания точки пересечения прямых линий, заданных уравнениями
A1*x + B1*y + C1 = 0
A2*x + B2*y + C2 = 0
необходимо решить указанную систему уравнений.
Расстояние d от точки M1(x1, y1) до прямой линии A*x + B*y + C = 0:
d = abs((A*x1 + B*y1 +C)/sqrt(A2 + B2)), где abs(z) – модуль числа z,
sqrt(v) – корень квадратный числа v
Уравнение прямой, проходящей через точку А1(x1, y1) перпендикулярно прямой
A*x + B*y + C = 0:
A*(y – y1) + B*(x – x1) = 0
student_92 вне форума Ответить с цитированием
Старый 18.03.2012, 14:16   #6
S1av0k
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 87
По умолчанию

Я могу помочь тебе разобраться с ошибками, может подсказать подход, но решать задачу за тебя я не стану. С такой формулировкой вопроса тебе во фриланс. Пишите коды, посмотрим, оценим, поможем.
Помог - жми весы
S1av0k вне форума Ответить с цитированием
Старый 18.03.2012, 14:54   #7
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

................................... ...

Последний раз редактировалось sidestep; 18.03.2012 в 14:57.
sidestep вне форума Ответить с цитированием
Старый 18.03.2012, 15:07   #8
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

а как ты узнаешь, от какой точки отрезка надо искать расстояние до прямой?
Задача к этому и сводится, если узнаешь точку, ближайшую к прямой, то перпендикуляр построить и вычислить его расстояние не тяжело
sidestep вне форума Ответить с цитированием
Старый 18.03.2012, 15:13   #9
student_92
 
Регистрация: 18.03.2012
Сообщений: 8
По умолчанию

вопрос конечно интересный...
student_92 вне форума Ответить с цитированием
Старый 18.03.2012, 15:14   #10
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

так тебе точное расстояние надо вычислить?
sidestep вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СИ Найти наименьшее расстояние между точками savra Помощь студентам 2 19.04.2011 10:16
Найти номера пары точек, расстояние между которыми наибольшее evgenext Помощь студентам 1 02.07.2010 22:46
Паскаль*Найти расстояние между двумя заданными множе-ствами точек tipson Помощь студентам 2 11.07.2009 12:19
Найти номера пары точек, расстояние между которыми наибольшее Nevis Помощь студентам 5 21.06.2009 23:37
Как узнать расстояние между делениями у Тракбара? Кирилл13 Помощь студентам 1 11.11.2008 11:44