Math.Atan2() is an inbuilt Math class method which returns the angle whose tangent is the quotient of two specified numbers. Basically, it returns an angle θ (measured in radian) whose value lies between -π and π. This is a counterclockwise angle lies between the positive x-axis, and the point (x, y).
Syntax:
csharp
public static double Atan2(double value1, double value2)Parameters:
value1: y coordinate of the point of type System.Double. value2: x coordinate of the point of type System.Double.Return Type: Returns the angle Θ of type System.Double. Note: An angle, θ(measured in radians), such that -π ≤ θ ≤ π, and tan(θ) = value1 / value2, where (value1, value2) are the points in the cartesian plane. There are two conditions for the return values:
- When the points lies in the Cartesian plane
- When the points lies on the boundaries of the quadrants
- Program 1: If point(value1, value2) lies in the first quadrant i.e., 0 < θ < π / 2
csharp // C# program to demonstrate the // Math.Atan2() Method when point // lies in first quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, 10) * (180 / Math.PI)); } }
Output:45
- Program 2: If point(value1, value2) lies in the second quadrant i.e., π / 2 < θ ≤ π
csharp // C# program to demonstrate the // Math.Atan2() Method when point // lies in second quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, -10) * (180 / Math.PI)); } }
Output:135
- Program 3: If point(value1, value2) lies in the third quadrant i.e., -π < θ < -π / 2
csharp // C# program to demonstrate the // Math.Atan2() Method when point // lies in third quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, -10) * (180 / Math.PI)); } }
Output:-135
- Program 4: If point(value1, value2) lies in the fourth quadrant i.e., -π / 2 < θ < 0
csharp // C# program to demonstrate the // Math.Atan2() Method when point // lies in fourth quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, 10) * (180 / Math.PI)); } }
Output:-45
- Program 1: If value1 is 0 and value2 is not negative i.e. θ = 0
csharp // C# program to demonstrate the // Math.Atan2() Method when value1 // is 0 and value2 is not negative using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, 10) * (180 / Math.PI)); } }
Output:0
- Program 2: If value1 is 0 and value2 is negative i.e. θ = π
csharp // C# program to demonstrate the // Math.Atan2() Method when value1 // is 0 and value2 is negative using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, -10) * (180 / Math.PI)); } }
Output:180
- Program 3: If value1 is positive and value2 is 0 i.e. θ = π / 2
csharp // C# program to demonstrate the // Math.Atan2() Method value1 is // positive and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, 0) * (180 / Math.PI)); } }
Output:90
- Program 4: If value1 is negative and value2 is 0 i.e. θ = -π / 2
csharp // C# program to demonstrate the // Math.Atan2() Method value1 is // negative and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, 0) * (180 / Math.PI)); } }
Output:-90
- Program 5: If value1 is 0 and value2 is 0 i.e. θ = 0
csharp // C# program to demonstrate the // Math.Atan2() Method value1 is // 0 and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, 0) * (180 / Math.PI)); } }
Output:0
// C# program to demonstrate the Math.Atan2()
// method when arguments are of type either
// NaN, PositiveInfinity or NegativeInfinity
using System;
class Geeks {
// Main method
public static void Main()
{
double val1 = 0;
double val2 = Double.NaN;
Console.WriteLine(Math.Atan2(val1, val2));
double val3 = Double.NaN;
double val4 = Double.NaN;
Console.WriteLine(Math.Atan2(val3, val4));
double val5 = Double.NaN;
double val6 = Double.PositiveInfinity;
Console.WriteLine(Math.Atan2(val5, val6));
double val7 = Double.PositiveInfinity;
double val8 = Double.NegativeInfinity;
Console.WriteLine(Math.Atan2(val7, val8));
}
}
Output:
Reference: https://learn.microsoft.com/en-us/dotnet/api/system.math.atan2?redirectedfrom=MSDN#System_Math_Atan2_System_Double_System_Double_NaN NaN NaN NaN