আমরা শিখব কিভাবে বিভিন্ন অবস্থানে একটি ষড়ভুজ প্রিজম চিত্রিত করা যায়।

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

ডুমুরে হেক্স প্রিজম বিবেচনা করুন। 3.52 এবং চিত্রে এর অর্থোগোনাল অনুমান। 3.53। নিয়মিত ষড়ভুজগুলি হেক্সাগোনাল প্রিজমের (ষড়ভুজ) গোড়ায় থাকে, পাশের মুখগুলি অভিন্ন আয়তক্ষেত্র। পরিপ্রেক্ষিতে একটি ষড়ভুজকে সঠিকভাবে চিত্রিত করার জন্য, আপনাকে প্রথমে শিখতে হবে কিভাবে দৃষ্টিকোণে এর ভিত্তিকে সঠিকভাবে চিত্রিত করতে হয় (চিত্র 3.54)। ডুমুর মধ্যে ষড়ভুজ মধ্যে. 3.55 শিখরগুলি এক থেকে ছয় পর্যন্ত সংখ্যা দিয়ে চিহ্নিত করা হয়েছে। আপনি যদি 1 এবং 3, 4 এবং 6 বিন্দুগুলিকে উল্লম্ব রেখাগুলির সাথে সংযুক্ত করেন, আপনি দেখতে পাবেন যে এই রেখাগুলি, বৃত্তের কেন্দ্রের বিন্দুর সাথে, ব্যাস 5 - 2কে চারটি সমান অংশে বিভক্ত করে (এই বিভাগগুলি আর্কস দ্বারা নির্দেশিত হয় ) একটি ষড়ভুজের বিপরীত বাহুগুলি একে অপরের সমান্তরাল এবং একটি রেখা তার কেন্দ্রের মধ্য দিয়ে যাচ্ছে এবং দুটি শীর্ষকে সংযুক্ত করছে (উদাহরণস্বরূপ, বাহু 6 - 1 এবং 4 - 3 লাইন 5 - 2 এর সমান্তরাল)। এই পর্যবেক্ষণগুলি আপনাকে দৃষ্টিকোণে ষড়ভুজ তৈরি করতে সাহায্য করবে, সেইসাথে এই নির্মাণের সঠিকতা যাচাই করতে। একটি উপস্থাপনা থেকে একটি নিয়মিত ষড়ভুজ তৈরি করার দুটি উপায় রয়েছে: বৃত্তের ভিত্তিতে এবং বর্গক্ষেত্রের ভিত্তিতে।

সীমাবদ্ধ বৃত্তের উপর ভিত্তি করে। ডুমুর বিবেচনা করুন। 3.56। একটি নিয়মিত ষড়ভুজের সমস্ত শীর্ষগুলি বৃত্তের অন্তর্গত, যার ব্যাসার্ধ ষড়ভুজের পাশের সমান।


অনুভূমিক ষড়ভুজ। একটি অনুভূমিক, ফ্রিহ্যান্ড উপবৃত্ত আঁকুন, অর্থাৎ পরিপ্রেক্ষিতে পরিধিকৃত বৃত্ত। এখন আপনাকে এটিতে ছয়টি বিন্দু খুঁজে বের করতে হবে, যা ষড়ভুজের শীর্ষবিন্দু। প্রদত্ত বৃত্তের যে কোনো ব্যাস এর কেন্দ্র দিয়ে আঁকুন (চিত্র 3.57)। ব্যাসের চরম বিন্দু - 5 এবং 2, উপবৃত্তের উপর অবস্থিত, ষড়ভুজের শীর্ষবিন্দু। বাকি শীর্ষবিন্দুগুলি খুঁজে পেতে, আপনাকে এই ব্যাসটিকে চারটি সমান অংশে ভাগ করতে হবে। ব্যাস ইতিমধ্যে বৃত্তের কেন্দ্র বিন্দু দ্বারা দুটি ব্যাসার্ধে বিভক্ত, এটি প্রতিটি ব্যাসার্ধকে অর্ধেক ভাগ করতে বাকি রয়েছে। দৃষ্টিকোণ অঙ্কনে, দর্শকের থেকে দূরত্বের সাথে চারটি অংশ সমানভাবে হ্রাস করা হয় (চিত্র 3.58)। এখন ব্যাসার্ধের মধ্যবিন্দুগুলির মধ্য দিয়ে আঁকুন - বিন্দু A এবং B - সরলরেখা 5 - 2 এর লম্ব সরল রেখা। আপনি 5 এবং 2 বিন্দুতে উপবৃত্তের স্পর্শক ব্যবহার করে তাদের দিক খুঁজে পেতে পারেন (চিত্র 3.59)। এই স্পর্শকগুলি 5 - 2 ব্যাসের সাথে লম্ব হবে এবং এই স্পর্শকগুলির সমান্তরাল বিন্দু A এবং B এর মাধ্যমে আঁকা রেখাগুলি 5 - 2 রেখাতেও লম্ব হবে৷ এই রেখাগুলির সংযোগস্থলে প্রাপ্ত বিন্দুগুলিকে উপবৃত্তের সাথে চিহ্নিত করুন 1, 3, 4, 6 ( (চিত্র 3.60 দেখুন) সমস্ত ছয়টি শীর্ষবিন্দুকে সরলরেখা দিয়ে সংযুক্ত করুন (চিত্র 3.61)।

আপনার নির্মাণের সঠিকতা বিভিন্ন উপায়ে পরীক্ষা করুন। যদি নির্মাণটি সঠিক হয়, তবে ষড়ভুজের বিপরীত শীর্ষবিন্দুগুলিকে সংযোগকারী রেখাগুলি বৃত্তের কেন্দ্রে ছেদ করে (চিত্র 3.62), এবং ষড়ভুজের বিপরীত দিকগুলি সংশ্লিষ্ট ব্যাসের সমান্তরাল (চিত্র 3.63)। চেক করার আরেকটি উপায় চিত্রে দেখানো হয়েছে। 3.64।

উল্লম্ব ষড়ভুজ। এই ধরনের একটি ষড়ভুজে, বিন্দু 7 এবং 3, b এবং 4 সংযোগকারী সরলরেখাগুলির পাশাপাশি 5 এবং 2 বিন্দুতে পরিধিকৃত বৃত্তের স্পর্শকগুলির একটি উল্লম্ব দিক রয়েছে এবং এটি দৃষ্টিকোণ অঙ্কনে ধরে রাখে। এইভাবে, উপবৃত্তে দুটি উল্লম্ব স্পর্শক অঙ্কন করে, আমরা বিন্দু 5 এবং 2 (স্পর্শবিন্দু) খুঁজে পাই। তাদের একটি সরল রেখার সাথে সংযুক্ত করুন, এবং তারপর ফলস্বরূপ ব্যাস 5 - 2কে 4টি সমান সেগমেন্টে ভাগ করুন, তাদের দৃষ্টিভঙ্গি কাট (চিত্র 3.65) বিবেচনায় নিয়ে। A এবং B বিন্দুর মধ্য দিয়ে উল্লম্ব রেখা আঁকুন এবং উপবৃত্তের সাথে তাদের সংযোগস্থলে বিন্দু 1,3,6L4 খুঁজুন। তারপর পয়েন্ট 1 - 6 সিরিজে সরল রেখার সাথে সংযুক্ত করুন (চিত্র 3.66)। পূর্ববর্তী উদাহরণের মতো একইভাবে ষড়ভুজ নির্মাণের সঠিকতা পরীক্ষা করুন।

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

একটি বর্গক্ষেত্রের উপর ভিত্তি করে। ডুমুর বিবেচনা করুন। 3.67। অনুভূমিক দিক 5 - 2 এর একটি বর্গক্ষেত্রে খোদাই করা একটি ষড়ভুজটি বর্গক্ষেত্রের পাশের সমান এবং উল্লম্ব দিকে এটির দৈর্ঘ্যের চেয়ে কম।

উল্লম্ব ষড়ভুজ। দৃষ্টিভঙ্গিতে একটি উল্লম্ব বর্গক্ষেত্র আঁকুন। এর অনুভূমিক বাহুগুলির সমান্তরাল কর্ণগুলির ছেদ দিয়ে একটি সরল রেখা আঁকুন। ফলস্বরূপ সেগমেন্ট 5 - 2 কে চারটি সমান অংশে ভাগ করুন এবং A এবং B বিন্দুর মাধ্যমে উল্লম্ব রেখা আঁকুন (চিত্র 3.68)। ষড়ভুজের উপরের এবং নীচের রেখাগুলি বর্গক্ষেত্রের পাশের সাথে লাইন আপ করে না। বর্গক্ষেত্রের অনুভূমিক দিক থেকে কিছু দূরত্বে (1114 ক) এগুলি আঁকুন এবং তাদের সমান্তরাল করুন। বিন্দু 1 এবং 3 এইভাবে বিন্দু 2 এর সাথে এবং পয়েন্ট 6 এবং 4 বিন্দু 5 এর সাথে সংযোগ করলে আমরা একটি ষড়ভুজ (চিত্র 3.69) পাই।

অনুভূমিক ষড়ভুজটি একই ক্রমানুসারে নির্মিত হয়েছে (চিত্র 3.70 এবং 3.71)।

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

উপরন্তু, আরেকটি আছে - ফলে ষড়ভুজের চারপাশে একটি বৃত্ত বর্ণনা করতে (আপনার অঙ্কনে - একটি উপবৃত্ত)। ষড়ভুজের সমস্ত শীর্ষবিন্দু অবশ্যই এই উপবৃত্তের অন্তর্গত।

একটি ষড়ভুজ আঁকার দক্ষতা আয়ত্ত করার পরে, আপনি স্বাধীনভাবে একটি ষড়ভুজ প্রিজম আঁকার দিকে এগিয়ে যাবেন। ডুমুরের চিত্রটি ঘনিষ্ঠভাবে দেখুন। 3.72, সেইসাথে বৃত্তাকার বৃত্তের (চিত্র 3.73; 3.74 এবং 3.75) এবং একটি বর্গক্ষেত্রের ভিত্তিতে (চিত্র 3.76; 3.77 এবং 3.78) এর উপর ভিত্তি করে ষড়ভুজ প্রিজম নির্মাণের জন্য স্কিম। বিভিন্ন উপায়ে উল্লম্ব এবং অনুভূমিক ষড়ভুজ আঁকুন। একটি উল্লম্ব ষড়ভুজ অঙ্কনে, পাশের মুখগুলির দীর্ঘ দিকগুলি একে অপরের উল্লম্ব সরল রেখার সমান্তরাল হবে এবং ভিত্তি ষড়ভুজটি দিগন্ত রেখা থেকে যত বেশি উন্মুক্ত হবে। একটি অনুভূমিক ষড়ভুজের অঙ্কনে, পাশের মুখগুলির দীর্ঘ দিকগুলি দিগন্তের অদৃশ্য বিন্দুতে একত্রিত হবে এবং ভিত্তি ষড়ভুজটির খোলার দর্শকের কাছ থেকে তত বেশি হবে৷ একটি ষড়ভুজ চিত্রিত করার সময়, এটিও নিশ্চিত করুন যে উভয় ঘাঁটির সমান্তরাল মুখ পরিপ্রেক্ষিতে একত্রিত হয় (চিত্র 3.79; 3.80)।

একটি বৃত্তে খোদিত একটি নিয়মিত ষড়ভুজ তৈরি করে। একটি প্রদত্ত দিক বরাবর একটি নিয়মিত পঞ্চভুজ তৈরি করে। কম্পাসের সুইটিকে আপনি বৃত্ত দিয়ে আঁকেন সেই চাপের সংযোগস্থলে নিয়ে যান। এই নির্মাণ একটি বর্গক্ষেত্র এবং একটি কম্পাস ব্যবহার করে করা যেতে পারে। একটি রেল এবং একটি 30X60 ° বর্গ ব্যবহার করে একটি নিয়মিত ষড়ভুজ তৈরি করা যেতে পারে। একটি নিয়মিত ষড়ভুজের কোণগুলির শীর্ষবিন্দুগুলি প্লট করুন।


একটি বৃত্তে খোদিত একটি সমবাহু ত্রিভুজ নির্মাণ। এই জাতীয় ত্রিভুজের শীর্ষবিন্দুগুলি একটি কম্পাস এবং 30 এবং 60 ° কোণ সহ একটি বর্গক্ষেত্র বা শুধুমাত্র একটি কম্পাস ব্যবহার করে তৈরি করা যেতে পারে। সাইড 2-3 তৈরি করতে, রেসওয়েকে ড্যাশ করা রেখা দ্বারা দেখানো অবস্থানে সেট করুন এবং বিন্দু 2 এর মাধ্যমে একটি সরল রেখা আঁকুন, যা ত্রিভুজের তৃতীয় শীর্ষবিন্দুকে সংজ্ঞায়িত করবে।

পদ্ধতি 3 এর মধ্যে 1: একটি কম্পাস ব্যবহার করে একটি নিখুঁত ষড়ভুজ আঁকুন

আমরা বৃত্তে পয়েন্ট 1 চিহ্নিত করি এবং এটিকে পঞ্চভুজের শীর্ষবিন্দুগুলির একটি হিসাবে গ্রহণ করি। D ব্যাসের একটি বৃত্ত দেওয়া যাক; আপনাকে এটিতে একটি নিয়মিত হেপ্টাগন লিখতে হবে (চিত্র 65)। আমরা বৃত্তের উল্লম্ব ব্যাসকে সাতটি সমান অংশে ভাগ করি। বৃত্ত D এর ব্যাসের সমান ব্যাসার্ধের বিন্দু 7 থেকে, আমরা F বিন্দুতে অনুভূমিক ব্যাসের ধারাবাহিকতা সহ ছেদ পর্যন্ত একটি চাপ বর্ণনা করি। বিন্দু F কে বহুভুজের মেরু বলা হয়।

এটি কোণের দ্বিখণ্ডক এবং রেগুলার বহুভুজ নির্মাণের কৌশলের উপর ভিত্তি করে সেগমেন্টের মধ্যবর্তী লম্বগুলি তৈরি করার ক্ষমতার উপর।

এই টেবিলের প্রথম কলামটি একটি নিয়মিত খোদাই করা বহুভুজের বাহুর সংখ্যা দেখায় এবং দ্বিতীয়টি - সহগ। একটি প্রদত্ত বহুভুজের একটি বাহুর দৈর্ঘ্য একটি প্রদত্ত বৃত্তের ব্যাসার্ধকে এই বহুভুজের বাহুর সংখ্যার সাথে সম্পর্কিত একটি গুণক দ্বারা গুণ করে পাওয়া যায়।

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

4. প্রয়োজনীয় নিয়মিত ত্রিভুজ ABC প্রাপ্ত। সমস্যা সমাধান করা হয়েছে. 3. কম্পাসের একটি পা বৃত্তের একটি নির্বিচারে বিন্দু A1 এ রেখে, দ্বিতীয় পা ব্যবহার করে, একই বৃত্তে বিন্দু A2 চিহ্নিত করুন এবং এটিকে A1 বিন্দুতে সংযুক্ত করুন। আমরা ষড়ভুজের প্রথম দিকটি পাই। 3. O বিন্দু থেকে নেমে যাওয়া বহুভুজের পাশের মাঝামাঝি লম্বগুলি ব্যবহার করে, আমরা এর সমস্ত বাহু এবং বৃত্তের সমস্ত চাপগুলিকে এর সংলগ্ন শীর্ষবিন্দুগুলির মধ্যে আবদ্ধ, অর্ধেক ভাগ করি।

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

IV, V এবং VI বিন্দু থেকে শীর্ষবিন্দুগুলি পেতে /- // - /// বৃত্তের সাথে ছেদকে অনুভূমিক রেখা আঁকুন

আমরা একে অপরের সাথে সিরিজে পাওয়া শীর্ষবিন্দু সংযুক্ত করি। F মেরু থেকে রশ্মি এবং উল্লম্ব ব্যাসের বিজোড় বিভাজনের মাধ্যমে একটি হেপ্টাগন তৈরি করা যেতে পারে। উভয় বৃত্তের কেন্দ্রগুলি মিলে যায় (চিত্র 1 এ বিন্দু O)। চিত্রটি পরিধিকৃত (R) এবং খোদাইকৃত (r) বৃত্তগুলির ব্যাসার্ধও দেখায়।

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

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

এই নিবন্ধের কোড উদাহরণগুলি সিউডোকোডে লেখা হয়েছে, তাই আপনার নিজের বাস্তবায়ন লেখার জন্য সেগুলি পড়তে এবং বোঝা সহজ।

জ্যামিতি

ষড়ভুজ হল হেক্স বহুভুজ। নিয়মিত ষড়ভুজগুলির সমস্ত দিক (মুখ) একই দৈর্ঘ্যের থাকে। আমরা শুধুমাত্র নিয়মিত ষড়ভুজ দিয়ে কাজ করব। সাধারণত, হেক্স গ্রিডগুলি অনুভূমিক (পয়েন্টেড টপ) এবং উল্লম্ব (ফ্ল্যাট টপ) অভিযোজন ব্যবহার করে।


সমতল (বাম) এবং নির্দেশিত (ডান) শীর্ষ ষড়ভুজ

ষড়ভুজ 6টি মুখ আছে। প্রতিটি মুখ দুটি ষড়ভুজের জন্য সাধারণ। ষড়ভুজ 6 কোণ বিন্দু আছে. প্রতিটি কোণার বিন্দু তিনটি ষড়ভুজ দ্বারা ভাগ করা হয়। আপনি জাল অংশ (বর্গক্ষেত্র, ষড়ভুজ এবং ত্রিভুজ) সম্পর্কে আমার নিবন্ধে কেন্দ্র, প্রান্ত এবং কোণ বিন্দু সম্পর্কে আরও পড়তে পারেন।

কোণ

একটি নিয়মিত ষড়ভুজে, অভ্যন্তরীণ কোণগুলি 120 ° হয়। ছয়টি "ওয়েজ" আছে, যার প্রতিটি 60° অভ্যন্তরীণ কোণ সহ একটি সমবাহু ত্রিভুজ। কর্নার পয়েন্ট iকেন্দ্র থেকে (60 ° * i) + 30 °, আকারের একক দূরত্বে রয়েছে। কোডে:

ফাংশন হেক্স_কর্ণার (কেন্দ্র, আকার, i): var angle_deg = 60 * i + 30 var angle_rad = PI / 180 * angle_deg রিটার্ন পয়েন্ট (center.x + size * cos (angle_rad), center.y + size * sin (angle_rad) )
ষড়ভুজটি পূরণ করতে, আপনাকে হেক্স_কর্ণার (..., 0) থেকে হেক্স_কর্ণার (..., 5) পর্যন্ত বহুভুজের শীর্ষবিন্দু পেতে হবে। ষড়ভুজের রূপরেখা আঁকতে, এই শীর্ষবিন্দুগুলি ব্যবহার করুন এবং তারপর হেক্স_কোনারে আবার লাইনটি আঁকুন (..., 0)।

দুটি অভিযোজনের মধ্যে পার্থক্য হল x এবং y স্থান পরিবর্তন করে, যার কারণে কোণগুলি পরিবর্তন হয়: সমতল-শীর্ষ ষড়ভুজগুলির কোণগুলি হল 0°, 60°, 120°, 180°, 240°, 300°, এবং তীক্ষ্ণ-শীর্ষ ষড়ভুজ হল 30°, 90°, 150°, 210°, 270°, 330°৷


সমতল এবং তীক্ষ্ণ শীর্ষ ষড়ভুজের কোণ

আকার এবং অবস্থান

এখন আমরা একসাথে বেশ কয়েকটি ষড়ভুজ অবস্থান করতে চাই। একটি অনুভূমিক অভিযোজনে, ষড়ভুজের উচ্চতা হল উচ্চতা = আকার * 2। সংলগ্ন ষড়ভুজগুলির মধ্যে উল্লম্ব দূরত্ব vert = উচ্চতা * 3/4।

ষড়ভুজের প্রস্থ হল প্রস্থ = sqrt (3) / 2 * উচ্চতা। সন্নিহিত ষড়ভুজের মধ্যে অনুভূমিক দূরত্ব দিগন্ত = প্রস্থ।

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



সমন্বয় সিস্টেম

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

অফসেট স্থানাঙ্ক

সবচেয়ে সাধারণ পদ্ধতি হল প্রতিটি পরবর্তী কলাম বা সারি অফসেট করা। কলাম col বা q মনোনীত করা হয়। সারি সারি বা r মনোনীত করা হয়। বিজোড় বা জোড় কলাম/সারি অফসেট করা যেতে পারে, তাই অনুভূমিক এবং উল্লম্ব ষড়ভুজ দুটি বিকল্প আছে।


বিজোড়-আর অনুভূমিক বিন্যাস


জোড়-আর অনুভূমিক বিন্যাস


বিজোড়-কিউ উল্লম্ব বিন্যাস


ইভেন-কিউ উল্লম্ব বিন্যাস

কিউবিক স্থানাঙ্ক

ষড়ভুজগুলির গ্রিডগুলি দেখার আরেকটি উপায় হল তাদের মধ্যে দেখা তিনপ্রধান অক্ষ, না দুইবর্গক্ষেত্র গ্রিড হিসাবে. তারা মার্জিত প্রতিসাম্য দেখান.

কিউব একটি গ্রিড নিন এবং কাটা x + y + z = 0 এ তির্যক সমতল। এটি একটি অদ্ভুত ধারণা, কিন্তু এটি আমাদের হেক্স গ্রিড অ্যালগরিদম সহজ করতে সাহায্য করবে। বিশেষ করে, আমরা কার্টেসিয়ান স্থানাঙ্ক থেকে আদর্শ ক্রিয়াকলাপ ব্যবহার করতে সক্ষম হব: স্থানাঙ্কের যোগ এবং বিয়োগ, একটি স্কেলার দ্বারা গুণ এবং ভাগ এবং দূরত্ব।

ঘনক্ষেত্রের গ্রিডে তিনটি প্রধান অক্ষ এবং ছয়টির সাথে তাদের সম্পর্ক লক্ষ্য করুন। তির্যকহেক্সাগনের গ্রিডের দিকনির্দেশ। গ্রিডের তির্যক অক্ষগুলি হেক্স গ্রিডের ভিত্তি দিকটির সাথে মিলে যায়।


ষড়ভুজ


কিউবা

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

ষড়ভুজগুলির একটি গ্রিডের জন্য ঘন স্থানাঙ্ক কীভাবে কাজ করে তা অন্বেষণ করুন। আপনি যখন ষড়ভুজ নির্বাচন করেন, তখন তিনটি অক্ষের সাথে সম্পর্কিত ঘন স্থানাঙ্কগুলি হাইলাইট করা হয়।

  1. কিউবের গ্রিডের প্রতিটি দিক মিলে যায় রেখাগুলিষড়ভুজ একটি গ্রিডে. সংযোগ দেখতে 0, 1, 2, 3 এর সমান z সহ একটি ষড়ভুজ নির্বাচন করার চেষ্টা করুন। লাইনটি নীল রঙে চিহ্নিত করা হয়েছে। x (সবুজ) এবং y (বেগুনি) জন্য একই চেষ্টা করুন।
  2. প্রতিটি হেক্স গ্রিড দিক দুটি কিউব গ্রিড দিকনির্দেশের সংমিশ্রণ। উদাহরণস্বরূপ, হেক্স গ্রিডের উত্তর + y এবং -z এর মধ্যে, তাই প্রতিটি ধাপ উত্তরে y 1 দ্বারা বৃদ্ধি পায় এবং 1 দ্বারা z হ্রাস পায়।
কিউবিক স্থানাঙ্কগুলি হেক্স গ্রিড স্থানাঙ্ক সিস্টেমের জন্য একটি স্মার্ট পছন্দ। শর্তটি হল x + y + z = 0, তাই এটি অবশ্যই অ্যালগরিদমে সংরক্ষণ করতে হবে। শর্তটি নিশ্চিত করে যে প্রতিটি ষড়ভুজের জন্য সর্বদা একটি ক্যানোনিকাল স্থানাঙ্ক থাকবে।

কিউব এবং ষড়ভুজগুলির জন্য বিভিন্ন স্থানাঙ্ক ব্যবস্থা রয়েছে। তাদের মধ্যে কিছু, শর্ত x + y + z = 0 থেকে পৃথক। আমি অনেক সিস্টেমের মধ্যে শুধুমাত্র একটি দেখিয়েছি। এছাড়াও আপনি x-y, y-z, z-x দিয়ে কিউবিক স্থানাঙ্ক তৈরি করতে পারেন, যার নিজস্ব আকর্ষণীয় বৈশিষ্ট্যের সেট থাকবে, কিন্তু আমি সেগুলি এখানে কভার করব না।

কিন্তু আপনি যুক্তি দিতে পারেন যে আপনি স্থানাঙ্কের জন্য 3টি সংখ্যা সংরক্ষণ করতে চান না, কারণ আপনি জানেন না কিভাবে মানচিত্রটিকে এভাবে সংরক্ষণ করতে হয়।

অক্ষীয় স্থানাঙ্ক

একটি অক্ষীয় স্থানাঙ্ক ব্যবস্থা, যাকে কখনও কখনও "ট্র্যাপিজয়েডাল" স্থানাঙ্ক সিস্টেম বলা হয়, একটি ঘন স্থানাঙ্ক ব্যবস্থা থেকে দুই বা তিনটি স্থানাঙ্ক থেকে তৈরি করা হয়। যেহেতু আমাদের শর্ত আছে x + y + z = 0, তৃতীয় স্থানাঙ্কের প্রয়োজন নেই। অক্ষ স্থানাঙ্কগুলি মানচিত্র সংরক্ষণ এবং ব্যবহারকারীর কাছে স্থানাঙ্ক প্রদর্শনের জন্য দরকারী। কিউবিক স্থানাঙ্কের মতো, আপনি তাদের সাথে মানক কার্টেসিয়ান যোগ, বিয়োগ, গুণ এবং ভাগ অপারেশন ব্যবহার করতে পারেন।

অনেক কিউবিক সমন্বয় সিস্টেম এবং অনেক অক্ষীয় আছে। আমি এই টিউটোরিয়ালে সব কম্বিনেশন কভার করব না। আমি দুটি ভেরিয়েবল নির্বাচন করব, q (কলাম) এবং r (রো)। এই নিবন্ধের ডায়াগ্রামে, q এর সাথে x এর সাথে এবং r z এর সাথে মিলে যায়, তবে এই চিঠিপত্রটি নির্বিচারে, কারণ আপনি বিভিন্ন চিঠিপত্র পেয়ে ডায়াগ্রামগুলিকে ঘোরাতে এবং ঘোরাতে পারেন।

স্থানচ্যুতি গ্রিডের উপর এই সিস্টেমের সুবিধা হল যে অ্যালগরিদমগুলি আরও বোধগম্য। সিস্টেমের অসুবিধা হল যে একটি আয়তক্ষেত্রাকার মানচিত্র সংরক্ষণ করা একটু অদ্ভুত; মানচিত্র সংরক্ষণের বিভাগটি দেখুন। কিছু অ্যালগরিদম কিউবিক স্থানাঙ্কগুলিতে আরও স্পষ্ট, কিন্তু যেহেতু আমাদের শর্ত x + y + z = 0 আছে, তাই আমরা তৃতীয় অন্তর্নিহিত স্থানাঙ্ক গণনা করতে পারি এবং এই অ্যালগরিদমগুলিতে এটি ব্যবহার করতে পারি। আমার প্রকল্পগুলিতে, আমি অক্ষগুলিকে q, r, s বলি, তাই শর্তটি q + r + s = 0 এর মতো দেখায় এবং প্রয়োজনে আমি s = -q - r গণনা করতে পারি।

অক্ষ

অফসেট স্থানাঙ্কগুলি হল প্রথম জিনিস যা বেশিরভাগ লোকেরা মনে করে কারণ এগুলি বর্গাকার গ্রিডগুলির জন্য ব্যবহৃত মানক কার্টেসিয়ান স্থানাঙ্কগুলির মতোই৷ দুর্ভাগ্যবশত, দুটি অক্ষের একটিকে শস্যের বিপরীতে যেতে হবে এবং এটি ফলস্বরূপ জিনিসগুলিকে জটিল করে তোলে। কিউবিক এবং অক্ষীয় সিস্টেমগুলি শস্য বরাবর চলে এবং তাদের সহজ অ্যালগরিদম রয়েছে, তবে মানচিত্রের সঞ্চয়স্থান একটু বেশি জটিল। "অলটারনেটিং" বা "ডাবল" নামে আরেকটি সিস্টেম আছে, কিন্তু আমরা এখানে তা বিবেচনা করব না; কেউ কেউ ঘন বা অক্ষের চেয়ে কাজ করা সহজ বলে মনে করেন।


অফসেট স্থানাঙ্ক, ঘন এবং অক্ষীয়

অক্ষযে দিকে সংশ্লিষ্ট স্থানাঙ্ক বৃদ্ধি করা হয়। অক্ষের লম্ব হল সেই রেখা যার উপর স্থানাঙ্ক স্থির থাকে। উপরের গ্রিড ডায়াগ্রামগুলি লম্ব রেখা দেখায়।

সমন্বয় রূপান্তর

সম্ভবত আপনি আপনার প্রকল্পে অক্ষীয় স্থানাঙ্ক বা অফসেট স্থানাঙ্ক ব্যবহার করবেন, তবে অনেক অ্যালগরিদম ঘন স্থানাঙ্কে প্রকাশ করা সহজ। অতএব, আমাদের সিস্টেমের মধ্যে স্থানাঙ্ক রূপান্তর করতে সক্ষম হতে হবে।

অক্ষীয় স্থানাঙ্কগুলি ঘন স্থানাঙ্কের সাথে ঘনিষ্ঠভাবে সম্পর্কিত, তাই রূপান্তরটি সহজ:

# কিউবিককে অক্ষীয় স্থানাঙ্কে রূপান্তর করুন q = x r = z # অক্ষীয়কে ঘন স্থানাঙ্কে রূপান্তর করুন x = q z = r y = -x-z
কোডে, এই দুটি ফাংশন নিম্নরূপ লেখা যেতে পারে:

ফাংশন ঘনক্ষেত্র_to_hex (h): # axial var q = hx var r = hz ফেরত Hex (q, r) ফাংশন hex_to_cube (h): # কিউবিক var x = hq var z = hr var y = -xz রিটার্ন কিউব (x, y) , z)
অফসেট স্থানাঙ্কগুলি বেশ কিছুটা জটিল:

সংলগ্ন ষড়ভুজ

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

কিউবিক স্থানাঙ্ক

ষড়ভুজের স্থানাঙ্কে একটি স্থান সরানো তিনটি ঘন স্থানাঙ্কের একটিকে +1 দ্বারা এবং অন্যটি -1 দ্বারা পরিবর্তিত হয় (সমষ্টি অবশ্যই 0 এর সমান হবে)। তিনটি সম্ভাব্য স্থানাঙ্ক +1 দ্বারা পরিবর্তন করা যেতে পারে, এবং বাকি দুটি -1 দ্বারা পরিবর্তন করা যেতে পারে। এটি আমাদের ছয়টি সম্ভাব্য পরিবর্তন দেয়। প্রতিটি ষড়ভুজ এর দিকগুলির একটির সাথে মিলে যায়। সহজতম এবং দ্রুততম উপায়- পরিবর্তনগুলি প্রাক-গণনা করুন এবং কম্পাইলের সময়ে কিউব (dx, dy, dz) টেবিলে রাখুন:

var দিকনির্দেশ = [ ঘনক (+1, -1, 0), ঘনক (+1, 0, -1), ঘনক (0, +1, -1), ঘনক (-1, +1, 0), ঘনক ( -1, 0, +1), কিউব (0, -1, +1)] ফাংশন কিউব_ডাইরেকশন (দিকনির্দেশ): রিটার্ন দিকনির্দেশ ফাংশন কিউব_নেইবার (হেক্স, দিক): রিটার্ন কিউব_অ্যাড (হেক্স, কিউব_ডিরেকশন (দিক))

অক্ষীয় স্থানাঙ্ক

আগের মতো, আমরা কিউব সিস্টেম দিয়ে শুরু করি। কিউব টেবিল (dx, dy, dz) নিন এবং এটিকে Hex (dq, dr) টেবিলে রূপান্তর করুন:

var দিকনির্দেশ = [হেক্স (+1, 0), হেক্স (+1, -1), হেক্স (0, -1), হেক্স (-1, 0), হেক্স (-1, +1), হেক্স (0, +1)] ফাংশন হেক্স_ডিরেকশন (দিক): রিটার্ন দিকনির্দেশ ফাংশন hex_neighbor (হেক্স, দিক): var dir = hex_direction (দিকনির্দেশ) ফেরত Hex (hex.q + dir.q, hex.r + dir.r)

অফসেট স্থানাঙ্ক

অক্ষীয় স্থানাঙ্কে, আমরা গ্রিডে কোথায় আছি তার উপর নির্ভর করে আমরা পরিবর্তন করি। যদি আমরা একটি কলাম/সারি অফসেটে থাকি, তাহলে অফসেট ছাড়াই কলাম/সারির ক্ষেত্রে নিয়মটি আলাদা।

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

বিজোড়-আর
var দিকনির্দেশ = [[হেক্স (+1, 0), হেক্স (0, -1), হেক্স (-1, -1), হেক্স (-1, 0), হেক্স (-1, +1), হেক্স (0 , +1)], [হেক্স (+1, 0), হেক্স (+1, -1), হেক্স (0, -1), হেক্স (-1, 0), হেক্স (0, +1), হেক্স ( +1, +1)]] ফাংশন offset_neighbor (হেক্স, দিক): var প্যারিটি = hex.row & 1 var dir = দিকনির্দেশ হেক্স রিটার্ন (hex.col + dir.col, hex.row + dir.row)


জোড়-আর
var দিকনির্দেশ = [[হেক্স (+1, 0), হেক্স (+1, -1), হেক্স (0, -1), হেক্স (-1, 0), হেক্স (0, +1), হেক্স (+1 , +1)], [হেক্স (+1, 0), হেক্স (0, -1), হেক্স (-1, -1), হেক্স (-1, 0), হেক্স (-1, +1), হেক্স (0, +1)]] ফাংশন offset_neighbor (হেক্স, দিক): var প্যারিটি = hex.row & 1 var dir = দিকনির্দেশ হেক্স রিটার্ন (hex.col + dir.col, hex.row + dir.row)


জোড় (EVEN) এবং বিজোড় (ODD) সারিগুলির জন্য গ্রিড৷

বিজোড়-প্র
var দিকনির্দেশ = [[হেক্স (+1, 0), হেক্স (+1, -1), হেক্স (0, -1), হেক্স (-1, -1), হেক্স (-1, 0), হেক্স (0 , +1)], [হেক্স (+1, +1), হেক্স (+1, 0), হেক্স (0, -1), হেক্স (-1, 0), হেক্স (-1, +1), হেক্স (0, +1)]] ফাংশন offset_neighbor (হেক্স, দিক): var প্যারিটি = hex.col & 1 var dir = দিকনির্দেশ হেক্স রিটার্ন (hex.col + dir.col, hex.row + dir.row)


সম-প্র
var দিকনির্দেশ = [[হেক্স (+1, +1), হেক্স (+1, 0), হেক্স (0, -1), হেক্স (-1, 0), হেক্স (-1, +1), হেক্স (0 , +1)], [হেক্স (+1, 0), হেক্স (+1, -1), হেক্স (0, -1), হেক্স (-1, -1), হেক্স (-1, 0), হেক্স (0, +1)]] ফাংশন offset_neighbor (হেক্স, দিক): var প্যারিটি = hex.col & 1 var dir = দিকনির্দেশ হেক্স রিটার্ন (hex.col + dir.col, hex.row + dir.row)


জোড় (EVEN) এবং বিজোড় (ODD) কলামের জন্য গ্রিড

তির্যক

ষড়ভুজগুলির স্থানাঙ্কের "তির্যক" স্থানের মধ্যে চললে তিনটি ঘন স্থানাঙ্কের একটিকে ± 2 দ্বারা এবং অন্য দুটিকে ∓1 দ্বারা পরিবর্তিত হয় (সমষ্টি অবশ্যই 0 এর সমান হবে)।

var কর্ণ = [ঘনক (+2, -1, -1), ঘনক (+1, +1, -2), ঘনক (-1, +2, -1), ঘনক (-2, +1, +1 ), ঘনক (-1, -1, +2), ঘনক (+1, -2, +1)] ফাংশন ঘনক_কর্ণ_প্রতিবেশী (হেক্স, দিক): রিটার্ন কিউব_অ্যাড (হেক্স, কর্ণ)
আগের মতো, আমরা ফলাফল গণনা করার পরে এই স্থানাঙ্কগুলিকে অক্ষীয়গুলিতে রূপান্তর করতে পারি, তিনটি স্থানাঙ্কের একটিকে বাতিল করে দিতে পারি বা অফসেট স্থানাঙ্কে রূপান্তর করতে পারি।


দূরত্ব

কিউবিক স্থানাঙ্ক

একটি কিউবিক সমন্বয় ব্যবস্থায়, প্রতিটি ষড়ভুজ তিনটি মাত্রায় একটি ঘনক। সংলগ্ন ষড়ভুজগুলি হেক্স গ্রিডে 1, কিন্তু কিউব গ্রিডে 2। এটি দূরত্ব গণনা করা সহজ করে তোলে। বর্গক্ষেত্রের একটি গ্রিডে, ম্যানহাটনের দূরত্ব হল abs (dx) + abs (dy)। কিউবের গ্রিডে, ম্যানহাটনের দূরত্ব হল abs (dx) + abs (dy) + abs (dz)। ষড়ভুজগুলির গ্রিডে দূরত্ব তাদের অর্ধেকের সমান:

ফাংশন ঘনক্ষেত্র_দূরত্ব (a, b): ফেরত (abs (a.x - b.x) + abs (a.y - b.y) + abs (a.z - b.z)) / 2
এই স্বরলিপির সমতুল্যটি প্রকাশ করবে যে তিনটি স্থানাঙ্কের একটি অন্য দুটির যোগফল হওয়া উচিত এবং তারপর এটিকে দূরত্ব হিসাবে পাওয়া। আপনি বিভাজন ফর্ম বা নীচের সর্বাধিক মান ফর্ম চয়ন করতে পারেন, কিন্তু তারা একই ফলাফল দেয়:

ফাংশন ঘনক্ষেত্র_দূরত্ব (a, b): সর্বোচ্চ রিটার্ন (abs (a.x - b.x), abs (a.y - b.y), abs (a.z - b.z))
চিত্রে, সর্বাধিক মানগুলি রঙে হাইলাইট করা হয়েছে। এছাড়াও লক্ষ্য করুন যে প্রতিটি রঙ ছয়টি "তির্যক" দিকগুলির মধ্যে একটিকে প্রতিনিধিত্ব করে।

জিআইএফ


অক্ষীয় স্থানাঙ্ক

অক্ষীয় ব্যবস্থায়, তৃতীয় স্থানাঙ্কটি অন্তর্নিহিতভাবে প্রকাশ করা হয়। দূরত্ব গণনা করতে অক্ষীয় থেকে ঘনকে রূপান্তর করা যাক:

ফাংশন hex_distance (a, b): var ac = hex_to_cube (a) var bc = hex_to_cube (b) return cube_distance (ac, bc)
যদি আপনার ক্ষেত্রে কম্পাইলার ইনলাইন হেক্স_টু_কিউব এবং কিউব_দূরত্ব থাকে, তাহলে এটি নিম্নলিখিত কোড তৈরি করবে:

ফাংশন hex_distance (a, b): রিটার্ন (abs (a.q - b.q) + abs (a.q + a.r - b.q - b.r) + abs (a.r - b.r)) / 2
অক্ষীয় স্থানাঙ্কে ষড়ভুজগুলির মধ্যে দূরত্ব লেখার বিভিন্ন উপায় রয়েছে, তবে লেখার উপায় নির্বিশেষে অক্ষীয় ব্যবস্থায় ষড়ভুজগুলির মধ্যে দূরত্ব ঘন ব্যবস্থায় ম্যানহাটনের দূরত্ব থেকে বের করা হয়... উদাহরণস্বরূপ, বর্ণিত "পার্থক্যের পার্থক্য" a.q + a.r - b.q - b.r লিখে a.q - b.q + a.r - b.r হিসাবে এবং দ্বিখণ্ডন ফর্ম ঘন_দূরত্বের পরিবর্তে সর্বাধিক মান ফর্ম ব্যবহার করে প্রাপ্ত হয়। আপনি যদি ঘন স্থানাঙ্কের সাথে সম্পর্ক দেখতে পান তবে সেগুলি সবই একই রকম।

অফসেট স্থানাঙ্ক

অক্ষীয় স্থানাঙ্কের মতো, আমরা অফসেট স্থানাঙ্কগুলিকে ঘন স্থানাঙ্কে রূপান্তর করি এবং তারপরে ঘন দূরত্ব ব্যবহার করি।

ফাংশন অফসেট_দূরত্ব (a, b): var ac = offset_to_cube (a) var bc = offset_to_cube (b) cube_distance (ac, bc) রিটার্ন
আমরা অনেক অ্যালগরিদমের জন্য একই প্যাটার্ন ব্যবহার করব: হেক্সাগন থেকে কিউবে রূপান্তর করুন, অ্যালগরিদমের কিউবিক সংস্করণ চালান এবং কিউবিক ফলাফলগুলিকে হেক্স কোঅর্ডিনেটে (অক্ষীয় বা অফসেট স্থানাঙ্ক) রূপান্তর করুন।

লাইন আঁকা

আমি কিভাবে একটি ষড়ভুজ থেকে অন্য একটি লাইন আঁকতে পারি? আমি লাইন আঁকতে লিনিয়ার ইন্টারপোলেশন ব্যবহার করছি। লাইনটি N + 1 বিন্দুতে সমানভাবে নমুনা করা হয় এবং এই নমুনাগুলি কোন ষড়ভুজগুলিতে অবস্থিত তা গণনা করা হয়।

জিআইএফ


  1. আমরা প্রথমে N গণনা করি, যা হবে শেষ বিন্দুর মধ্যে হেক্স দূরত্ব।
  2. তারপরে আমরা A এবং B বিন্দুর মধ্যে N + 1 পয়েন্টের নমুনা সমানভাবে নিই। রৈখিক ইন্টারপোলেশন ব্যবহার করে, নির্ধারণ করুন যে i এর মানের জন্য 0 থেকে N, তাদের সহ, প্রতিটি বিন্দু হবে A + (B - A) * 1.0 / N * i চিত্রে, এই নিয়ন্ত্রণ পয়েন্টগুলি নীল রঙে দেখানো হয়েছে। ফলাফল ফ্লোটিং পয়েন্ট স্থানাঙ্ক.
  3. প্রতিটি কন্ট্রোল পয়েন্ট (ফ্লোট) কে আবার হেক্সাগন (int) এ রূপান্তর করুন। অ্যালগরিদমকে বলা হয় কিউব_রাউন্ড (নীচে দেখুন)।
A থেকে B পর্যন্ত একটি রেখা আঁকতে এটি সব একসাথে রাখা:

ফাংশন lerp (a, b, t): // ফ্লোট রিটার্ন a + (b - a) * t ফাংশন cube_lerp (a, b, t): // হেক্সাগন রিটার্ন কিউবের জন্য (lerp (ax, bx, t), lerp (ay, by, t), lerp (az, bz, t)) ফাংশন cube_linedraw (a, b): var N = cube_distance (a, b) var ফলাফল = প্রতিটি 0 ≤ i ≤ N: results.append ( cube_round (cube_lerp (a, b, 1.0 / N * i))) ফলাফল ফেরত
মন্তব্য:

  • এমন সময় আছে যখন ঘনক_লারপ দুটি ষড়ভুজের মধ্যবর্তী প্রান্তে ঠিক একটি বিন্দু ফেরত দেয়। তারপর ঘনক্ষেত্র_বৃত্তাকার এটিকে এক বা অন্যভাবে স্থানান্তরিত করে। একই দিকে সরানো হলে লাইনগুলি আরও ভাল দেখায়। লুপ শুরু করার আগে এক বা উভয় প্রান্তে একটি এপসিলন হেক্স কিউব (1e-6, 1e-6, -2e-6) যোগ করে এটি করা যেতে পারে। এটি লাইনটিকে একদিকে "নজ" করবে যাতে এটি প্রান্তের সীমানায় আঘাত না করে।
  • বর্গক্ষেত্রের গ্রিডে DDA লাইন অ্যালগরিদম প্রতিটি অক্ষ বরাবর সর্বাধিক দূরত্বের সাথে N-কে সমান করে। আমরা কিউবিক স্পেসে একই কাজ করি, যা হেক্সাগনের একটি গ্রিডে দূরত্বের সাথে সাদৃশ্যপূর্ণ।
  • cube_lerp ফাংশনটি ফ্লোটে স্থানাঙ্ক সহ একটি ঘনক্ষেত্র ফেরত দেবে। আপনি যদি স্ট্যাটিকালি টাইপ করা ভাষায় প্রোগ্রামিং করেন তবে আপনি কিউব টাইপ ব্যবহার করতে পারবেন না। পরিবর্তে, আপনি FloatCube প্রকার সংজ্ঞায়িত করতে পারেন, অথবা যদি আপনি অন্য প্রকার সংজ্ঞায়িত করতে না চান তবে আপনার লাইন অঙ্কন কোডে একটি ফাংশন ইনলাইন করতে পারেন।
  • আপনি ইনলাইন কিউব_লারপ এবং তারপর লুপের বাইরে B.x-A.x, B.x-A.y এবং 1.0 / N গণনা করে আপনার কোডটি অপ্টিমাইজ করতে পারেন। গুণকে পুনরাবৃত্ত সমষ্টিতে রূপান্তরিত করা যেতে পারে। ফলাফল একটি DDA লাইন অ্যালগরিদম মত কিছু হবে.
  • আমি লাইন আঁকার জন্য অক্ষীয় বা ঘন স্থানাঙ্ক ব্যবহার করি, কিন্তু আপনি যদি অফসেট স্থানাঙ্ক নিয়ে কাজ করতে চান তাহলে শিখুন।
  • লাইন আঁকার জন্য অনেক অপশন আছে। কখনও কখনও ওভারকোটিং প্রয়োজন হয়। তারা আমাকে হেক্সাগনগুলিতে ওভারকোটিং সহ লাইন আঁকার জন্য কোড পাঠিয়েছে, কিন্তু আমি এখনও এটির দিকে নজর দিইনি।

ভ্রমণ পরিসীমা

সমন্বয় পরিসীমা

একটি ষড়ভুজের একটি প্রদত্ত কেন্দ্র এবং N এর পরিসরের জন্য, কোন ষড়ভুজগুলি এটির N ধাপের মধ্যে রয়েছে?

আমরা ষড়ভুজ দূরত্ব = max (abs (dx), abs (dy), abs (dz)) সূত্র থেকে বিপরীত কাজ করতে পারি। N-এর মধ্যে সমস্ত ষড়ভুজ খুঁজে পেতে, আমাদের প্রয়োজন max (abs (dx), abs (dy), abs (dz)) ≤ N। এর মানে হল যে তিনটি মান প্রয়োজন: abs (dx) ≤ N এবং abs (dy) ≤ N এবং abs (dz) ≤ N। পরম মান অপসারণ করে, আমরা -N ≤ dx ≤ N এবং -N ≤ dy ≤ N এবং -N ≤ dz ≤ N পাব। কোডে, এটি একটি নেস্টেড লুপ হবে:

var ফলাফল = প্রত্যেকের জন্য -N ≤ dx ≤ N: প্রতিটি -N ≤ dy ≤ N: প্রতিটির জন্য -N ≤ dz ≤ N: যদি dx + dy + dz = 0: ফলাফল.অ্যাপেন্ড (cube_add (center, Cube (dx) , dy, dz)))
এই লুপ কাজ করবে, কিন্তু এটি বরং অকার্যকর হবে. আমরা লুপে যে সমস্ত dz মানগুলি পুনরাবৃত্ত করি, তার মধ্যে শুধুমাত্র একটি আসলে কিউব অবস্থা dx + dy + dz = 0 সন্তুষ্ট করে। পরিবর্তে, আমরা সরাসরি ডিজেড মান গণনা করব যা শর্তটি সন্তুষ্ট করে:

var ফলাফল = প্রত্যেকের জন্য -N ≤ dx ≤ N: প্রতিটি সর্বোচ্চ (-N, -dx-N) ≤ dy ≤ মিন (N, -dx + N): var dz = -dx-dy ফলাফল।অ্যাপেন্ড (cube_add ( কেন্দ্র, ঘনক (dx, dy, dz)))
এই চক্র শুধুমাত্র প্রয়োজনীয় স্থানাঙ্ক বরাবর চলে। চিত্রে, প্রতিটি পরিসর হল এক জোড়া লাইন। প্রতিটি লাইন একটি অসমতা. আমরা সমস্ত ষড়ভুজ গ্রহণ করি যা ছয়টি অসমতা পূরণ করে।

জিআইএফ


ওভারল্যাপিং ব্যাপ্তি

আপনি যদি একাধিক রেঞ্জে থাকা ষড়ভুজগুলি খুঁজে বের করতে চান, আপনি ষড়ভুজগুলির তালিকা তৈরি করার আগে রেঞ্জগুলি অতিক্রম করতে পারেন৷

আপনি বীজগণিত বা জ্যামিতির ক্ষেত্রে এই সমস্যাটির সাথে যোগাযোগ করতে পারেন। বীজগণিতীয়ভাবে, প্রতিটি অঞ্চলকে -N ≤ dx ≤ N আকারে অসমতার অবস্থা হিসাবে প্রকাশ করা হয় এবং আমাদের এই অবস্থার ছেদ খুঁজে বের করতে হবে। জ্যামিতিকভাবে, প্রতিটি এলাকা ত্রিমাত্রিক স্থানের একটি ঘনক, এবং আমরা ত্রিমাত্রিক স্থানে একটি আয়তক্ষেত্রাকার সমান্তরাল পাইপ পেতে দুটি ঘনক্ষেত্রকে ত্রিমাত্রিক স্থানে ছেদ করব। তারপরে আমরা ষড়ভুজ পেতে এটিকে x + y + z = 0 সমতলে প্রজেক্ট করি। আমি বীজগণিতভাবে এই সমস্যাটি সমাধান করব।

প্রথমে, আমরা শর্তটি -N ≤ dx ≤ N-কে আরও লিখব সাধারণ ফর্ম x min ≤ x ≤ x max, এবং x min = center.x - N এবং x max = center.x + N নিন। আসুন y এবং z এর জন্য একই কাজ করি, যার ফলে পূর্ববর্তী বিভাগ থেকে কোডের একটি সাধারণ দৃশ্য দেখা যায়:

var ফলাফল = প্রতিটি xmin এর জন্য ≤ x ≤ xmax: প্রতিটি সর্বোচ্চ (ymin, -x-zmax) ≤ y ≤ min (ymax, -x-zmin): var z = -xy ফলাফল।অ্যাপেন্ড (কিউব (x, y, z))
দুটি রেঞ্জ a ≤ x ≤ b এবং c ≤ x ≤ d হল সর্বাধিক (a, c) ≤ x ≤ min (b, d)। যেহেতু ষড়ভুজগুলির ক্ষেত্রফল x, y, z এর উপর রেঞ্জ হিসাবে প্রকাশ করা হয়েছে, তাই আমরা পৃথকভাবে প্রতিটি x, y, z রেঞ্জকে ছেদ করতে পারি এবং তারপরে ছেদটিতে ষড়ভুজগুলির একটি তালিকা তৈরি করতে একটি নেস্টেড লুপ ব্যবহার করতে পারি। ষড়ভুজের একটি ক্ষেত্রফলের জন্য, আমরা নিই x min = H.x - N এবং x max = H.x + N, একইভাবে y এবং z-এর জন্য। ষড়ভুজ দুটি অঞ্চলের ছেদ করার জন্য, আমরা y এর জন্য একইভাবে x min = max (H1.x - N, H2.x - N) এবং x max = min (H1.x + N, H2.x + N) নিই। এবং z. একই প্যাটার্ন তিন বা ততোধিক অঞ্চলের ছেদগুলির জন্য কাজ করে।

জিআইএফ


বাধা

যদি বাধা থাকে, তবে সীমিত দূরত্ব (ব্রেডথ ফার্স্ট সার্চ) দিয়ে পূরণ করা সবচেয়ে সহজ। নীচের চিত্রে, আমরা চারটি পদক্ষেপে সীমাবদ্ধ। কোডে, fringes [k] হল সমস্ত ষড়ভুজগুলির একটি অ্যারে যা k ধাপে পৌঁছানো যায়। মূল লুপের মধ্য দিয়ে প্রতিটি পাস দিয়ে, আমরা লেভেল k-1 কে লেভেল k-এ প্রসারিত করি।

ফাংশন কিউব_রিচেবল (স্টার্ট, মুভমেন্ট): var ভিজিট করা = সেট () ভিজিট করা var fringes = fringes.append () প্রতিটি 1 এর জন্য যোগ করুন< k ≤ movement: fringes.append() for each cube in fringes: for each 0 ≤ dir < 6: var neighbor = cube_neighbor(cube, dir) if neighbor not in visited, not blocked: add neighbor to visited fringes[k].append(neighbor) return visited

পালা

একটি প্রদত্ত ষড়ভুজ ভেক্টরের জন্য (দুটি ষড়ভুজের মধ্যে পার্থক্য), আমাদের এটিকে ঘোরাতে হতে পারে যাতে এটি অন্য ষড়ভুজের দিকে নির্দেশ করে। কিউবিক স্থানাঙ্কের সাথে এটি করা সহজ, যদি আপনি 1/6 বৃত্তের ঘূর্ণনে আটকে থাকেন।

ডানদিকে 60° ঘোরানো প্রতিটি স্থানাঙ্ককে একটি অবস্থান ডানদিকে সরিয়ে দেয়:

[x, y, z] থেকে [-z, -x, -y]
বাম দিকে 60 ° ঘোরানো প্রতিটি স্থানাঙ্ক বাম দিকে একটি অবস্থান স্থানান্তর করে:

[x, y, z] থেকে [-y, -z, -x]



স্কিমটির সাথে [মূল নিবন্ধে] "খেলেছি", আপনি লক্ষ্য করবেন যে প্রতিটি বাঁক 60 ° দ্বারা পরিবর্তনচিহ্ন এবং শারীরিকভাবে স্থানাঙ্কগুলিকে "ঘোরান"। 120 ° ঘূর্ণনের পরে, চিহ্নগুলি আবার একই। একটি 180 ° ঘূর্ণন চিহ্ন পরিবর্তন করে, কিন্তু স্থানাঙ্কগুলি তাদের আসল অবস্থানে ঘোরানো হয়।

কেন্দ্র C অবস্থানের চারপাশে P অবস্থানটিকে ঘোরানোর সম্পূর্ণ ক্রম এখানে রয়েছে, যার ফলে একটি নতুন R অবস্থান রয়েছে:

  1. P এবং C অবস্থানগুলিকে ঘন স্থানাঙ্কে রূপান্তর করুন।
  2. কেন্দ্র বিয়োগ করে ভেক্টর গণনা করুন: P_from_C = P - C = ঘনক (P.x - C.x, P.y - C.y, P.z - C.z)।
  3. উপরে বর্ণিত P_from_C ভেক্টরটি ঘোরান এবং ফলস্বরূপ ভেক্টর R_from_C নির্ধারণ করুন।
  4. কেন্দ্র যোগ করে ভেক্টরকে আবার অবস্থানে রূপান্তর করুন: R = R_from_C + C = ঘনক (R_from_C.x + C.x, R_from_C.y + C.y, R_from_C.z + C.z)।
  5. কিউবিক অবস্থান R কে কাঙ্খিত স্থানাঙ্ক সিস্টেমে রূপান্তর করুন।
রূপান্তরের বেশ কয়েকটি পর্যায় রয়েছে, তবে তাদের প্রতিটি বেশ সহজ। অক্ষীয় স্থানাঙ্কগুলিতে ঘূর্ণনকে সরাসরি সংজ্ঞায়িত করে এই ধাপগুলির কয়েকটিকে ছোট করা সম্ভব, কিন্তু হেক্স ভেক্টরগুলি অফসেট স্থানাঙ্কের সাথে কাজ করে না এবং আমি জানি না কিভাবে অফসেট স্থানাঙ্কগুলির জন্য পদক্ষেপগুলিকে ছোট করতে হয়। পিভট গণনা করার অন্যান্য উপায়ের স্ট্যাক এক্সচেঞ্জ আলোচনাও দেখুন।

রিং

সরল রিং

একটি প্রদত্ত ষড়ভুজ একটি প্রদত্ত ব্যাসার্ধের একটি বলয়ের অন্তর্গত কিনা তা খুঁজে বের করতে, আপনাকে এই ষড়ভুজ থেকে কেন্দ্রের দূরত্ব গণনা করতে হবে এবং এটি ব্যাসার্ধের সমান কিনা তা খুঁজে বের করতে হবে। এই ধরনের সমস্ত ষড়ভুজগুলির একটি তালিকা পেতে, কেন্দ্র থেকে ব্যাসার্ধের পদক্ষেপগুলি নিন এবং তারপর রিং বরাবর পথ বরাবর ঘোরানো ভেক্টরগুলি অনুসরণ করুন।

ফাংশন কিউব_রিং (কেন্দ্র, ব্যাসার্ধ): var ফলাফল = # এই কোডটি ব্যাসার্ধ == 0 এর জন্য কাজ করে না; তুমি কি বুঝতে পারছ কেন? var ঘনক = কিউব_অ্যাড (কেন্দ্র, ঘনক_স্কেল (ঘন_নির্দেশ (4), ব্যাসার্ধ)) প্রতিটি 0 ≤ i এর জন্য< 6: for each 0 ≤ j < radius: results.append(cube) cube = cube_neighbor(cube, i) return results
এই কোডে, ঘনক্ষেত্রটি কেন্দ্র থেকে ডায়াগ্রামের কোণে একটি বড় তীর দ্বারা দেখানো রিং থেকে শুরু হয়। আমি শুরু করার জন্য কোণ 4 বেছে নিয়েছি কারণ এটি আমার দিকনির্দেশের সংখ্যাগুলি যে পথ দিয়ে চলেছে তার সাথে মেলে৷ আপনি একটি ভিন্ন শুরু কোণ প্রয়োজন হতে পারে. অভ্যন্তরীণ লুপের প্রতিটি ধাপে, কিউবটি রিংটির চারপাশে একটি ষড়ভুজ নিয়ে যায়। 6 * ব্যাসার্ধ ধাপের পরে, এটি যেখানে শুরু হয়েছিল সেখানে শেষ হয়।


সর্পিল রিং

একটি সর্পিল প্যাটার্নে রিংগুলি অতিক্রম করে, আমরা রিংগুলির ভিতরের অংশগুলি পূরণ করতে পারি:

ফাংশন কিউব_সপিরাল (কেন্দ্র, ব্যাসার্ধ): var ফলাফল = প্রতিটি 1 ≤ k ≤ ব্যাসার্ধের জন্য: ফলাফল = ফলাফল + কিউব_রিং (কেন্দ্র, কে) ফলাফল ফেরত



বৃহৎ ষড়ভুজের ক্ষেত্রফল হল কেন্দ্রের জন্য সমস্ত বৃত্তের যোগফল 1। এলাকা গণনা করতে এই সূত্রটি ব্যবহার করুন।

এইভাবে ষড়ভুজ অতিক্রম করাও গতির পরিসর গণনা করতে ব্যবহার করা যেতে পারে (উপরে দেখুন)।

দৃশ্যমানতার ক্ষেত্র

একটি প্রদত্ত দূরত্বের সাথে একটি নির্দিষ্ট অবস্থান থেকে দৃশ্যমান এবং বাধা দ্বারা বাধাপ্রাপ্ত নয় কি? সবচেয়ে সহজ উপায়এটি সংজ্ঞায়িত করুন - একটি প্রদত্ত পরিসরে প্রতিটি ষড়ভুজে একটি রেখা আঁকুন। যদি লাইনটি দেয়ালের সাথে মিলিত না হয়, তাহলে আপনি একটি ষড়ভুজ দেখতে পাবেন। ষড়ভুজগুলির উপর মাউস সরান [মূল নিবন্ধের চিত্রে] এই ষড়ভুজগুলি এবং রেখাগুলি যে দেয়ালের সাথে মিলিত হয় সেগুলির রেখাগুলি দেখতে।

এই অ্যালগরিদম বড় এলাকায় ধীর হতে পারে, কিন্তু এটি বাস্তবায়ন করা সহজ, তাই আমি এটি দিয়ে শুরু করার পরামর্শ দিই।

জিআইএফ



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

আমি এই টিউটোরিয়ালটি আরও প্রসারিত করতে চাই। আমার আছে

আপনার কাছাকাছি একটি পেন্সিল আছে? এর বিভাগটি একবার দেখুন - এটি একটি নিয়মিত ষড়ভুজ বা, এটিকে একটি ষড়ভুজও বলা হয়। একটি বাদামের ক্রস-সেকশন, ষড়ভুজ দাবার একটি ক্ষেত্র, কিছু জটিল কার্বন অণু (উদাহরণস্বরূপ, গ্রাফাইট), একটি তুষারকণা, একটি মধুচক্র এবং অন্যান্য বস্তুরও এই আকৃতি রয়েছে। একটি দৈত্য নিয়মিত ষড়ভুজ সম্প্রতি আবিষ্কৃত হয়েছে এর একটি ঘনিষ্ঠ কটাক্ষপাত করা যাক.

একটি নিয়মিত ষড়ভুজ হল একটি বহুভুজ যার ছয়টি সমান বাহু এবং সমান কোণ রয়েছে। আমরা স্কুল কোর্স থেকে জানি যে এর নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • এর বাহুর দৈর্ঘ্য পরিধিকৃত বৃত্তের ব্যাসার্ধের সাথে মিলে যায়। সর্বোপরি, শুধুমাত্র একটি নিয়মিত ষড়ভুজ এই সম্পত্তি আছে.
  • কোণগুলি একে অপরের সমান, এবং প্রতিটির মাত্রা হল 120 ​​°।
  • একটি ষড়ভুজের পরিধি P = 6 * R সূত্র দ্বারা পাওয়া যাবে, যদি এর চারপাশে পরিধিকৃত বৃত্তের ব্যাসার্ধ জানা যায়, অথবা P = 4 * √ (3) * r, যদি বৃত্তটি এতে খোদাই করা থাকে। R এবং r হল বৃত্ত এবং অন্তর্বৃত্তের ব্যাসার্ধ।
  • একটি নিয়মিত ষড়ভুজ দ্বারা দখলকৃত এলাকা নিম্নরূপ নির্ধারিত হয়: S = (3 * √ (3) * R 2) / 2। যদি ব্যাসার্ধটি অজানা হয় তবে এর পরিবর্তে আমরা একটি বাহুর দৈর্ঘ্য প্রতিস্থাপন করি - যেমন আপনি জানেন, এটি পরিধিকৃত বৃত্তের ব্যাসার্ধের দৈর্ঘ্যের সাথে মিলে যায়।

নিয়মিত ষড়ভুজটির একটি আকর্ষণীয় বৈশিষ্ট্য রয়েছে যা এটিকে প্রকৃতিতে এত বিস্তৃত করেছে - এটি ওভারল্যাপ এবং ফাঁক ছাড়াই সমতলের যে কোনও পৃষ্ঠকে পূরণ করতে সক্ষম। এমনকি তথাকথিত পাল'স লেমাও রয়েছে, যার মতে 1 / √ (3) এর সমান একটি পার্শ্বযুক্ত একটি নিয়মিত ষড়ভুজ একটি সর্বজনীন আবরণ, অর্থাৎ, এটি একটি একক ব্যাস সহ যেকোনো সেটকে আবৃত করতে পারে।

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

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

বিষয়বস্তু:

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

ধাপ

1 একটি কম্পাস ব্যবহার করে একটি নিখুঁত ষড়ভুজ আঁকুন

  1. 1 একটি কম্পাস ব্যবহার করে একটি বৃত্ত আঁকুন।কম্পাসে পেন্সিল ঢোকান। আপনার বৃত্তের ব্যাসার্ধের জন্য কম্পাসটিকে পছন্দসই প্রস্থে প্রসারিত করুন। ব্যাসার্ধ কয়েক থেকে দশ সেন্টিমিটার চওড়া হতে পারে। এর পরে, কাগজে একটি পেন্সিল দিয়ে একটি কম্পাস রাখুন এবং একটি বৃত্ত আঁকুন।
    • কখনও কখনও এটি প্রথমে বৃত্তের অর্ধেক এবং তারপর অন্য অর্ধেক আঁকা সহজ।
  2. 2 কম্পাস সুই বৃত্তের প্রান্তে সরান।বৃত্তের উপরে এটি রাখুন। কম্পাসের কোণ এবং অবস্থান পরিবর্তন করবেন না।
  3. 3 বৃত্তের প্রান্তে একটি ছোট পেন্সিল চিহ্ন তৈরি করুন।এটি পরিষ্কার করুন, তবে খুব অন্ধকার নয় কারণ আপনি এটি পরে মুছে ফেলবেন। কম্পাসের জন্য আপনি যে কোণ সেট করেছেন তা রাখতে ভুলবেন না।
  4. 4 কম্পাস সুইটি আপনার তৈরি করা চিহ্নে সরান।চিহ্নের উপর সরাসরি সুই রাখুন।
  5. 5 বৃত্তের প্রান্তে আরেকটি পেন্সিল চিহ্ন তৈরি করুন।এইভাবে, আপনি প্রথম চিহ্ন থেকে একটি নির্দিষ্ট দূরত্বে একটি দ্বিতীয় চিহ্ন তৈরি করবেন। একদিকে চলতে থাকুন।
  6. 6 একইভাবে আরও চারটি চিহ্ন তৈরি করুন।আপনার আসল চিহ্নে ফিরে যাওয়া উচিত। যদি তা না হয়, তাহলে সম্ভবত আপনি যে কোণে কম্পাসটি ধরেছিলেন এবং চিহ্নগুলি তৈরি করেছিলেন সেটি পরিবর্তিত হয়েছে। সম্ভবত এটি এই কারণে ঘটেছে যে আপনি এটিকে খুব শক্তভাবে চেপেছেন বা বিপরীতভাবে, এটিকে কিছুটা আলগা করেছেন।
  7. 7 একটি শাসক সঙ্গে চিহ্ন সংযোগ.আপনার চিহ্নগুলি বৃত্তের প্রান্তের সাথে ছেদ করে এমন ছয়টি স্থান হল ষড়ভুজের ছয়টি শীর্ষবিন্দু। একটি শাসক এবং পেন্সিল ব্যবহার করে, সংলগ্ন চিহ্নগুলিকে সংযুক্ত করে সরল রেখা আঁকুন।
  8. 8 উভয় বৃত্ত, বৃত্তের প্রান্তের চিহ্ন এবং আপনার করা অন্য যেকোন চিহ্ন মুছুন। একবার আপনি আপনার সমস্ত নির্মাণ লাইন মুছে ফেললে, আপনার নিখুঁত ষড়ভুজ প্রস্তুত হওয়া উচিত।

2 একটি বৃত্তাকার বস্তু এবং একটি শাসক ব্যবহার করে একটি রুক্ষ ষড়ভুজ আঁকুন

  1. 1 কাচের রিমের চারপাশে একটি পেন্সিল আঁকুন।এটি একটি বৃত্ত আঁকবে। একটি পেন্সিল দিয়ে আঁকা খুব গুরুত্বপূর্ণ, কারণ পরে আপনাকে সমস্ত অক্জিলিয়ারী লাইন মুছে ফেলতে হবে। আপনি একটি উল্টানো কাঁচ, জার বা অন্য যেকোন কিছুর বৃত্তাকার ভিত্তিও বৃত্ত করতে পারেন।
  2. 2 আপনার বৃত্তের কেন্দ্র জুড়ে অনুভূমিক রেখা আঁকুন।আপনি একটি শাসক, একটি বই, একটি সোজা প্রান্ত সঙ্গে কিছু ব্যবহার করতে পারেন। আপনার যদি একটি শাসক থাকে, আপনি বৃত্তের উল্লম্ব দৈর্ঘ্য গণনা করে এবং এটিকে অর্ধেক ভাগ করে মাঝখানে চিহ্নিত করতে পারেন।
  3. 3 বৃত্তের অর্ধেকের উপরে একটি "X" আঁকুন, এটিকে ছয়টি সমান বিভাগে ভাগ করুন।যেহেতু আপনি ইতিমধ্যেই বৃত্তের মাঝখান দিয়ে একটি রেখা আঁকেছেন, তাই X এর চেয়ে বেশি চওড়া হতে হবে যাতে অংশগুলো সমান হয়। কল্পনা করুন আপনি একটি পিজাকে ছয়টি টুকরোতে ভাগ করছেন।
  4. 4 প্রতিটি বিভাগ থেকে ত্রিভুজ তৈরি করুন।এটি করার জন্য, প্রতিটি বিভাগের বাঁকা অংশের নীচে একটি সরল রেখা আঁকতে একটি শাসক ব্যবহার করুন, এটিকে অন্য দুটি লাইনের সাথে সংযুক্ত করে একটি ত্রিভুজ তৈরি করুন। বাকি পাঁচটি বিভাগের সাথে এটি করুন। আপনার পিজ্জার টুকরোগুলির চারপাশে একটি ক্রাস্ট তৈরি করার মতো এটিকে ভাবুন।
  5. 5 সমস্ত নির্মাণ লাইন মুছে ফেলুন।নির্মাণ লাইনের মধ্যে রয়েছে আপনার বৃত্ত, তিনটি লাইন যা আপনার বৃত্তকে ভাগে ভাগ করেছে, এবং অন্যান্য চিহ্ন যা আপনি পথ ধরে তৈরি করেছেন।

3 একটি পেন্সিল দিয়ে একটি রুক্ষ ষড়ভুজ আঁকুন

  1. 1 একটি অনুভূমিক রেখা আঁকুন।একটি শাসক ছাড়া একটি সরল রেখা আঁকতে, কেবল আপনার অনুভূমিক রেখার শুরু এবং শেষ বিন্দুগুলি আঁকুন। তারপর পেন্সিলটি প্রারম্ভিক বিন্দুতে রাখুন এবং লাইনটি শেষের দিকে প্রসারিত করুন। এই লাইনের দৈর্ঘ্য কয়েক সেন্টিমিটারের মতো হতে পারে।
  2. 2 অনুভূমিক একের প্রান্ত থেকে দুটি তির্যক রেখা আঁকুন।বাম দিকের তির্যক রেখাটি ডানদিকের তির্যক রেখার মতোই বাইরের দিকে মুখ করা উচিত। আপনি কল্পনা করতে পারেন যে এই রেখাগুলি অনুভূমিক রেখার সাপেক্ষে 120 ডিগ্রি কোণ গঠন করে।
  3. 3 ভিতরের দিকে আঁকা প্রথম অনুভূমিক রেখা থেকে আরো দুটি অনুভূমিক রেখা আঁকুন।এটি প্রথম দুটি তির্যক রেখার একটি মিরর ইমেজ তৈরি করবে। নীচের বাম রেখাটি উপরের বাম লাইনের প্রতিফলন হওয়া উচিত এবং নীচের ডান লাইনটি উপরের ডানদিকের লাইনের প্রতিফলন হওয়া উচিত। উপরের অনুভূমিক রেখাগুলি বাইরের দিকে তাকানো উচিত, নীচেরগুলি বেসের ভিতরের দিকে তাকানো উচিত।
  4. 4 নীচের দুটি তির্যক রেখাকে সংযুক্ত করে আরেকটি অনুভূমিক রেখা আঁকুন।এইভাবে আপনি আপনার ষড়ভুজের জন্য ভিত্তি আঁকবেন। আদর্শভাবে, এই লাইনটি উপরের অনুভূমিক রেখার সমান্তরাল হওয়া উচিত। এখন আপনি আপনার ষড়ভুজ সম্পন্ন করেছেন।
  • পেন্সিল এবং কম্পাস খুব চওড়া চিহ্ন থেকে ত্রুটি কমাতে তীক্ষ্ণ হওয়া উচিত।
  • যদি, কম্পাস পদ্ধতি ব্যবহার করে, আপনি ছয়টির পরিবর্তে প্রতিটি চিহ্নকে সংযুক্ত করেন, আপনি একটি সমবাহু ত্রিভুজ পাবেন।

সতর্কতা

  • কম্পাস একটি চমত্কার ধারালো বস্তু, এটির সাথে খুব সতর্ক থাকুন।

কাজের মুলনীতি

  • প্রতিটি পদ্ধতিতে ছয়টি সমবাহু ত্রিভুজ দ্বারা গঠিত একটি ষড়ভুজ আঁকবে যার ব্যাসার্ধ সব বাহুর দৈর্ঘ্যের সমান। ছয়টি অঙ্কিত ব্যাসার্ধ একই দৈর্ঘ্য এবং ষড়ভুজ তৈরির জন্য সমস্ত রেখাও একই দৈর্ঘ্য, যেহেতু কম্পাসের প্রস্থ পরিবর্তন হয়নি। ছয়টি ত্রিভুজ সমবাহু হওয়ার কারণে, তাদের শীর্ষবিন্দুগুলির মধ্যে কোণগুলি 60 ডিগ্রি।

তোমার কি দরকার

  • কাগজ
  • পেন্সিল
  • শাসক
  • কম্পাস জোড়া
  • কম্পাস সুই পিছলে যাওয়া থেকে রক্ষা করার জন্য আপনি কাগজের নীচে কিছু রাখতে পারেন।
  • ইরেজার

বন্ধ