অসম গ্রহের পৃষ্ঠের প্যাথফাইন্ডিং


16

আমার প্রশ্ন হ'ল অসম গ্রহের পৃষ্ঠের প্যাথফাইন্ডিংয়ের সর্বোত্তম পন্থাটি কী হবে?


পেছনের তথ্য

আমি sp টি গোলকের প্রস্তাবিত প্লেনগুলি ডিসপ্লেসমেন্ট ম্যাপিং থেকে একটি গ্রহ তৈরি করেছি। বিমানগুলি প্রথমে একটি গোলকের আকারে প্রক্ষেপণ করার আগে একটি ঘনক্ষেত্র তৈরি করেছিল।

এখানে চিত্র বর্ণনা লিখুন

আমি ভাবছি যদি প্রতিটি "গোলক প্রজেক্টেড কিউব ফেস" গ্রিড হিসাবে ব্যবহার করা সম্ভব হয় এবং সর্বোত্তম সম্ভাব্য রুটটি সন্ধানের জন্য একটি সাধারণ এ * অ্যালগরিদম ব্যবহার করা সম্ভব হয় তবে আমিও চাই যে স্থানচ্যুতি উচ্চতা বিবেচনায় নেওয়া উচিত যাতে পথটি আরোহণ এড়াতে পারে পর্বত ইত্যাদি (আমার ধারণা এটি এ * অ্যালগোরিদমের অভ্যন্তরে কেবল একটি হিউরিস্টিক হবে) আরেকটি বিবেচনা হ'ল আমি ইউনিটি 3 ডি এর পদার্থবিজ্ঞানের ইঞ্জিনটি উপকার করে গ্রহটির গতিবিধি অর্জন করেছি, গ্রহের কেন্দ্রের দিকে অভিকর্ষ প্রয়োগ করেছি। আমার প্রস্তাবিত সমাধানটির জন্য এজেন্টদের চলাচলকে মহাকর্ষীয় পদার্থবিজ্ঞানে স্বাধীনভাবে নিয়ন্ত্রণ করা দরকার।

আমার প্রশ্নটি আরও ভালভাবে বোঝাতে এটি আমার বর্তমান গ্রহীয় দেহ:

এখানে চিত্র বর্ণনা লিখুন


2
প্ল্যানেটারি অ্যানিহিলেশন থেকে আপনি এই ভিডিওটিতে আগ্রহী হতে পারেন । আপনি পৃথিবীকে একটি ঘনক্ষেত্র থেকে মোড়ক এবং তার চারপাশের সন্ধানের পথটি একইভাবে দেখছেন। এটি আসলে কোনও উত্তর নয়, তবে আপনি দেখতে পাচ্ছেন যে তারা কোনও গোলকের চারপাশে পথ সন্ধানের অনুকূলকরণের জন্য কিছু অন্যান্য কৌশল সহ এ * ব্যবহার করছে। পথ সন্ধান বিট 24:30 এ শুরু হয় ।
মাইকেলহাউস

@ বাইট 56 এই লিঙ্কটির জন্য ব্যয়টির জন্য সত্যই আকর্ষণীয় পদ্ধতির জন্য ধন্যবাদ, খেলাটি শেষ হয়ে গেলে এটি দেখার অপেক্ষা করতে পারে না!
কায়ুস ইউজিন

উত্তর:


12

দেখে মনে হচ্ছে আপনি ইতিমধ্যে আপনার নিজের প্রশ্নের উত্তর দিয়েছেন। এ * সম্ভবত সেরা পন্থা। হ্যাঁ অবশ্যই এটি আপনার বর্ণনা অনুসারে ব্যবহার করা যেতে পারে, পর্বতগুলি এড়ানোর জন্য উচ্চতার তথ্য ব্যবহার সহ। যতক্ষণ আপনি আপনার বিশ্বের পৃষ্ঠে কোনও গ্রিড সম্পর্কে তথ্য অ্যাক্সেস করতে সক্ষম হবেন, আপনি এ * হিউরিস্টিকতে এটি ব্যবহার করতে পারবেন না এমন কোনও কারণ নেই।

অবশেষে, আপনি আপনার প্রশ্নের শেষে পথ অনুসরণ করে বিভ্রান্ত করছেন পাথ সন্ধানের ফলে মহাকর্ষ সম্পর্কে কোন চিন্তা নেই, যদি না আপনি এটিকে হিউরিস্টিক হিসাবে যুক্ত করেন এবং আপনি যেহেতু কোনও গ্রহের পৃষ্ঠের উপরে থাকেন তাই মাধ্যাকর্ষণ মূলত পুরো পৃষ্ঠের উপরে একই হবে। অনেক গেমের আন্দোলনের সাথে একসাথে অভিকর্ষ থাকে, আমি পারছি না এমন কোনও কারণ আমি দেখতে পাচ্ছি না।

মূলত আমরা লাল থেকে নীল হয়ে ম্যাপ করতে চাই, ঘনক্ষেত্রে যেমন হয় তেমন গোলক একই হয়।

এখানে চিত্র বর্ণনা লিখুন

যেহেতু A * প্রায়শই তার বর্তমান নোডের প্রতিবেশীদের পাচ্ছে তাই আপনি খুব সহজেই সংলগ্ন নোডগুলি পাওয়ার জন্য একটি ফাংশনের একটি সেট তৈরি করতে পারেন। উদাহরণস্বরূপ, getXPlus(), getXMinus(), getZPlus()এবং তাই। এই ফাংশনগুলি বর্তমান নোডটি নেবে এবং ফাংশনটির নাম দ্বারা উল্লিখিত দিকটিতে নোডটি ফিরিয়ে দেবে।

বেশিরভাগ সময় এই ফাংশনগুলি কেবল একটি মান বাড়িয়ে দেয় এবং সম্পন্ন করা যায়, তবে প্রান্তগুলিতে, এটি পরিবর্তিত হবে।

আপনি আপনার ঘনক্ষেত্রের পৃষ্ঠটিকে একটি 2 ডি সমন্বিত সিস্টেমে মানচিত্র করতে চান। তবে আপনি যা করেন এটি আপনার উপর নির্ভর করে, তাদের লাইন আপ করতে হবে না, কেবল প্রতিটি গ্রিডের স্থানকে একটি অনন্য এক্স, ওয়াই সমন্বয় করুন।

এখন যখন কোন প্রান্তে, এবং সংলগ্ন গ্রিডের স্থান পেয়ে এটি কেবল স্থানাঙ্কগুলিকে বাড়িয়ে দেওয়া হবে না। আমরা কোন মুখের দিকে যাচ্ছি তা সন্ধান করতে হবে এবং সেই মুখের স্থানাঙ্কগুলিতে স্যুইচ করতে হবে।

উদাহরণস্বরূপ, এখানে এক্সপ্লাস সমন্বয় পাওয়ার সাথে এক্স এবং ওয়াই উভয় স্থানাঙ্কের পরিবর্তন হবে কারণ আমরা একটি নতুন মুখের উপর একটি নতুন গ্রিড স্পেসে চলেছি। সবুজ রেখা দুটি মুখের মধ্যে একটি প্রান্ত উপস্থাপন করে।

এখানে চিত্র বর্ণনা লিখুন

এখন এগুলি কেবলমাত্র বৈশ্বিক স্থানাঙ্ক, আপনি বর্তমানে যে ঘনকটির মুখ উপস্থাপন করেন তৃতীয় মাত্রা সহ এটি একটি অভ্যন্তরীণ স্থানীয় সমন্বয় ব্যবস্থা ব্যবহার করা আরও সহজ হতে পারে।

যে কোনও উপায়ে কিউবের মুখের প্রতিটি গ্রিড স্পেসের জন্য আপনার একটি অনন্য সমন্বয় থাকা দরকার। আপনি কীভাবে সমন্বয় ব্যবস্থা প্রয়োগ করেন তার উপর তাদের মধ্যে ট্র্যাভেসিং নির্ভর করবে। আপনাকে কোথায় জানতে হবে যে কোথায় গোলাকৃতির পৃষ্ঠের উপরে মানচিত্র সমন্বয় করে।

এই সমস্ত অবশেষে বিমূর্ত করা উচিত যাতে আপনি এটি সম্পর্কে জানেন না।


সাড়া জন্য চিয়ার্স। আমি মনে করি আমি যা করছি তার সাথে প্রতিটি বিমানের বিচ্ছিন্ন গ্রিড হওয়ার সাথে লড়াই করছি। কীভাবে সীমগুলি মোকাবেলা করবেন সে সম্পর্কে আপনার কোনও পরামর্শ (বা আরও পড়ার) আছে, আমি অনুমান করছি যে আমি আমার "কিউব" গাণিতিকভাবে উদ্ঘাটিত করব, সমস্ত গ্রিডগুলি একত্রিত করব এবং সেই ডেটাসেট ব্যবহার করে পথটি গণনা করব?
কায়ুস ইউজিন

সত্যিই এটি আপনার কেবল চিন্তার দরকার worry এটি সহজেই একটি মোড়কের ফাংশন দ্বারা সমাধান করা হয় (আপনার কিউবটিকে একটি মোড়ক ফাংশনে আবৃত করে, যা আপনার বিশ্বকে আবৃত করে ...)। আপনি কিউবটিকে একটি সমতল পৃষ্ঠে আবৃত করতে পারেন যা মোড়ানো। পার্শ্ববর্তী গ্রিডের স্থান পাওয়ার জন্য ফাংশন তৈরি করুন, এক্সপ্লাস () এক্সপ্লাস দিকের গ্রিডটি পাবেন, এটি মুখগুলির মধ্যে সীমানা না থাকলে কিছু যায় আসে না, ফাংশনটি কেবল মুখগুলি স্যুইচ করবে এবং উপযুক্ত গ্রিডের তথ্য ফিরিয়ে দেবে।
মাইকেলহাউস

ভাঁজ ঘনক্ষেত্রে পাথ সন্ধানের একমাত্র অশুচিতাটি হ'ল শীর্ষকোষটি স্কিউড থাকে এবং এজন্য প্রান্তগুলি বিভিন্ন দৈর্ঘ্য রয়েছে। এটি সম্ভব যে এটি ফলাফলের পথগুলিতে লক্ষণীয় পার্থক্য তৈরি করবে না এবং অন্যথায় আপনি দৈর্ঘ্যগুলিকে বিবেচনায় নিতে পারেন।
দানিজার

1
এখানে বুঝতে গুরুত্বপূর্ণ বিষয়টি হ'ল এ * অগত্যা কোনও বিমানে চলাচল করে না; এটি একটি গ্রাফটিতে কাজ করে। যদিও প্রতিটি ঘনক্ষেত্রের মুখের মধ্যে নোডগুলি একটি গ্রিডে সজ্জিত এবং সংযুক্ত থাকে তবে কিউবের কিনারাগুলি জুড়ে নোড সংযোগ রয়েছে।
jmegaffin

1
@ বাইট 56 দুর্দান্ত উত্তরের জন্য ধন্যবাদ, আমি একটি সমাধানটি প্রয়োগ করতে শুরু করেছি তবে আমি কিছুটা রাস্তা আটকে রেখেছি। আমি ভুল বুঝেছি। আমি স্ট্যাকওভারফ্লোতে একটি প্রশ্ন পোস্ট করেছি কারণ আমি তার গণিত / প্রোগ্রামিংয়ের সমস্যাটি আরও অনুভব করেছি stackoverflow.com/questions/16089074/…
কাইস ইউজিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.