আমাকে বলা হয়েছে যে একটি কোয়াড ট্রি আমার গেমের জন্য আদর্শ ডেটা কাঠামো, তবে কোয়াড ট্রিগুলির মধ্যে আকৃতিগুলি ঠিক কীভাবে কাজ করে তা বুঝতে আমার সমস্যা হচ্ছে।
আমি এটি জাভাস্ক্রিপ্টে করছি, তবে আমি মনে করি যে এই প্রশ্নগুলি কোনও ভাষায় কোয়াড ট্রিগুলিতে প্রয়োগ হতে পারে।
আমি মনে করি আমি প্রায়শই বুঝতে পারি যে কোয়াড ট্রিগুলিতে বেসিক (এক্স, ওয়াই) পয়েন্ট এবং পয়েন্ট সন্নিবেশ কীভাবে কাজ করে এবং আমি এটি কাগজে করতে পারি।
এখানে আমার পয়েন্টগুলির সাথে পরীক্ষার একটি জেএসফিডাল ।
এক কেস বাদে, পয়েন্ট সহ আমার পরীক্ষাগুলি প্রত্যাশার মতো কাজ করছে।
তবে আমার বিভ্রান্তি শুরু হয় যখন আয়তক্ষেত্রের মতো আকারগুলি জড়িত থাকে। আপনি যখন আকারের সাথে চতুষ্পদ গাছ থেকে পুনরুদ্ধার করছেন, এটি কি আকারের প্রতিটি বিন্দুটি পরীক্ষা করে এবং সেগুলি কোন নোডে পড়ে? এবং আকারের সন্নিবেশগুলি কীভাবে কাজ করবে, যখন এটি প্রতিটি আকারের জন্য (x, y, প্রস্থ, উচ্চতা) পরামিতিগুলি গ্রহণ করে? এটি অন্য কোণার পয়েন্টগুলি গণনা করতে প্রারম্ভিক বিন্দু থেকে প্রস্থ / উচ্চতা ব্যবহার করে, যা উপযুক্ত নোডগুলিতে বিতরণ করা হয়? যদি একটি shapeোকানো আকৃতি চারটি নোডে বিভক্ত হয়, তবে কি সেই আকারের ডেটাটি চারটি নোডে সংরক্ষিত হয়?
এবং যখন একটি পুনরুদ্ধার পদ্ধতি প্যারামিটার হিসাবে একটি আকার গ্রহণ করে (x, y, প্রস্থ, উচ্চতা), আসলে কী চলছে? এটি seeingোকানো হলে আকারটি কোন নোডে বিস্তৃত হবে তা প্রথমে দেখছে এবং তারপরে n নোডের সমস্ত বস্তু পুনরুদ্ধার করবে?
আমার একটি জেএসফিডাল আকার নিয়ে কাজ করছে তবে আমি আমার পরীক্ষার ফলাফলগুলি সম্পর্কে সম্পূর্ণ বিভ্রান্ত। আমি সদৃশ বস্তু ফেরত আসছে!
উদাহরণস্বরূপ, লাল বর্গক্ষেত্রটি আমি আমার পুনরুদ্ধার পদ্ধতিতে প্রবেশ করানো পরামিতিগুলির একটি অঙ্কিত সমতুল্য। আমি ভাবব যেহেতু এই লাল বর্গক্ষেত্রটি চারটি নোড বিস্তৃত, সুতরাং এটি কোয়াড গাছের প্রতিটি বস্তুটি ফিরিয়ে দেবে! তবে এটি হয় না এবং এটি কী ফিরে আসে তা যুক্তিযুক্ত করতে আমার সমস্যা হচ্ছে। আমার কাছে আরও বেশ কয়েকটি পরীক্ষা রয়েছে যা বর্তমানে মন্তব্য করা হয়েছে, তবে আপনি আরও মন্তব্য-বিহীন করতে পারেন এবং আরও বিভ্রান্তিকর ফলাফলগুলি দেখতে এটি চালাতে পারেন!
যেমনটি বলুন, আমি যদি একটি কোয়াড গাছের সমস্ত পয়েন্ট ফিরিয়ে দিতে চাই, তবে কীভাবে করব? কোনও আকারটি সীমানার পুরো আকার ব্যবহার করে একটি পুনরুদ্ধার পদ্ধতি? উদাহরণস্বরূপ, পুনরুদ্ধার (0, 0, ক্যানভাস.উইথ, ক্যানভাস.হাইট)?
আমি যে জাভাস্ক্রিপ্ট কোয়াডট্রি লাইব্রেরিটি ব্যবহার করছি তা অন্যান্য বিভিন্ন উত্স দ্বারা উল্লেখ করা হয়েছে, তাই আমি ধরে নিই যে প্রকৃত বাস্তবায়নটি সঠিক এবং নামকরা।
আমি মনে করি আমার প্রচুর বিভ্রান্তি কোয়াড ট্রি পরিভাষার ভুল বোঝাবুঝির কারণ হতে পারে। পছন্দ করুন, কেন যখন তারা একটি "পয়েন্ট" এর প্রস্থ / উচ্চতা পরামিতি থাকে তবে মাত্রাগুলির পরিবর্তে সীমানা কেন বলেন? এটি কি কনভেনশন / সংক্ষিপ্ত হাতের বিষয়, বা এগুলি সম্পূর্ণ ভিন্ন ধারণা?
আপনার সময় জন্য ধন্যবাদ!
_stuckChildren
। আপনি এটি "সীমানা সহ আইটেমগুলি পুনরুদ্ধার" নমুনাতেও দেখতে পারেন - এটি সর্বদা মূল নোড পর্যন্ত সমস্ত রাস্তাগুলিকে হাইলাইট করে যেগুলি আপনি ক্লিক করেছেন এমন নোডগুলির সীমানাগুলিকে বিস্তৃত করে।