2014 dxdy logo

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

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


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


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



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


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

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

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

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

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

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


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

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

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


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

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

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


07/08/23
1055
Для произвольных многоугольников есть алгоритм со сложностью $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
142
Нашел замкнутое выражение для правильных $n$ и $m$-гонов:
$$\pi \dfrac{\gcd(n,m)}{n m}$$

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

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



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

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


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

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