If you're seeing this message, it means we're having trouble loading external resources on our website.

তোমার যদি কোন ওয়েব ফিল্টার দেওয়া থাকে, তাহলে দয়া করে নিশ্চিত কর যে *.kastatic.org এবং *.kasandbox.org ডোমেইনগুলো উন্মুক্ত।

মূল বিষয়বস্তু

পোলার স্থানাংকসমূহ

ProcessingJS এ একটি আকৃতি প্রদর্শনের জন্য, পিক্সেলের অবস্থান নির্দিষ্ট করে দিতে হয়, যা হল এক সেট x এবং y এর স্থানাঙ্ক। এসব স্থানাঙ্ককে কার্তেসীয় স্থানাঙ্ক (Cartesian coordinates) বলা হয়, René (রেনে ডিসক্রেটস) নামকরণ কর; ডিসক্রেটস, একজন ফ্রান্সের গণিতবিদ ছিলেন যিনি কার্তেসীয় তল সম্পর্কে ধারণা দেন।
আরেকটি উপকারী স্থানাঙ্ক ব্যবস্থা হল পোলার স্থানাঙ্ক (polar coordinates) যা মূলবিন্দু থেকে কাঙ্ক্ষিত বিন্দুর সরাসরি দূরত্ব এবং সেটি কত কোণে আছে তা নির্দেশ করে। ভেক্টররূপে চিন্তা করলে:
  • কার্তেসীয় স্থানাঙ্ক—একটি ভেক্টরের x,y
  • পোলার স্থানাঙ্ক—একটি ভেক্টরের মান (দৈর্ঘ্য) এবং দিক (কোণ)
কিন্তু, ProcessingJS এ আঁকানোর ফাংশনে পোলার স্থানাঙ্ক নেই। ProcessingJS এ কোন কিছু দেখাতে চাইলে, সেটার অবস্থানকে (x,y) কার্তেসীয় স্থানাঙ্কে নির্দিষ্ট করে দিতে হবে। কিন্তু, পরিকল্পনা করার ক্ষেত্রে পোলার স্থানাঙ্ক নিয়ে চিন্তা করা বেশি উপযুক্ত। সুখবর হল, ত্রিকোণমিতিতে পোলার এবং কার্তেসীয় স্থানাঙ্কের মধ্যে রূপান্তর করা যায়, এজন্য আমরা যে কোন স্থানাঙ্ক ব্যবস্থায় কাজ করতে পারি কিন্তু খেয়াল রাখতে হবে যে, শুধু কার্তেসীয় স্থানাঙ্ক ব্যবহার করে আঁকানো হয়।
গ্রিক অক্ষর θ (থিটা) কোণ প্রকাশে ব্যবহৃত হয় এবং পোলার স্থানাঙ্কে (x, y) এর বদলে (r, θ) ব্যবহার করা হয়। অর্থাৎ, পোলার স্থানাঙ্কের ক্ষেত্রে, আমরা "থিটা" কে চলক হিসেবে ব্যবহার করবো।
sine(theta) = y/r → y = r * sine(theta)
cosine(theta) = x/r → x = r * cosine(theta)
উদাহরণস্বরূপ, যদি r এর মান 75 হয় এবং থিটা 45 ডিগ্রি হয় (অথবা PI/4 রেডিয়ান), আমরা নিচের মত করে x এবং y হিসাব করতে পারি। ProcessingJS এ সাইন এবং কোসাইন ফাংশন হল যথাক্রমে sin() এবং cos()। উভয়ই কোণের ডিগ্রীর মানকে একটি আর্গুমেন্ট হিসেবে নেয়।
var r = 75;
var theta = 45;

// পোলার থেকে কার্তেসিয়ানে রূপান্তর
var x = r * cos(theta);
var y = r * sin(theta);
কিছুক্ষেত্রে এরূপ রূপান্তর খুবই কার্যকরী। উদাহরণস্বরূপ, কার্তেসীয় স্থানাঙ্কে একটি আকৃতিকে বৃত্তাকার পথে ঘুরানো খুবই জটিল। পক্ষান্তরে, পোলার স্থানাঙ্কের ক্ষেত্রে, এটা খুবই সহজ: কোণ বৃদ্ধি করলেই হয়!
পোলার স্থানাঙ্ক ব্যবহার করে একটি আকৃতিকে এভাবে ঘুরানো যায়:

এই "প্রাকৃতিক সিমুলেশন" কোর্সটি নেওয়া হয়েছে Daniel Shiffman (ড্যানিয়েল শিফম্যান) এর লেখা "The Nature of Code" (কোডের প্রকৃতি) থেকে এবং এটি ক্রিয়েটিভ কমন্সের এট্রিবিউশন-নন কমার্শিয়াল 3.0 আনপোরটেড লাইসেন্সের অধিনস্ত।

আলোচনায় অংশ নিতে চাও?

কোন আলাপচারিতা নেই।
ইংরেজি জানো? খান একাডেমির ইংরেজি সাইটে আরো আলোচনা দেখতে এখানে ক্লিক কর।