2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Расстояние между двумя кривыми
Сообщение03.11.2008, 19:19 


03/11/08
1
Помогите, пожалуйста, разобраться со следующей задачей:

Даны две кривые, заданные точками(координатами этих точек).
Надо найти кратчайшее растояние между этими кривыми.

Идея состоит в том, что мы разбиваем каждую кривую одинаковыми отрезками, координаты которых можно определить.

Кратчайшее растояние будет состоять из суммы длин отрезков, соединяющих эти новые точки обеих кривых.
При этом все точки обеих кривых должны быть соединены между собой и одна точка первой кривой может быть соединена сразу с несколькими точками второй, если это уменьшает суммарное растояние между кривыми.

Начинается поиск с соединения первых двух точек обеих кривых и дальше должны последовательно просматриваться все точки обеих кривых. При этом составляется таблица растояний между точками обеих кривых.

Но я не пойму, по какому принципу просматривать эти точки, может, кто-нибудь знает, как решить эту задачу?

Буду очень благодарна за любую помощь.

 Профиль  
                  
 
 
Сообщение03.11.2008, 19:28 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
JennyO в сообщении #155635 писал(а):
Кратчайшее растояние будет состоять из суммы длин отрезков, соединяющих эти новые точки обеих кривых.
Вы уверены в этом?

 Профиль  
                  
 
 
Сообщение03.11.2008, 19:42 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Судя по формулировке, подозреваю, что задача компьютерная и результат интересен в "компьютерном" смысле, а не в чистом математическом. Я прав?

 Профиль  
                  
 
 
Сообщение03.11.2008, 20:27 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Мне припоминается следующая задача: две достаточно гладкие кривые в многомерном пространстве заданы огроменными массивами координат своих точек, отсортированных по параметру (время, длина кривой). Надо найти минимальное расстояние между точками кривых методом, скорейшим, чем прямой перебор всех пар. Там действительно массивы разбиваются на серии последовательных точек. И потом идут методы линейного программирования.

В Вашем тексте непонятно, то ли надо найти вычислить определяемое некоторым образом расстояние между кривыми, то ли кратчайшее расстояние между точками этих кривых. И каких еще точек - заданных или с учетом возможной интерполяции. Как заданы кривые - массивами или уравнениями?

Начните с более строгого и точного изложения задачи.

 Профиль  
                  
 
 
Сообщение03.11.2008, 21:47 
Заблокирован


19/09/08

754
Если кривые заданы аналитически, то можно применить метод Лагранжа, если координаты заданы в виде массива, то можно так.
Изображение

 Профиль  
                  
 
 
Сообщение03.11.2008, 23:47 


29/09/06
4552
Цитата:
Даны две кривые, заданные точками(координатами этих точек).

Фраза совсем непонятная. Точками (т.н. контрольными точками) задают специальный класс кривых. Если Вы имеете в виду их, то надо это явно написать. Если это произвольная параметризованная кривая, то никакими точками она не задаётся. Наконец, возможно, речь идёт просто о двух точечных множествах.

Цитата:
Надо найти кратчайшее растояние между этими кривыми.
Идея состоит в том, что мы разбиваем каждую кривую одинаковыми отрезками, координаты которых можно определить.

Идея состоит в том, что мы представляем каждую кривую дискретным множеством точек, расставленных по возможности равномерно с небольшим шагом.

Цитата:
Кратчайшее растояние будет состоять из суммы длин отрезков, соединяющих эти новые точки обеих кривых.
При этом все точки обеих кривых должны быть соединены между собой и одна точка первой кривой может быть соединена сразу с несколькими точками второй, если это уменьшает суммарное растояние между кривыми.

Кратчайшее растояние будет --- приближённо! --- наименьшим из расстояний между всеми парами точек, одна из которых принадлежит первой кривой, другая --- второй.

Какие-то умные (деревянные) алгоритмы перебора имеются, и принадлежат к области Computer Science.

Цитата:
Начинается поиск с соединения первых двух точек обеих кривых и дальше должны последовательно просматриваться все точки обеих кривых. При этом составляется таблица растояний между точками обеих кривых.
Составление таблицы излишне. Достаточно запоминать минимальный результат из всего просмотренного. Простейшая отпимизация --- сравнивать с текущим минимумом каждое очередное $|\Delta x|$, $|\Delta y|$. Если $|\Delta| \ge D_{min}$, пара игнорируется.

Цитата:
Но я не пойму, по какому принципу просматривать эти точки, может, кто-нибудь знает, как решить эту задачу?
--- в Computer Science сходите.

Для параметризованных кривых можно искать точное решение как минимум функции $D^2(t_1,t_2)$.

Добавлено спустя 8 минут:

gris в сообщении #155649 писал(а):
Начните с более строгого и точного изложения задачи

+1

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group