Функция atan2
Функция atan2 вычисляет арктангенс отношения
первого аргумента ко второму, но, в отличие от
обычной функции atan, она принимает два
отдельных аргумента и учитывает их знаки. Это
позволяет определить правильный квадрант угла
в диапазоне от -π до π. В первый
параметр передается значение координаты y,
а во второй - координаты x.
Функция возвращает угол в радианах. Если оба
аргумента равны нулю, поведение зависит от
реализации, но обычно возвращается 0.
Синтаксис
#include <cmath>
double atan2(double y, double x);
float atan2f(float y, float x);
long double atan2l(long double y, long double x);
Пример
Давайте вычислим угол для точки с координатами
1 и 1:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = atan2(1.0, 1.0);
cout << res << endl;
return 0;
}
Результат выполнения кода:
0.785398
Пример
Давайте вычислим угол для точки с координатами
-1 и -1. Благодаря учету знаков
функция вернет угол в третьем квадранте:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = atan2(-1.0, -1.0);
cout << res << endl;
return 0;
}
Результат выполнения кода:
-2.35619
Пример
Давайте вычислим угол для точки на оси x
с координатами 0 и 5:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = atan2(0.0, 5.0);
cout << res << endl;
return 0;
}
Результат выполнения кода:
0