JavaScript Math.atan2(y, x) বাংলা টিউটোরিয়াল – অ্যাডভান্স ট্রিগনোমেট্রি
Math.atan2(y, x) হলো JavaScript-এর একটি গুরুত্বপূর্ণ ট্রিগনোমেট্রিক ফাংশন, যা দুটি কো-অর্ডিনেট (y ও x) থেকে একটি কোণের মান (radian) রিটার্ন করে। এটি সাধারণ Math.atan() এর চেয়ে বেশি স্মার্ট কারণ এটি কোণের দিক নির্ধারণ করে কুইড্রেন্ট অনুযায়ী।
Math.atan2(y, x) কী?
Math.atan2(y, x) এমন একটি ফাংশন যা (x, y) পয়েন্ট থেকে origin-এর সাথে করা কোণের মান রিটার্ন করে। এটি সবসময় কোণের মান দেয় -π থেকে +π র্যাডিয়ানের মধ্যে।
Syntax:
Math.atan2(y, x)
Math.atan2(y, x)
Parameters:
- y: y-axis এর ভ্যালু (উচ্চতা)
- x: x-axis এর ভ্যালু (প্রস্থ)
Return Value:
- রিটার্ন হয় একটি radian কোণ, যা -π থেকে +π এর মধ্যে থাকে।
- এই ফাংশন দিয়ে কোণের সঠিক direction ও orientation বোঝা যায়।
Quadrant অনুযায়ী Math.atan2()
| y | x | Quadrant | Return (radians) |
|---|---|---|---|
| 1 | 1 | 1st | 0.785 (π/4) |
| 1 | -1 | 2nd | 2.356 (3π/4) |
| -1 | -1 | 3rd | -2.356 (-3π/4) |
| -1 | 1 | 4th | -0.785 (-π/4) |
উদাহরণ ১: Positive x এবং y
JavaScript Code:
const angle = Math.atan2(1, 1);
console.log(angle); // Output: 0.785398 (π/4)
const angle = Math.atan2(1, 1);
console.log(angle); // Output: 0.785398 (π/4)
ব্যাখ্যা: x = 1, y = 1 → কোণ হয় ৪৫° বা π/4 র্যাডিয়ান।
উদাহরণ ২: Negative x এবং Positive y
JavaScript Code:
const angle = Math.atan2(1, -1);
console.log(angle); // Output: 2.35619 (3π/4)
const angle = Math.atan2(1, -1);
console.log(angle); // Output: 2.35619 (3π/4)
এই ক্ষেত্রে কোণ হয় ১৩৫°, অর্থাৎ 2nd Quadrant।
ডিগ্রীতে রূপান্তর:
JavaScript Code:
function radToDeg(rad) {
return rad * (180 / Math.PI);
}
function radToDeg(rad) {
return rad * (180 / Math.PI);
}
console.log(radToDeg(Math.atan2(1, 1))); // Output: 45
ব্যাখ্যা: 0.785 র্যাডিয়ান = ৪৫ ডিগ্রী
⚠️ গুরুত্বপূর্ণ বিষয়:
- Math.atan2(y, x) ব্যবহার করলে আপনি জানতে পারবেন একটি পয়েন্ট কোন কোণে অবস্থিত।
- এটি গেইম ডেভেলপমেন্ট, গ্রাফিক্স, রোবোটিক্স, এবং কো-অর্ডিনেট মুভমেন্ট এ ব্যবহার হয়।
✅ Math.atan vs Math.atan2
| Feature | Math.atan() | Math.atan2() |
|---|---|---|
| Parameter | 1 (x) | 2 (y, x) |
| Quadrant Info | না | হ্যাঁ |
| Return Range | -π/2 to +π/2 | -π to +π |