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:
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
Below are the programs to demonstrate the Math.Atan2() Method when the points
lies in the Cartesian plane:
- 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));
}
}
- 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));
}
}
- 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));
}
}
- 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));
}
}
Below are the programs to demonstrate the Math.Atan2() Method when the points
lies on the boundaries of the quadrants:
- 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));
}
}
- 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));
}
}
- 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));
}
}
- 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));
}
}
- 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));
}
}
Important Point to Remember: If value1 or value2 is
NaN, or if value1 and value1 are either
PositiveInfinity or
NegativeInfinity, the method returns
NaN.
Example:
csharp
// 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));
}
}
Reference: https://msdn.microsoft.com/en-us/library/system.math.atan2
Similar Reads
SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e
7 min read
TCP/IP Model The TCP/IP model is a framework that is used to model the communication in a network. It is mainly a collection of network protocols and organization of these protocols in different layers for modeling the network.It has four layers, Application, Transport, Network/Internet and Network Access.While
7 min read
Basics of Computer Networking A computer network is a collection of interconnected devices that share resources and information. These devices can include computers, servers, printers, and other hardware. Networks allow for the efficient exchange of data, enabling various applications such as email, file sharing, and internet br
14 min read
Java Programs - Java Programming Examples In this article, we will learn and prepare for Interviews using Java Programming Examples. From basic Java programs like the Fibonacci series, Prime numbers, Factorial numbers, and Palindrome numbers to advanced Java programs.Java is one of the most popular programming languages today because of its
8 min read
Unified Modeling Language (UML) Diagrams Unified Modeling Language (UML) is a general-purpose modeling language. The main aim of UML is to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering. UML is not a programming language, it is rather a visual lan
14 min read
Second Largest Element in an Array Given an array of positive integers arr[] of size n, the task is to find second largest distinct element in the array.Note: If the second largest element does not exist, return -1. Examples:Input: arr[] = [12, 35, 1, 10, 34, 1]Output: 34Explanation: The largest element of the array is 35 and the sec
14 min read
Python Lists In Python, a list is a built-in dynamic sized array (automatically grows and shrinks). We can store all types of items (including another list) in a list. A list may contain mixed type of items, this is possible because a list mainly stores references at contiguous locations and actual items maybe s
6 min read
Introduction to Java Java is a high-level, object-oriented programming language developed by Sun Microsystems in 1995. It is platform-independent, which means we can write code once and run it anywhere using the Java Virtual Machine (JVM). Java is mostly used for building desktop applications, web applications, Android
4 min read
f-strings in Python Python offers a powerful feature called f-strings (formatted string literals) to simplify string formatting and interpolation. f-strings is introduced in Python 3.6 it provides a concise and intuitive way to embed expressions and variables directly into strings. The idea behind f-strings is to make
5 min read
Python Operators In Python programming, Operators in general are used to perform operations on values and variables. These are standard symbols used for logical and arithmetic operations. In this article, we will look into different types of Python operators. OPERATORS: These are the special symbols. Eg- + , * , /,
6 min read