কম্পিউটার

জাভাস্ক্রিপ্টে বহুভুজের প্রতিটি পাশের কেন্দ্র


ধরুন, আমরা এইরকম অ্যারের অ্যারে −

const arr = [
   [-73.9280684530257, 40.8099975343718],
   [-73.9282820374729, 40.8100875554645],
   [-73.9280124002104, 40.8103130893677],
   [-73.927875543761, 40.8102554080229],
   [-73.9280684530257, 40.8099975343718]
];

এখানে প্রতিটি সাবঅ্যারে একটি 2-ডি সমতলে একটি বিন্দুকে প্রতিনিধিত্ব করে এবং প্রতিটি বিন্দু হল n পার্শ্ববর্তী বহুভুজের একটি শীর্ষবিন্দু যেখানে n হল ইনপুট অ্যারেগুলির সাবয়ারের সংখ্যা৷

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয় এবং n সাবয়ারের একটি নতুন অ্যারে প্রদান করে, প্রতিটি বহুভুজের সংশ্লিষ্ট বাহুর মধ্যবিন্দুকে প্রতিনিধিত্ব করে৷

উদাহরণ

এর জন্য কোড হবে −

const arr = [
   [-73.9280684530257, 40.8099975343718],
   [-73.9282820374729, 40.8100875554645],
   [-73.9280124002104, 40.8103130893677],
   [-73.927875543761, 40.8102554080229],
   [-73.9280684530257, 40.8099975343718]
];
const findCenters = arr => {
   const centerArray = [];
   for(i = 0; i<arr.length; i++){
      nextIndex = (i+1) % (arr.length);
      centerArray[i] = [];
      centerArray[i][0] = (arr [i][0] + arr[nextIndex][0]) / 2;
      centerArray[i][1] = (arr[i][1] + arr[nextIndex][1]) / 2;
   };
   return centerArray;
};
console.log(findCenters(arr));

আউটপুট

কনসোলে আউটপুট -

[
   [ -73.92817524524929, 40.81004254491815 ],
   [ -73.92814721884164, 40.8102003224161 ],
   [ -73.92794397198571, 40.8102842486953 ],
   [ -73.92797199839336, 40.81012647119735 ],
   [ -73.9280684530257, 40.8099975343718 ]
]

  1. জাভাস্ক্রিপ্ট এবং এসভিজি ব্যবহার করে স্ক্রলে কীভাবে আঁকবেন?

  2. জাভাস্ক্রিপ্টে প্রতিটি বস্তুর জন্য একটি অনন্য আইডি কীভাবে তৈরি করবেন?

  3. জাভাস্ক্রিপ্টে প্রতিটি নোডের জন্য পরবর্তী বৃহত্তর নোড খোঁজা হচ্ছে

  4. জাভাস্ক্রিপ্টে প্রতিটি অক্ষর প্রতিবেশী চরিত্রে পরিবর্তন করে প্যালিনড্রোম তৈরি করুন