Получить взаимно однозначное соответствие интервала (0;1) и точек на нескольких дугах окружности

Рейтинг: 0Ответов: 0Опубликовано: 24.02.2023

Имеем несколько окружностей. На одной выбранной окружности необходимо выбрать случайную точку, такую, что эта точка лежит вне всех других окружностей. Используем Unity. Сейчас используется тупое решение: Берем случайную точку на окружности (Random.insideUnitCircle.normalized) раз за разом, пока эта точка не удовлетворит условию. Это ужасно медленно, не говоря уже о том, что случаются ситуации, когда вся окружность так или иначе лежит в нескольких других окружностях.

Предлагаю следующее: Найти все дуги окружности, лежащие вне других, как пары точек по часовой стрелке(посильная задача), и описать функцию, которая по числу от 0 до 1 включительно будет выдавать одну из этих точек на окружности. В нахождении этой функции проблема, и я прошу помощи. Если есть другие простые решения, готов выслушать.

Ответы

Ответов пока нет.