Учитывая координаты нескольких точек на плоскости и радиус окружности, окружающей каждую точку, нарисуйте многоугольники, представляющие окружности и ребра, где встречаются окружности. Прямые края всегда будут падать вдоль линий пересечения окружность-круг , но могут не следовать всей длине этих линий.
Согласно предложению mbomb007 , представьте себе поведение двумерных мыльных пузырей. Это технически неправильно, потому что мыльные пузыри всегда встречаются под углом 120 °, чтобы минимизировать энергию, в то время как эти круги могут встречаться под любым углом.
Это диаграмма Вороного, за вычетом плоскости определенной области. Спасибо Андреас . Это на самом деле обобщение диаграммы Вороного, называемой степенной диаграммой .
Примеры
Например, учитывая две точки и два радиуса, результат может выглядеть следующим образом:
Добавьте другую точку и радиус, и результат может выглядеть следующим образом:
вход
Вы можете структурировать вход по своему усмотрению. Пожалуйста, опубликуйте результаты со следующими данными.
Тест 1
- х: 10, у: 10, р: 10
- х: 25, у: 12, р: 8
Тест 2
- х: 8, у: 10, р: 6
- х: 20, у: 8, р: 4
- х: 18, у: 20, р: 12
Выход
Вывод должен быть графическим и должен включать границы многоугольника, но больше ничего не требуется. Точки и пересечения не должны быть представлены, как в примерах.
Ограничения
- Никакая точка не будет существовать в радиусе другого круга.
- Стандартные правила Codegolf.
- Никакие ответы с лазейками не будут приняты, но не стесняйтесь веселиться с ним.