2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Точки на концентрических окружностях
Сообщение02.07.2024, 14:35 


20/12/14
148
На двух концентрических окружностях расположено $n$ и $m$ точек соответственно.
Для простоты вначале пусть они расположены в вершинах правильных $n$ и $m$ -угольников.
Мне надо так повернуть окружности относительно друг друга, чтобы оба множества были
максимально далеки по углам друг от друга. Ну как бы в "шахматном порядке".

Если $n=m$ то идея очевидна -- располагаем точки одной окружности посередине (в смысле углов)
между точками другой.

Если $n \neq m$, то в любом случае сначала находим все попарные угловые расстояния
(с учетом $\mod 2\pi$).
И выбираем такой угол поворота, чтобы максимизировать минимальное расстояние.

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

Ну и хотелось бы найти эффективный алгоритм, если точки заданы массивами углов.

 Профиль  
                  
 
 Re: Точки на концентрических окружностях
Сообщение02.07.2024, 15:39 
Заслуженный участник
Аватара пользователя


16/07/14
9216
Цюрих
А от того, что окружности концентрические, а не одна и та же, что-то меняется? Вроде в обоих случаях важна только минимальная разность углов.

Если одно из множеств - правильный многоугольник с угловым размером стороны $\alpha$, а у другого угол $i$-й вершины $\beta_i$, то просто считаем все $\beta_i \mod \alpha$, берем из них минимум и максимум и соответственно поворачиваем.

 Профиль  
                  
 
 Re: Точки на концентрических окружностях
Сообщение02.07.2024, 19:40 


20/12/14
148
mihaild в сообщении #1644725 писал(а):
А от того, что окружности концентрические, а не одна и та же, что-то меняется? Вроде в обоих случаях важна только минимальная разность углов.

Нет конечно, просто так представлять удобнее :oops:
Спасибо, я все пытался формулы написать, но видимо так и надо делать

 Профиль  
                  
 
 Re: Точки на концентрических окружностях
Сообщение02.07.2024, 20:18 
Заслуженный участник


07/08/23
1196
Для произвольных многоугольников есть алгоритм со сложностью $O(m n \log(m n))$. Просто ставим многоугольники как попало так, чтобы у них совместились какие-то две вершины. Для каждого такого положения можно посчитать такое следующее положение (при повороте одного из многоугольника в фиксированную сторону) за $O(\log(m n))$ с помощью подходящей структуры данных типа двоичной кучи, ну и предподсчёт за $O((m + n) \log(m n))$. Между двумя такими последовательными положениями порядок между вершинами многоугольников фиксирован, а максимум расстояний по углам достигается в точности посередине между ними.

Если многоугольники правильные, то все такие вырожденные положения изоморфны и всё считается за время предподсчёта.

 Профиль  
                  
 
 Re: Точки на концентрических окружностях
Сообщение12.07.2024, 12:27 


20/12/14
148
Нашел замкнутое выражение для правильных $n$ и $m$-гонов:
$$\pi \dfrac{\gcd(n,m)}{n m}$$

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

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



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

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


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

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