На двух концентрических окружностях расположено
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
и
![$m$ $m$](https://dxdy-01.korotkov.co.uk/f/0/e/5/0e51a2dede42189d77627c4d742822c382.png)
точек соответственно.
Для простоты вначале пусть они расположены в вершинах правильных
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
и
![$m$ $m$](https://dxdy-01.korotkov.co.uk/f/0/e/5/0e51a2dede42189d77627c4d742822c382.png)
-угольников.
Мне надо так повернуть окружности относительно друг друга, чтобы оба множества были
максимально далеки по углам друг от друга. Ну как бы в "шахматном порядке".
Если
![$n=m$ $n=m$](https://dxdy-02.korotkov.co.uk/f/5/4/c/54ca4fff6191b4190e6bf7a018106c3782.png)
то идея очевидна -- располагаем точки одной окружности посередине (в смысле углов)
между точками другой.
Если
![$n \neq m$ $n \neq m$](https://dxdy-03.korotkov.co.uk/f/2/0/7/20767740808a34432b3ddf83c3d5a80782.png)
, то в любом случае сначала находим все попарные угловые расстояния
(с учетом
![$\mod 2\pi$ $\mod 2\pi$](https://dxdy-04.korotkov.co.uk/f/3/4/e/34ecc0c88a160f0333704271958e7a3f82.png)
).
И выбираем такой угол поворота, чтобы максимизировать минимальное расстояние.
У нас всего один параметр -- угол поворота, и мне кажется, для правильных многоугольников можно
найти точное решение (возможно, состоящие из нескольких ветвей, с модулями и т.п.)
Но что то я запутался ((
Ну и хотелось бы найти эффективный алгоритм, если точки заданы массивами углов.