Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Math.Atan2() मेथड - दो संख्याओं के भागफल का आर्कटेंजेंट

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 से π/20 से π/2I
-+-π/2 से 0π/2 से πII
--0 से π/2-π से -π/2 (या π से 3π/2)III
+--π/2 से 0-π/2 से 0IV
0+अपरिभाषितπ/2Y-अक्ष +
0-अपरिभाषित-π/2Y-अक्ष -

व्यावहारिक उदाहरण: वेक्टर कोण

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π/4
  • Atan2(NaN, x) या Atan2(y, NaN) → NaN

मुख्य बिंदु

  • परिणाम रेडियन में: -π से +π (-180° से +180°)
  • Atan(y/x) के विपरीत, Atan2(y, x) सही चतुर्थांश निर्धारित करता है
  • x=0 के लिए विभाजन-द्वारा-शून्य त्रुटि नहीं होती
  • 2D ग्राफिक्स, गेम डेवलपमेंट, रोबोटिक्स, नेविगेशन में व्यापक रूप से उपयोग
  • डिग्री में बदलने के लिए: radians * 180 / Math.PI
  1. - C# में Math.Log10() मेथड

    C# में Math.Log10() मेथड एक निर्दिष्ट संख्या का बेस 10 लॉगरिदम लौटाता है। सिंटैक्स public static double Log10 (double val); यहां, Val वह संख्या है जिसका लॉगरिदम हम चाहते हैं। Log10() मेथड निम्नलिखित लौटाता है - Val पैरामीटररिटर्न करता है धनात्मकd का बेस 10 लॉग; यानी, log 10d। शून्यNegativeInfin

  1. - C# में Math.Log() मेथड

    C# में Math.Log() मेथड का उपयोग एक निर्दिष्ट संख्या का लॉगरिदम लौटाने के लिए किया जाता है। सिंटैक्स public static double Log(double num) public static double Log(double num, double base) यहां, num वह निर्दिष्ट संख्या है जिसका लॉगरिदम गणना की जानी है। यहां, base लॉगरिदम का आधार है। आइए Math.Log() मे

  1. - C# में Math.IEEERemainder() मेथड

    C# में Math.IEEERemainder() मेथड का उपयोग एक निर्दिष्ट संख्या को दूसरी निर्दिष्ट संख्या से विभाजित करने के परिणामस्वरूप शेषफल लौटाने के लिए किया जाता है। सिंटैक्स public static double IEEERemainder (double dividend, double divisor); आइए Math.IEEERemainder() मेथड को लागू करने का एक उदाहरण देखते हैं