Dadas as coordenadas de vários pontos em um plano e o raio de um círculo em torno de cada ponto, desenhe polígonos representando os círculos e as arestas onde os círculos se encontram. As arestas retas sempre caem ao longo das linhas de interseção círculo-círculo , mas podem não seguir o comprimento total dessas linhas.
Por sugestão do mbomb007 , imagine o comportamento das bolhas de sabão 2D. Isso é tecnicamente errado, porque as bolhas de sabão sempre se encontravam em ângulos de 120 ° para minimizar a energia, enquanto esses círculos podem se encontrar em qualquer ângulo.
Este é um diagrama de Voronoi, menos um plano de área definida. Obrigado Andreas . Esta é realmente uma generalização de um diagrama de Voronoi chamado diagrama de potência .
Exemplos
Por exemplo, dados dois pontos e dois raios, a saída pode ser assim:
Adicione outro ponto e raio e a saída poderá ser assim:
Entrada
Você pode estruturar a entrada da maneira que desejar. Poste os resultados com as seguintes entradas.
Teste 1
- x: 10, y: 10, r: 10
- x: 25, y: 12, r: 8
Teste 2
- x: 8, y: 10, r: 6
- x: 20, y: 8, r: 4
- x: 18, y: 20, r: 12
Saída
A saída deve ser gráfica e incluir bordas poligonais, mas nada mais é necessário. Pontos e interseções não precisam ser representados como estão nos exemplos.
Restrições
- Nenhum ponto existirá dentro do raio de outro círculo.
- Regras padrão do codegolf.
- Nenhuma resposta com brechas será aceita, mas fique à vontade para se divertir.