Saya mencari algoritme yang bagus untuk masalah berikut: Diberi kisi-kisi voxel 3D (yang mungkin kosong atau terisi), jika saya memilih dua voxel yang tidak berdekatan, saya ingin tahu apakah mereka terhubung satu sama lain oleh voxel lainnya.
Misalnya (untuk menggambarkan situasi dalam 2D), di mana # adalah kotak yang diisi:
1 2 3
a # # #
b # #
c # # #
Jika saya memilih a3 dan c3, saya ingin menentukan secepat mungkin jika mereka terhubung; jika ada jalur antara a3 dan c3 melalui piksel yang diisi. (Situasi sebenarnya adalah dalam kotak voxel 3D, tentu saja.)
Saya telah melihat algoritma penimbunan banjir dan algoritma pencarian jalur, tetapi saya tidak yakin mana yang harus dipilih. Keduanya melakukan pekerjaan yang tidak perlu: Flood fill mencoba mengisi semua voxel, tetapi ini tidak diperlukan. Algoritma pencarian jalur biasanya berkaitan dengan menemukan jalur terpendek, yang juga tidak perlu. Aku hanya perlu tahu apakah ada yang jalan.
Algoritma apa yang harus saya gunakan?
Sunting: berdasarkan komentar, saya pikir harus menambahkan yang berikut: isi voxel tidak diketahui sebelumnya, dan juga, algoritma diperlukan untuk mendeteksi jika penghapusan (pengosongan) voxel akan menyebabkan kelompok voxel pecah menjadi dua atau lebih kelompok kecil.
c3->c2->b2->a2->a3
?