Biorąc pod uwagę współrzędne kilku punktów na płaszczyźnie i promień okręgu otaczającego każdy punkt, narysuj wielokąty reprezentujące koła i krawędzie, w których stykają się koła. Proste krawędzie zawsze będą opadać wzdłuż linii przecięcia okrąg-okrąg , ale mogą nie być wzdłuż pełnej długości tych linii.
Zgodnie z sugestią mbomb007 wyobraź sobie zachowanie baniek mydlanych 2D. Jest to technicznie niepoprawne, ponieważ bańki mydlane zawsze spotykają się pod kątem 120 °, aby zminimalizować energię, podczas gdy koła te mogą spotkać się pod dowolnym kątem.
To jest diagram Voronoi, pomniejszony o płaszczyznę określonego obszaru. Dzięki Andreas . Jest to właściwie uogólnienie diagramu Voronoi zwanego diagramem mocy .
Przykłady
Na przykład, biorąc pod uwagę dwa punkty i dwa promienie, dane wyjściowe mogą wyglądać następująco:
Dodaj kolejny punkt i promień, a dane wyjściowe mogą wyglądać następująco:
Wkład
Możesz uporządkować dane wejściowe w dowolny sposób. Proszę zamieścić wyniki z następującymi danymi wejściowymi.
Test 1
- x: 10, y: 10, r: 10
- x: 25, y: 12, r: 8
Test 2
- x: 8, y: 10, r: 6
- x: 20, y: 8, r: 4
- x: 18, y: 20, r: 12
Wydajność
Dane wyjściowe powinny być graficzne i powinny zawierać granice wielokątów, ale nic więcej nie jest wymagane. Punkty i skrzyżowania nie muszą być reprezentowane tak jak w przykładach.
Ograniczenia
- W promieniu innego koła nie będzie żadnego punktu.
- Standardowe zasady gry w codegolf.
- Żadne odpowiedzi z lukami nie będą akceptowane, ale możesz się z nimi dobrze bawić.