Penempatan terdekat ke titik akan berada di titik, atau menyentuh lingkaran.
Oleh karena itu, pertama periksa titik, kemudian gulung lingkaran baru di sekitar tepi setiap lingkaran yang ada, menghitung jarak dari titik dan jika Anda tumpang tindih saat Anda pergi dan melacak titik jarak minimum. Berhentilah saat Anda telah melintasi setiap lingkaran.
yaitu. periksa semua titik pada garis hijau, ditambah lingkaran putih. dimana garis hijau adalah lingkaran dengan jari-jari merah plus biru
Anda perlu memeriksa seluruh garis hijau, bukan hanya persimpangan sehingga Anda menutupi kasus tepi ini.
Jelas ukuran langkah traversal Anda akan menjadi penting dalam hal kinerja. Tetapi karena Anda menyatakan kinerja bukan masalah, pilih nilai yang sesuai dengan resolusi nilai output Anda. yaitu mengapung, panjang?
klarifikasi:
saran saya adalah untuk memaksa semua titik di sekitar setiap pengujian lingkaran untuk tumpang tindih dengan semua lingkaran lain di setiap titik. tidak ada kepintaran.
Jika contoh pic menunjukkan jumlah lingkaran dan resolusi, itu seharusnya tidak menjadi masalah untuk pc standar
kami memiliki 20 lingkaran radius rata-rata 200 jadi kira-kira 20 * 2 π * 200 poin * 20 tes persimpangan = 4800000 iterasi
catatan:
Pendekatan berulang seperti ini cacat karena ukuran langkah Anda, dalam hal ini resolusi output Anda, dapat sangat mempengaruhi hasilnya.
Katakanlah saya memiliki dua lingkaran merah yang terpisah 2 piksel dan satu lingkaran berwarna biru radius 1 piksel untuk memencetnya. Jelas dengan salah satu dari dua piksel sebagai pusat lingkaran biru itu akan tumpang tindih dengan yang merah. tapi jelas ada ruang untuk lingkaran jika pusatnya terletak di antara dua piksel.
Maka komentar saya bertanya tentang resolusi output. yang Anda katakan bisa apa saja.
Anda juga dapat memecahkan persamaan simultan untuk setiap pasangan lingkaran dengan jari-jari meningkat dengan jari-jari lingkaran biru.
ini akan memberi Anda poin di mana lingkaran biru akan menyentuh kedua lingkaran merah lebih akurat daripada iterasi.
Namun. ada beberapa kondisi di mana jika Anda hanya melakukan ini, Anda mendapatkan jawaban yang salah atau tidak ada. yaitu.
1 atau tanpa lingkaran
2 atau lebih lingkaran tetapi dengan titik sasaran jauh dan di luarnya.
banyak lingkaran tetapi dengan titik target dekat dengan permukaan