Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
#1

Найти расстояние между отрезками - C++

10.02.2014, 20:28. Просмотров 2493. Ответов 20
Метки нет (Все метки)

Даны координаты точек двух отрезков, найти расстояние между ними.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти расстояние между отрезками (C++):

Расстояние между двумя произвольно заданными на плоскости отрезками - C++
Ребят, подскажите как найти расстояние между двумя произвольно заданными на плоскости отрезками (данную задачу мне нужно написать в С,...

Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих - C++
1. Расстояние между двумя множествами точек - это расстояние между наиболее близко расположенными точками этих множеств. Найти расстояние...

Задача на рекурсию. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги - C++
Дана матрица размером NxN с расстояниями между городами при наличии прямой дороги между ними. По вертикали содержаться города откуда...

Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили пе - C++
Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если...

Найти расстояние между символами с1 и с2 - C++
я смог сделать только что бы подсчитывались все символы в строке, то есть общее количество #include <iostream> #include <conio.h> ...

Найти наибольшее расстояние между точками - C++
#include <cstdlib> #include <iostream> #include <Math.h> using namespace std; double rast(double x1, double x2, double y1,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
10.02.2014, 20:36 #2
Простая формула.
http://rudocs.exdat.com/pars_docs/tw..._m62270173.gif
0
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
10.02.2014, 20:44 #3
Прикрепил картинку.
0
Миниатюры
Найти расстояние между отрезками  
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
10.02.2014, 20:44  [ТС] #4
Это расстояние между двумя точками, а мне нужно совсем другое
0
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
10.02.2014, 20:45 #5
сейчас 1 минуту
0
Chernobyl
213 / 213 / 67
Регистрация: 30.09.2012
Сообщений: 542
10.02.2014, 20:47 #6
virtuos553, Простите, действительно поспешил.
0
virtuos553
48 / 3 / 1
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
10.02.2014, 22:04  [ТС] #7
это не то

Добавлено через 10 секунд
хорошо
0
Байт
Эксперт C
16059 / 10328 / 1540
Регистрация: 24.12.2010
Сообщений: 19,446
10.02.2014, 22:32 #8
Тут скорее математика, чем программирование...
Точки отрезка АВ задаются уравнением E = tA+(1-t)B (0<=t<=1), A,B - вектора, те. это 3 уравнения, надеюсь, понятно?
Соответственно F = tC + (1-s)D
Пишем функцию расстояния промежь Е и F - Пифагор в помощь! И находим ее минимум в квадрате 0<=t<=1, 0<=s<=1
Как положено. Экстремумы внутри области, на границах, и в вершинах квадрата. Кто будет меньше всех, тот и победил!
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.02.2014, 22:36 #9
Цитата Сообщение от virtuos553 Посмотреть сообщение
Даны координаты точек двух отрезков, найти расстояние между ними.
А отрезки параллельны? Если нет, то невозможно найти расстояние.
0
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 259
10.02.2014, 22:46 #10
Цитата Сообщение от programina Посмотреть сообщение
Если нет, то невозможно найти расстояние.
Точнее, прямые, соответствующие этим отрезкам, не должны пересекаться.
0
Байт
Эксперт C
16059 / 10328 / 1540
Регистрация: 24.12.2010
Сообщений: 19,446
10.02.2014, 22:57 #11
Цитата Сообщение от programina Посмотреть сообщение
А отрезки параллельны? Если нет, то невозможно найти расстояние.
Это круто! Вы бы хоть в свободную минуту посмотрели б, что такое расстояние Гугль, да и прочие поисковые системы, да и простой здравый смысл - в помощь.
Вопрос на засыпку - А между двумя непараллельными прямыми (в пространстве) расстояние найти возможно? Или (уже двумерный случай) между двумя окружностями?
Простите за возможную резкость, но не стоило, право слово, так сомневаться в наших возможностях.
Резюмирую. Расстояние есть? Оно определено? Как? Остается понять определение, и найти возможность это расстояние вычислить с наименьшими затратами

Добавлено через 1 минуту
Цитата Сообщение от AndrSlav Посмотреть сообщение
Точнее, прямые, соответствующие этим отрезкам, не должны пересекаться.
Господи Боже мой! А это откуда?
0
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 259
10.02.2014, 23:02 #12
Не успел добавить
Вообще, не очень понятно, что считать расстоянием между отрезками:
например, (0,0,0)-(1,1,0) и (10,10,10)-(20,20,10).
Здесь расстояние
a. не вычислить
b. 10 - расстояние между прямыми
с. расстояние между (1,1,0) и (10,10,10)
Мне ближе вариант b, но...

Добавлено через 1 минуту
Цитата Сообщение от Байт Посмотреть сообщение
Господи Боже мой! А это откуда?
Это как раз если считать расстояние между прямыми по перпендикуляру, вроде.

Ну и,соответственно,
d.
e.
f
...
0
Байт
Эксперт C
16059 / 10328 / 1540
Регистрация: 24.12.2010
Сообщений: 19,446
10.02.2014, 23:04 #13
AndrSlav, Вы уже на правильном пути. Вы начинаете сомневаться. Но на всякий случай, выясните, что такое есть расстояние между двух множеств. Подсказать? Или сами догадаетесь?
0
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 259
10.02.2014, 23:10 #14
Цитата Сообщение от Байт Посмотреть сообщение
что такое есть расстояние между двух множеств.
Понятно, что расстояние - общее понятие, вот если бы было сказано "минимальное" или "максимальное" или между таких-то точек... Но, мне кажется (каюсь, не проверял), что расстояние между непересекающимися прямыми, например,- это по умолчанию минимальное расстояние.

Добавлено через 1 минуту
Цитата Сообщение от Байт Посмотреть сообщение
Подсказать? Или сами догадаетесь?
Или Вы считаете, что между скрещивающимися прямыми расстояние не так находится?
0
Байт
Эксперт C
16059 / 10328 / 1540
Регистрация: 24.12.2010
Сообщений: 19,446
10.02.2014, 23:31 #15
Цитата Сообщение от AndrSlav Посмотреть сообщение
Понятно, что расстояние
Нет, вы меня положительно радуете (это всерьез). Даже не прочтя определения, вы уже сами, интуитивно к нему подходите. Так Лейбниц и Ньютон пытались понять, что такое дифференциал, и каждый понимал его по своему, каждый придумывал свои закорючки, но в итоге все оказалось одинаково.
Так вот. Определение. Расстояние между двумя множествами (в евклидовом пространстве, есствно, ибо только там понятие "расстояния" определено) это наименьшее расстояние между парами точек, к этим множествам принадлежащим"

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

Добавлено через 2 минуты
Цитата Сообщение от AndrSlav Посмотреть сообщение
между скрещивающимися прямыми расстояние не так находится?
Там нас спасает бесконечность. И векторная алгебра.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 23:31
Привет! Вот еще темы с ответами:

Найти наибольшее расстояние между точками - C++
Здравствуйте. Пользователь задает координаты нескольких точек, программа должна определить, между какими точками наибольшее расстояние....

Найти расстояние между отрезком AB и прямой - C++
помогите написать, знаю как это в теории сделать, но не знаю как на си... Найти расстояние между произвольно заданными на плоскости...

Найти максимальное расстояние между точками на плоскости - C++
Даны координаты n точек на плоскости: (X1, Y1), ..., (Xn, Yn) (n ≤ 30). Найти номер пары точек, расстояние между которыми самое большое...

Найти расстояние между городами на Земле по координатам - C++
на днях дали задание написать программу, которая высчитывает расстояние между городами по координатам. Я пытался ее сделать через формулы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.02.2014, 23:31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru