Dadas las coordenadas de varios puntos en un plano, y el radio de un círculo que rodea cada punto, dibuje polígonos que representen los círculos y los bordes donde los círculos se encuentran. Los bordes rectos siempre caerán a lo largo de las líneas de intersección círculo-círculo , pero podrían no seguir la longitud total de estas líneas.
Según la sugerencia de mbomb007 , imagine el comportamiento de las pompas de jabón 2D. Eso es técnicamente incorrecto, porque las burbujas de jabón siempre se encontrarían en ángulos de 120 ° para minimizar la energía, mientras que estos círculos pueden encontrarse en cualquier ángulo.
Este es un diagrama de Voronoi, menos un plano de área definida. Gracias Andreas . Esto es en realidad una generalización de un diagrama de Voronoi llamado diagrama de poder .
Ejemplos
Por ejemplo, dados dos puntos y dos radios, la salida podría verse así:
Agregue otro punto y radio y la salida podría verse así:
Entrada
Puede estructurar la entrada como lo desee. Por favor, publique los resultados con las siguientes entradas.
Prueba 1
- x: 10, y: 10, r: 10
- x: 25, y: 12, r: 8
Prueba 2
- x: 8, y: 10, r: 6
- x: 20, y: 8, r: 4
- x: 18, y: 20, r: 12
Salida
La salida debe ser gráfica y debe incluir bordes de polígono, pero no se requiere nada más. Los puntos e intersecciones no necesitan ser representados como lo están en los ejemplos.
Restricciones
- No existirá ningún punto dentro del radio de otro círculo.
- Reglas estándar de codegolf.
- No se aceptarán respuestas con lagunas , pero siéntase libre de divertirse con eso.