আমি নিম্নলিখিত সমস্যার জন্য একটি ভাল অ্যালগরিদম খুঁজছি: ভক্সেলগুলির একটি 3 ডি গ্রিড দেওয়া (যা খালি বা ভরাট হতে পারে), যদি আমি দুটি অ-সংলগ্ন ভক্সেল বাছাই করি তবে আমি জানতে চাই যে তারা একে অপরের সাথে সংযুক্ত কিনা অন্যান্য ভক্সেল
উদাহরণস্বরূপ (2D এর পরিস্থিতি চিত্রিত করতে), যেখানে # একটি পূর্ণ বর্গ:
1 2 3
a # # #
b # #
c # # #
যদি আমি এ 3 এবং সি 3 বাছাই করি তবে তারা সংযুক্ত থাকলে আমি যত তাড়াতাড়ি সম্ভব নির্ধারণ করতে চাই; যদি ভরা পিক্সেলগুলির মধ্যে দিয়ে a3 এবং c3 এর মধ্যে কোনও পথ থাকে। (আসল পরিস্থিতি অবশ্যই 3 ডি ভক্সেল গ্রিডে is
আমি ফ্লাডফিল অ্যালগরিদম এবং পথ সন্ধানের অ্যালগরিদমগুলি দেখেছি, তবে কোনটি বেছে নেবে তা নিশ্চিত নই। উভয়ই অদক্ষ কাজ করে: বন্যা ভরাট সমস্ত ভক্সেল পূরণ করার চেষ্টা করে, তবে এটির প্রয়োজন হয় না। পাথ-ফাইন্ডিং অ্যালগরিদমগুলি সাধারণত সবচেয়ে সংক্ষিপ্ততম পথটি খুঁজে পাওয়ার সাথে সম্পর্কিত, এটিও প্রয়োজনীয় নয়। আমি শুধুমাত্র যদি জানা প্রয়োজন হয় একটি পাথ।
আমার কোন অ্যালগরিদম ব্যবহার করা উচিত?
সম্পাদনা: মন্তব্যের উপর ভিত্তি করে, আমার মনে হয় নিম্নলিখিতগুলি যুক্ত করা উচিত: ভক্সেলগুলির বিষয়বস্তু আগাম জানা যায়নি এবং এছাড়াও, কোনও ভক্সেলের অপসারণ (খালি করা) ভক্সেলের গ্রুপকে ভেঙে ফেলতে পারে কিনা তা সনাক্ত করার জন্য অ্যালগরিদম প্রয়োজন দুই বা ততোধিক ছোট গ্রুপে বিভক্ত।
c3->c2->b2->a2->a3
?