C# में Math.Atan2() मेथड उस कोण को लौटाता है जिसका टेंजेंट दो निर्दिष्ट संख्याओं का भागफल है। यह y/x के आर्कटेंजेंट की गणना करता है, सही चतुर्थांश निर्धारित करते हुए।
सिंटैक्स
public static double Atan2 (double val1, double val2);
- val1: y निर्देशांक (अंश)
- val2: x निर्देशांक (हर)
उदाहरण 1: बुनियादी उपयोग (डिग्री में परिणाम)
using System;
public class Demo
{
public static void Main()
{
double val1 = 3.0;
double val2 = 1.0;
double radians = Math.Atan2(val1, val2);
double angle = radians * (180 / Math.PI);
Console.WriteLine("Result = " + angle);
}
}
आउटपुट
Result = 71.565051177078
उदाहरण 2: शून्य y-निर्देशांक
using System;
public class Demo
{
public static void Main()
{
double val1 = 0;
double val2 = 5;
double radians = Math.Atan2(val1, val2);
double angle = radians * (180 / Math.PI);
Console.WriteLine("Result = " + angle);
}
}
आउटपुट
Result = 0
Atan2 बनाम Atan - चतुर्थांश जागरूकता
| x (val2) | y (val1) | Atan(y/x) | Atan2(y, x) | चतुर्थांश |
|---|---|---|---|---|
| + | + | 0 से π/2 | 0 से π/2 | I |
| - | + | -π/2 से 0 | π/2 से π | II |
| - | - | 0 से π/2 | -π से -π/2 (या π से 3π/2) | III |
| + | - | -π/2 से 0 | -π/2 से 0 | IV |
| 0 | + | अपरिभाषित | π/2 | Y-अक्ष + |
| 0 | - | अपरिभाषित | -π/2 | Y-अक्ष - |
व्यावहारिक उदाहरण: वेक्टर कोण
using System;
public class Vector2D
{
public double X { get; set; }
public double Y { get; set; }
public double AngleDegrees => Math.Atan2(Y, X) * 180 / Math.PI;
}
public class Demo
{
public static void Main()
{
var vectors = new[]
{
new Vector2D { X = 1, Y = 1 }, // 45°
new Vector2D { X = -1, Y = 1 }, // 135°
new Vector2D { X = -1, Y = -1 }, // -135° (या 225°)
new Vector2D { X = 1, Y = -1 }, // -45° (या 315°)
new Vector2D { X = 0, Y = 1 }, // 90°
new Vector2D { X = 0, Y = -1 }, // -90°
};
foreach (var v in vectors)
{
Console.WriteLine($"({v.X}, {v.Y}) → {v.AngleDegrees:F1}°");
}
}
}
आउटपुट
(1, 1) → 45.0° (-1, 1) → 135.0° (-1, -1) → -135.0° (1, -1) → -45.0° (0, 1) → 90.0° (0, -1) → -90.0°
विशेष मान
Atan2(0, 0)→ 0 लौटाता है (कुछ कार्यान्वयन में)Atan2(±0, -0)→ ±π (IEEE 754)Atan2(±∞, ±∞)→ चतुर्थांश के अनुसार ±π/4, ±3π/4Atan2(NaN, x)याAtan2(y, NaN)→ NaN
मुख्य बिंदु
- परिणाम रेडियन में: -π से +π (-180° से +180°)
- Atan(y/x) के विपरीत, Atan2(y, x) सही चतुर्थांश निर्धारित करता है
- x=0 के लिए विभाजन-द्वारा-शून्य त्रुटि नहीं होती
- 2D ग्राफिक्स, गेम डेवलपमेंट, रोबोटिक्स, नेविगेशन में व्यापक रूप से उपयोग
- डिग्री में बदलने के लिए:
radians * 180 / Math.PI