ฉันกำลังมองหาอัลกอริทึมที่ดีสำหรับปัญหาต่อไปนี้: กำหนดตาราง voxels แบบ 3 มิติ (ซึ่งอาจว่างเปล่าหรือเติมเต็ม) ถ้าฉันเลือก voxels ที่ไม่ติดกันสองตัวฉันต้องการทราบว่าพวกมันเชื่อมต่อกันด้วยหรือไม่ voxels อื่น ๆ
ตัวอย่างเช่น (เพื่อแสดงให้เห็นถึงสถานการณ์ใน 2D) โดยที่ # เป็นสี่เหลี่ยมจัตุรัสที่กรอก:
1 2 3
a # # #
b # #
c # # #
หากฉันเลือก a3 และ c3 ฉันต้องการตรวจสอบโดยเร็วที่สุดหากพวกเขาเชื่อมต่ออยู่ หากมีเส้นทางระหว่าง a3 และ c3 ถึงพิกเซลที่เติม (สถานการณ์จริงอยู่ในตาราง voxel 3D แน่นอน)
ฉันดูอัลกอริธึมเติมน้ำท่วมและค้นหาอัลกอริธึมเส้นทาง แต่ฉันไม่แน่ใจว่าจะเลือกแบบใด ทั้งสองทำงานที่ไม่จำเป็น: การเติมน้ำท่วมพยายามเติม voxels ทั้งหมด แต่ไม่จำเป็น อัลกอริธึมการค้นหาเส้นทางมักเกี่ยวข้องกับการค้นหาเส้นทางที่สั้นที่สุดซึ่งไม่จำเป็นเช่นกัน ฉันจะต้องทราบว่ามีเป็นเส้นทาง
ฉันควรใช้อัลกอริทึมใด
แก้ไข: ตามความคิดเห็นฉันคิดว่าควรเพิ่มสิ่งต่อไปนี้: เนื้อหาของ voxels ไม่เป็นที่รู้จักล่วงหน้าและขั้นตอนวิธีจำเป็นในการตรวจสอบว่าการกำจัด (การล้าง) ของ voxel จะทำให้กลุ่ม voxel แตกหรือไม่ เป็นกลุ่มเล็ก ๆ สองกลุ่มขึ้นไป
c3->c2->b2->a2->a3
?