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