Aşağıdaki sorun için iyi bir algoritma arıyorum: 3D (iki boş veya dolu olabilir) voksel ızgara göz önüne alındığında, iki bitişik olmayan voksel seçerseniz, onlar birbirine bağlı olup olmadığını bilmek istiyorum diğer vokseller.
Örneğin (durumu 2B olarak göstermek için), burada # dolu bir karedir:
1 2 3
a # # #
b # #
c # # #
A3 ve c3 seçersem, bağlanıp bağlanmadıklarını mümkün olduğunca çabuk belirlemek istiyorum; dolu pikseller arasında a3 ve c3 arasında bir yol varsa. (Gerçek durum elbette bir 3D voksel kılavuzundadır.)
Floodfill algoritmalarına ve yol bulma algoritmalarına baktım, ama hangisini seçeceğimi bilmiyorum. Her ikisi de gereksiz çalışır: Taşkın dolgu tüm vokselleri doldurmaya çalışır, ancak buna gerek yoktur. Yol bulma algoritmaları genellikle gerekli olmayan en kısa yolu bulmakla da ilgilidir. Ben sadece orada olmadığını bilmek gerekir olduğunu bir yolu.
Hangi algoritmayı kullanmalıyım?
Düzenleme: yorumlara dayanarak, aşağıdakileri eklemeliyim: voksellerin içeriği önceden bilinmemektedir ve ayrıca, bir vokselin kaldırılması (boşaltılması) voksel grubunun kırılmasına neden olup olmadığını tespit etmek için algoritma gereklidir iki veya daha fazla küçük gruba ayrılır.
c3->c2->b2->a2->a3
?