Io non credo che ci sia una soluzione facile.
Vorrei rispondere prendendo ogni cerchio a turno e eseguendo una sottrazione booleana di tutti gli altri cerchi. (I cerchi che sono abbastanza lontani - R0 + R1 < D12 - non interferiranno.)
Dopo che i pezzi sono stati mangiati, un cerchio diventa un poligono curvilineo fatto di archi circolari, o un insieme di tali poligoni, come può la connessione essere rotto. Un poligono può essere rappresentato dall'elenco di cerchi che contribuiscono con un arco del suo contorno e i punti finali degli archi sono definiti dall'intersezione comune di due vicini consecutivi o del cerchio di destinazione e di un vicino. Si noti che lo stesso vicino può apparire più volte.
Per rendere le cose un po 'più cruente, i poligoni possono avere buchi, che è necessario rappresentare anche.
Quindi un'operazione cruciale è la sottrazione di un cerchio da un poligono curvilineo. È necessario rilevare gli archi che si trovano interamente all'interno del nuovo cerchio e quelli che lo attraversano. Dopo aver ottenuto le parti rimanenti degli archi, è necessario riorganizzare gli archi rimanenti e quelli nuovi.
Immagino che tutte queste operazioni possano essere costruite da una singola primitiva che trova la parte di un arco (definito da tre cerchi) all'interno di un disco.

fonte
2016-06-23 22:28:30
Considera un cerchio grande e il suo bordo è completamente coperto da piccoli cerchi. Il centro del grande cerchio non sarà sicuramente coperto dai piccoli cerchi. E se capisco correttamente la domanda riguarda le cerchie con il loro interno. – maxim1000
Quello è corretto. I cerchi bianchi conformano un'area e l'altro cerchio potrebbe sovrapporsi a quell'area o parte di essa. Quello di cui ho bisogno per controllare. – oscarm
Sì, hai ragione! Buon punto Votami! : D – forestgril