How the ATAN2() function works in Mariadb?

The ATAN2() function in MariaDB is a mathematical function that returns the arc tangent of two numbers, representing the coordinates of a point.

Posted on

The ATAN2() function in MariaDB is a mathematical function that returns the arc tangent of two numbers, representing the coordinates of a point. This function is particularly useful in geometric calculations where the angle between the point and the positive x-axis is required.

Syntax

The syntax for the MariaDB ATAN2() function is as follows:

ATAN2(Y, X)

The function takes two arguments, Y and X, which represent the y-coordinate and x-coordinate of a point, respectively. The ATAN2() function returns the angle in radians between the positive x-axis and the point (X, Y).

Examples

Example 1: Basic Usage of ATAN2()

This example demonstrates the basic usage of the ATAN2() function by calculating the angle for the point (0,1).

SELECT ATAN2(1, 0);
+--------------------+
| ATAN2(1, 0)        |
+--------------------+
| 1.5707963267948966 |
+--------------------+

The output shows that the angle for the point (0,1) is π/2 radians or 90 degrees.

Example 2: Angle for a Point in the First Quadrant

This example calculates the angle for a point in the first quadrant (positive x and y coordinates).

SELECT ATAN2(10, 10);
+--------------------+
| ATAN2(10, 10)      |
+--------------------+
| 0.7853981633974483 |
+--------------------+

The output indicates that the angle for the point (10,10) is π/4 radians or 45 degrees.

Example 3: Angle for a Point in the Second Quadrant

Here, we calculate the angle for a point in the second quadrant (negative x and positive y coordinates).

SELECT ATAN2(10, -10);
+-------------------+
| ATAN2(10, -10)    |
+-------------------+
| 2.356194490192345 |
+-------------------+

The output shows that the angle for the point (-10,10) is 3π/4 radians or 135 degrees.

Example 4: Angle for a Point in the Third Quadrant

In this example, we find the angle for a point in the third quadrant (negative x and y coordinates).

SELECT ATAN2(-10, -10);
+--------------------+
| ATAN2(-10, -10)    |
+--------------------+
| -2.356194490192345 |
+--------------------+

The output indicates that the angle for the point (-10,-10) is -3π/4 radians or -135 degrees.

Example 5: Using ATAN2() with a Table

First, we create a table with sample points:

DROP TABLE IF EXISTS points;
CREATE TABLE points (x DOUBLE, y DOUBLE);
INSERT INTO points VALUES (0, 1), (10, 10), (-10, 10), (-10, -10), (10, -10);

Now, we can calculate the angle for each point in the table:

SELECT x, y, ATAN2(y, x) AS angle FROM points;
+------+------+---------------------+
| x    | y    | angle               |
+------+------+---------------------+
|    0 |    1 |  1.5707963267948966 |
|   10 |   10 |  0.7853981633974483 |
|  -10 |   10 |   2.356194490192345 |
|  -10 |  -10 |  -2.356194490192345 |
|   10 |  -10 | -0.7853981633974483 |
+------+------+---------------------+

The output displays the angle for each point stored in the table.

Below are a few functions related to the MariaDB ATAN2() function:

  • MariaDB ATAN() function calculates the arc tangent of a single number, returning the angle in radians.
  • MariaDB SIN() function is used to calculate the sine of an angle specified in radians.
  • MariaDB COS() function computes the cosine of an angle, also in radians.

Conclusion

The ATAN2() function is an essential tool for performing complex geometric calculations in MariaDB. It provides a way to calculate the angle between any given point and the positive x-axis, which can be crucial in fields such as computer graphics, navigation, and robotics. Understanding how to use this function, along with its related functions, can greatly enhance the capabilities of database developers and analysts in handling spatial data and calculations.