2014 dxdy logo

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

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


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


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение22.11.2018, 10:31 


13/11/18
12
В N-мерном пространстве есть точка и выпуклый многоугольник, заданный точками. Как найти мин. расстояние между ними? Понятно, что это будет либо перпендикуляр к гиперплоскости, либо расстояние до одной из точек. Но как его найти (перпендикуляр), ума не приложу..

И еще, может быть в Matlab есть для этого ф-я специальная? или другие функции упрощающие эту задачу?

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение22.11.2018, 11:50 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Выпуклый многочто, простите?

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение22.11.2018, 11:56 


13/11/18
12
Типа многогранник что-ли.. Дан произвольный набор точек, причем их может быть намного больше размерности пространства, они ограничивают некую область, которая выпукла.

Кстати по поводу перпендикуляра погорячился.. Это не обязательно перпендикуляр будет, к сожалению.

-- 22.11.2018, 13:43 --

Выход - алгоритм Гилберта—Джонсона—Кёрти, но похоже его хорошо проверенной реализации в измерениях >3 нет.

Не думал, что, как мне казалось простая задача, приведет к такой жести..

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 18:25 


05/08/17
43
zosimovser в сообщении #1355854 писал(а):
Типа многогранник что-ли.. Дан произвольный набор точек, причем их может быть намного больше размерности пространства, они ограничивают некую область, которая выпукла.
Коряво как-то... видимо, речь идет о выпуклой линейной оболочке, т.е. наименьшем выпуклом множество содержащем данные точки.

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 18:53 
Заслуженный участник
Аватара пользователя


09/09/14
6328
zosimovser в сообщении #1355854 писал(а):
Выход - алгоритм Гилберта—Джонсона—Кёрти, но похоже его хорошо проверенной реализации в измерениях >3 нет.
Это Вы что-то странное говорите. То есть все те статьи, которые опубликованы по этому алгоритму, да и сам алгоритм это просто всемирный заговор математиков и программистов?

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

Вы ведь не ожидали увидеть в ответе пару строчек кода, решающих задачу?

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 20:04 
Заслуженный участник
Аватара пользователя


08/11/11
5940
Есть тупой алгоритм: для всех подмножеств множества заданных вершин взять аффинное подпространство, порождённое ими, спроецировать нашу точку на это подпространство и проверить, лежит ли проекция в выпуклой оболочке точек подмножества. Если да -- запомнить длину перпендикуляра, и взять среди них минимальную.

Для чего-то более разумного нужно распознавание многогранника: по набору точек найти все грани всех размерностей многогранника, являющегося выпуклой оболочек его точек (и потом предыдущий аргумент применять только к граням).

Из общих соображений всегда будет алгоритм, работающий за $O(N^{C(d)})$, где $N$ -- количество точек, $d$ размерность. А, ну собственно в первом случае так и получается, потому что можно ограничиться подмножествами из не более чем $d+1$ точек.

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 22:34 


13/11/18
12
Цитата:
Коряво как-то... видимо, речь идет о выпуклой линейной оболочке, т.е. наименьшем выпуклом множество содержащем данные точки.

Не совсем. Все эти точки лежат на ограничивающей границе, внутри точек нет.

Цитата:
Это Вы что-то странное говорите. То есть все те статьи, которые опубликованы по этому алгоритму, да и сам алгоритм это просто всемирный заговор математиков и программистов?

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

Вы ведь не ожидали увидеть в ответе пару строчек кода, решающих задачу?


Да, для моей задачи излишне. Ссылку эту я знал еще до открытия темы. Во первых этот код не проверялся на размерностях >3, а во вторых его так просто не используешь. Как раз я их и ждал! Что может быть проще, отправить массив точек, точку и получить расстояние? Другое дело что нет написанного, а самому писать застрелишься.. и проверить правильность сложно.
В матлабе могли бы сделать.

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

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 22:59 
Заслуженный участник
Аватара пользователя


08/11/11
5940
zosimovser в сообщении #1356275 писал(а):
Всегда ли максимальное расстояние между выпуклыми оболочками это максимальное расстояние между их точками (составляющими наименьшее выпуклое множество)?


Да.

 Профиль  
                  
 
 Re: Мин. расстoяние тoчка-многoугольник в N-мернoм прoстранстве
Сообщение23.11.2018, 23:00 
Заслуженный участник


20/08/14
11776
Россия, Москва
zosimovser в сообщении #1356275 писал(а):
Всегда ли максимальное расстояние между выпуклыми оболочками это максимальное расстояние между их точками (составляющими наименьшее выпуклое множество)? Для минимального нет, а для максимального???
Всегда: любая хорда лежит внутри окружности и расстояние от центра до неё меньше расстояния до её концов (радиуса). Под окружностью понимать описывающую. В многомерии и гиперплоскостями аналогично. Собственно это тривиально доказывается: касательная к гиперсфере гиперплоскость лежит снаружи этой гиперсферы и значит любые другие точки гиперплоскости дальше от центра гиперсферы, включая и точки вашей фигуры, для любой из гиперграней.

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

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



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

Сейчас этот форум просматривают: epros


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

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