C++ atan2()

The atan2() function in C++ returns the inverse tangent of a coordinate in radians. It is defined in the cmath header file.

Mathematically, atan2(y, x) = tan-1(y/x).

Example

#include <iostream>
#include <cmath>
using namespace std;

int main() {

// get the value of tan-1(5.0 / 2.0) cout << atan2(5.0, 2.0);
return 0; } // Output: 1.19029

atan2() Syntax

The syntax of the atan2() function is:

atan2(double y, double x);

atan2() Parameters

The atan2() function takes the following parameters:

  • x - floating-point number that represents the proportion of the x-coordinate
  • y - floating-point number that represents the proportion of the y-coordinate

atan2() Return Value

The atan2() function returns:

  • a floating-point value in the range of [-π, π].
  • 0 if both x and y are zero

atan2() Prototypes

The prototypes of atan2() as defined in the cmath header file are:

double atan2(double y, double x);

float atan2(float y, float x);

long double atan2(long double y, long double x);

// for combinations of arithmetic types
double atan2(Type1 y, Type2 x);

Example 1: C++ atan2()

#include <iostream>
#include <cmath>
using namespace std;

int main() {
  double x = 10.0, y = -10.0;

double result = atan2(y, x);
// convert result to degrees double degree = result * (180 / 3.141592); cout << "atan2(y/x) = " << result << " radians" << endl; cout << "atan2(y/x) = " << degree << " degrees"; return 0; }

Output

atan2(y/x) = -0.785398 radians
atan2(y/x) = -45 degrees

Example 2: C++ atan2() with Different Types

In this program, we will use arguments of different data types with the atan2() function.

#include <iostream>
#include <cmath>
#define PI 3.141592654
using namespace std;

int main() {
  double result;
  float x = -31.6;
  int y = 3;
  
// atan2() with float and int arguments result = atan2(y, x);
cout << "atan2(y/x) = " << result << " radians" << endl; // Display result in degrees cout << "atan2(y/x) = " << result * (180 / PI) << " degrees"; return 0; }

Output

atan2(y/x) = 3.04694 radians
atan2(y/x) = 174.577 degrees

Also Read:

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community