ষড়ভুজ স্থানাঙ্ক: পোলার থেকে কার্টেসিয়ান


11

উইকিপিডিয়া পোলার কোঅর্ডিনেট সম্পর্কে বলেছেন :

গণিতে, মেরু সমন্বয় ব্যবস্থা একটি দ্বি-মাত্রিক সমন্বয় ব্যবস্থা যা বিমানের প্রতিটি বিন্দু একটি রেফারেন্স পয়েন্ট থেকে একটি দূরত্ব এবং একটি রেফারেন্স দিক থেকে একটি কোণ দ্বারা নির্ধারিত হয়।

এটি ষড়ভুজাকৃতির গ্রিডগুলি বর্ণনা করার জন্য উপযুক্ত বলে মনে হচ্ছে। উদাহরণস্বরূপ নিম্নলিখিত ষড়ভুজ গ্রিডটি নিন:

  A B C
 D E F G
H I J K L
 M N O P
  Q R S

আমাদের রেফারেন্স পয়েন্টটি হেক্সাগন ('জে') এর কেন্দ্রবিন্দু হবে এবং আমাদের রেফারেন্স কোণটি ষড়্ভুজ ('এ') এর শীর্ষ বাম কোণে হবে। যাইহোক, আমরা এই বিন্দু থেকে ষড়ভুজের বাইরের চারদিকে ঘড়ির কাঁটার দিকের সংখ্যার দিক থেকে কোণটি বর্ণনা করব , কোণগুলিতে নয়। সুতরাং আমরা এটিকে কোণার পরিবর্তে "পদক্ষেপ নম্বর" বলব।

উদাহরণস্বরূপ, 'সি' এ (2, 2) এ রয়েছে কারণ এটির 2 এর ব্যাসার্ধ রয়েছে (যেহেতু এটি কেন্দ্র থেকে দুটি রিং দূরে, 'জে'), এবং 'এ থেকে 2 ঘড়ির কাঁটার দিকে এগিয়ে একটি পদক্ষেপ সংখ্যা number ')। একইভাবে, 'ও' এ (1, 3) এ রয়েছে, কারণ এটি কেন্দ্র থেকে এক রিং দূরে এবং 'ই' (যা রেফারেন্স কোণে) থেকে তিনটি ঘড়ির কাঁটার দিকে এগিয়ে রয়েছে।

সম্পূর্ণতার জন্য, 'জে' (0, 0) এ রয়েছে, যেহেতু আপনার পৌঁছতে আপনার 0 টি ধাপ এবং ঘড়ির কাঁটার দিকে 0 টি পদক্ষেপ প্রয়োজন।

এখন, আপনি কার্টেসিয়ান কোঅর্ডিনেটসের সাথে ষড়যন্ত্রও বর্ণনা করতে পারেন তবে অফসেটের কারণে এটি কিছুটা অদ্ভুত। আমাদের মেরু স্থানাঙ্কগুলির মতো, আমরা কেন্দ্রটি (0, 0) এ রাখব। প্রতিটি স্থান একটি স্থানাঙ্ক গ্রহণ করে, সুতরাং 'কে' (2, 0) এ থাকে, (1, 0) নয়। এটি (-2, 2) এ 'এ' এবং 'ও' এ (1, -1) রাখবে।

চ্যালেঞ্জ

পোলার হেক্সাগোনাল স্থানাঙ্ক দেওয়া, কার্টেসিয়ান স্থানাঙ্কগুলিতে একই স্থানাঙ্কগুলি আউটপুট দেয়। আপনি এই সমন্বয়গুলি নিতে পারেন, এবং কোনও যুক্তিসঙ্গত বিন্যাসে উত্তর আউটপুট নিতে পারেন। এর অর্থ হ'ল আপনি চাইলে ইনপুটগুলির ক্রমটি বিপরীত করতে পারেন। এর অর্থ হ'ল আপনি কর্ডগুলি আউটপুট করতে পারবেন (ওয়াই, এক্স), তবে আপনি যদি তা করেন তবে বিভ্রান্তি এড়াতে দয়া করে আপনার উত্তরে এটি উল্লেখ করুন।

আপনাকে নেতিবাচক রেডিয়ি হ্যান্ডেল করতে হবে না, তবে আপনি negativeণাত্মক কোণ বা lesষঙ্গভূমির চারপাশে সম্পূর্ণ বিপ্লবের চেয়ে বেশি কোণগুলি পেতে পারেন। উদাহরণস্বরূপ, আপনি (1, 10), বা (1, -2) ইনপুট হিসাবে পেতে পারেন। এগুলি উভয়ই আমাদের পূর্বের ষড়ভুজের 'এন' এর সাথে মিলবে। ইনপুট দেওয়ার জন্য আপনাকে অ-পূর্ণসংখ্যাগুলি পরিচালনা করতে হবে না

নমুনা IO

#Polar      #Cartesian
(0, 0)      (0, 0)
(1, 2)      (2, 0)
(6, 0)      (-6, 6)
(2, -3)     (-3, -1)
(4, 23),    (-5, 3)
(5, -3),    (-8, 2)
(10, 50),   (-20, 0)
(6, 10),    (10, 2)
(8, 28),    (0, -8)
(8, -20),   (0, -8)

4
হেক্সাগনিতে কেউ এর উত্তর দেয় ...
ফ্লিপট্যাক

স্পষ্ট করার জন্য, কোণ পরিমাপ করতে ব্যবহৃত ইউনিটগুলি ব্যাসার্ধের উপর নির্ভর করে? (যেমন (1, 1) হল রেফারেন্স এঙ্গেল থেকে 60 an এর একটি কোণ, তবে (2, 1) কেবল 30 is কারণ এটি আরও বাইরে এবং এভাবে আরও অক্ষর রয়েছে))। প্রশ্নটি ইঙ্গিত করে বলে মনে হচ্ছে, তবে এটি পোলার স্থানাঙ্কিকভাবে কাজ করার সাধারণ উপায় নয়, সুতরাং এটি আপনার ডিফারনেট কিনা তা ব্যাখ্যা করার উপযুক্ত হতে পারে।

আমাদের কি কেবলমাত্র উত্স থেকে 2 অবধি বিবেচনা করতে হবে, বা এর থেকে আরও দূরে কাজ করতে হবে?
স্তর নদী সেন্ট

@ ais523 হ্যাঁ, এটি কোন ধাপে নয় এমন পদক্ষেপগুলিতে পরিমাপ করা হয় । আমি পোস্টে কিছুটা পরিষ্কার করেছি।
জেমস

@ লেভেলরিভারস্ট নং, এটি তাত্ত্বিকভাবে কোনও ব্যাসার্ধের জন্য কাজ করা উচিত। আইওটি পরীক্ষা 10
জেমস

উত্তর:


3

জাভাস্ক্রিপ্ট (ES6), 93 বাইট

(r,d)=>[...Array(d+r*6)].map((_,i)=>x+="431013"[y+="122100"[i=i/r%6|0]-1,i]-2,x=y=-r)&&[x,-y]

পরীক্ষার স্নিপেট:


আপনাকে এমন কোণগুলি পরিচালনা করতে হবে যা সম্পূর্ণ বিপ্লবের চেয়ে বেশি যায়; আপনার কোডটি কাজ করছে বলে মনে হচ্ছে না (1, -7)
নিল

1

জাভাস্ক্রিপ্ট (ES6), 95 বাইট

f=(r,t,x=-r,y=r,d=2,e=0)=>t<0?f(r,t+r*6):t>r?g(r,t-r,x+r*d,y+r*e,d+e*3>>1,e-d>>1):[x+t*d,y+t*e]

ব্যাখ্যা: শূন্য কোণের জন্য সমাধানটি সহজ -r,r, সুতরাং আমরা সেই বিন্দুতে শুরু করি। যদি কোণটি নেতিবাচক হয় তবে আমরা একটি সম্পূর্ণ ষড়জাগুলি যুক্ত করি এবং নিজেকে পুনরাবৃত্তভাবে ডেকে আনি, অন্যথায় আমরা একটি d,e=2,0পদক্ষেপ নিয়ে ষড়ভুজ ঘুরে শুরু করি । যেখানে সম্ভব, আমরা এই rধরণের পদক্ষেপগুলি লাফিয়েছিলাম , তারপরে সূত্রটি ব্যবহার করে পদক্ষেপটি d+e*3>>1,e-d>>1পাশের দিকে অগ্রসর করে। অবশেষে আমরা আমাদের গন্তব্যে পৌঁছানোর জন্য বাকি কোনও পদক্ষেপ নিই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.