### Java Math atan2() Method

The `Math.atan2()` method in Java is used to return the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta).

## Table of Contents

1. Introduction
2. `atan2()` Method Syntax
3. Understanding `atan2()`
4. Examples
• Basic Usage
• Using `atan2()` with Different Values
5. Real-World Use Case
6. Conclusion

## Introduction

The `Math.atan2()` method computes the arc tangent of `y/x` using the signs of both arguments to determine the quadrant of the result. The result is an angle in radians in the range `-pi` to `pi`.

## atan2() Method Syntax

The syntax for the `atan2()` method is as follows:

``````public static double atan2(double y, double x)
``````

### Parameters:

• `y`: The ordinate coordinate.
• `x`: The abscissa coordinate.

### Returns:

• The theta component of the point `(r, theta)` in polar coordinates that corresponds to the point `(x, y)` in Cartesian coordinates.

## Understanding atan2()

The `Math.atan2()` method calculates the angle theta in radians between the positive x-axis of a plane and the point given by the coordinates (x, y) on it. Unlike `Math.atan()`, which only considers the ratio `y/x`, `atan2()` also considers the signs of both arguments to determine the correct quadrant of the result.

## Examples

### Basic Usage

To demonstrate the basic usage of `atan2()`, we will calculate the angle for a few coordinate pairs.

#### Example

``````public class Atan2Example {
public static void main(String[] args) {
double y1 = 1.0, x1 = 1.0;
double y2 = 0.0, x2 = 1.0;
double y3 = -1.0, x3 = -1.0;

double result1 = Math.atan2(y1, x1);
double result2 = Math.atan2(y2, x2);
double result3 = Math.atan2(y3, x3);

System.out.println("Angle for (y=" + y1 + ", x=" + x1 + ") is " + result1 + " radians");
System.out.println("Angle for (y=" + y2 + ", x=" + x2 + ") is " + result2 + " radians");
System.out.println("Angle for (y=" + y3 + ", x=" + x3 + ") is " + result3 + " radians");
}
}
``````

Output:

``````Angle for (y=1.0, x=1.0) is 0.7853981633974483 radians
Angle for (y=0.0, x=1.0) is 0.0 radians
Angle for (y=-1.0, x=-1.0) is -2.356194490192345 radians
``````

### Using `atan2()` with Different Values

You can use the `atan2()` method with various coordinate pairs to calculate the corresponding angles.

#### Example

``````public class Atan2DifferentValuesExample {
public static void main(String[] args) {
double[][] coordinates = {
{1.0, 1.0},
{0.5, 0.5},
{0.0, 1.0},
{-0.5, -0.5},
{-1.0, -1.0},
{1.0, -1.0},
{-1.0, 1.0}
};

for (double[] coord : coordinates) {
double y = coord[0];
double x = coord[1];
double result = Math.atan2(y, x);
System.out.println("Angle for (y=" + y + ", x=" + x + ") is " + result + " radians");
}
}
}
``````

Output:

``````Angle for (y=1.0, x=1.0) is 0.7853981633974483 radians
Angle for (y=0.5, x=0.5) is 0.7853981633974483 radians
Angle for (y=0.0, x=1.0) is 0.0 radians
Angle for (y=-0.5, x=-0.5) is -2.356194490192345 radians
Angle for (y=-1.0, x=-1.0) is -2.356194490192345 radians
Angle for (y=1.0, x=-1.0) is 2.356194490192345 radians
Angle for (y=-1.0, x=1.0) is -0.7853981633974483 radians
``````

## Real-World Use Case

### Calculating Directions and Angles

In real-world scenarios, the `Math.atan2()` method can be used to calculate directions and angles in navigation systems, robotics, and computer graphics, where it's crucial to determine the angle between a reference axis and a point.

#### Example

``````public class NavigationExample {
public static void main(String[] args) {
double deltaY = 5.0;
double deltaX = 5.0;

double angle = Math.atan2(deltaY, deltaX);

System.out.println("The direction angle is " + angle + " radians");
}
}
``````

Output:

``````The direction angle is 0.7853981633974483 radians
``````

## Conclusion

The `Math.atan2()` method in Java provides a way to calculate the angle between the positive x-axis and the point given by the coordinates (x, y) in the Cartesian plane.

# My Top and Bestseller Udemy Courses

Check out all my Udemy courses and updates:
Udemy Courses - Ramesh Fadatare