আমি এখন কয়েক দিন ধরে এই সমস্যাটি দেখছি। আমি এই গ্রাফিকটিকে বিষয়টি কল্পনা করতে সহায়তা করার জন্য জালিয়াতি করেছি: (গ্রাফ থেকে, আমরা জানি যে লাইনটি [1, 1], [1, 2], [2, 2], [2, 3] কে ছেঁটে [ 3,3])
আমি প্রতিটি গ্রিড স্পেসে লাইন ধরে পা রাখতে চাই এবং গ্রিড জায়গার উপাদানটি শক্ত কিনা তা পরীক্ষা করে দেখতে চাই। আমার মনে হচ্ছে আমি ইতিমধ্যে জড়িত গণিতটি জানি, তবে আমি এখনও এটির সাথে একসাথে স্ট্রিং করতে সক্ষম হইনি। আমি আমার প্যাথফাইন্ডিং অ্যালগরিদমগুলির মাধ্যমে কোনও পাথের সন্ধানের পরে দৃষ্টির রেখাটি পরীক্ষা করতে এবং নোডগুলি অপসারণের জন্য এটি ব্যবহার করছি - আমার এজেন্টরা শক্ত ব্লকের মাধ্যমে দেখতে পাচ্ছে না, তাই তারা একটির মধ্য দিয়ে যেতে পারে না, সুতরাং নোডটি পথ থেকে সরিয়ে দেওয়া হয় না কারণ এটি একটি কোণে নেভিগেট করা প্রয়োজন।
সুতরাং, আমার একটি অ্যালগরিদম দরকার যা প্রতিটি গ্রিড স্পেসকে ছেদ করে এমন এক লাইনের সাথে এগিয়ে যাবে। কোন ধারনা?
আমি ব্রেসেনহ্যামের মতো প্রচলিত সাধারণ অ্যালগরিদমগুলি এবং লাইন বরাবর পূর্বনির্ধারিত বিরতিতে পদক্ষেপ নিয়ে একটি কটাক্ষপাত করেছি (দুর্ভাগ্যক্রমে, এই পদ্ধতিটি টাইলগুলি এড়িয়ে যায় যদি তারা পদক্ষেপের আকারের তুলনায় একটি ছোট জোড় দিয়ে ছেদ করে)।
আমি এখন আমার হোয়াইটবোর্ডকে প্রচুর পরিমাণে ফ্লোর () এবং সিল () ফাংশন দিয়ে পপুলেট করছি - তবে এটি অত্যধিক জটিল হয়ে উঠছে এবং আমি আশঙ্কা করছি যে এটি মন্দা হতে পারে।