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
13437
с Территории
Выпуклый многочто, простите?

 Профиль  
                  
 
 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
11184
Россия, Москва
zosimovser в сообщении #1356275 писал(а):
Всегда ли максимальное расстояние между выпуклыми оболочками это максимальное расстояние между их точками (составляющими наименьшее выпуклое множество)? Для минимального нет, а для максимального???
Всегда: любая хорда лежит внутри окружности и расстояние от центра до неё меньше расстояния до её концов (радиуса). Под окружностью понимать описывающую. В многомерии и гиперплоскостями аналогично. Собственно это тривиально доказывается: касательная к гиперсфере гиперплоскость лежит снаружи этой гиперсферы и значит любые другие точки гиперплоскости дальше от центра гиперсферы, включая и точки вашей фигуры, для любой из гиперграней.

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

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



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

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


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

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