Hàm atan2() trả về nghịch đảo tiếp tuyến (arctan) của tọa độ (y, x). Là hàm có sẵn trong thư viện chuẩn C++ (STL).
Cú pháp:
atan2(dataType var1, dataType var2)
Chấp nhận hai tham số kiểu float, double hoặc long double là tọa độ y và x. Giá trị trả về nằm trong khoảng [-π, π] - là góc giữa vector (x,y) và trục x dương.
Ví dụ
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double y = 10, x = 5, ans;
ans = atan2(y, x);
cout << "atan2(" << y << "/" << x << ") = " << ans << endl;
return 0;
}
Kết quả
atan2(10/5) = 1.10715
Khởi tạo biến, tính atan2(), in kết quả:
double y = 10, x = 5, ans;
ans = atan2(y, x);
cout << "atan2(" << y << "/" << x << ") = " << ans << endl;
Chuyển đổi sang độ
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double y = 10, x = 5, ans;
ans = atan2(y, x);
ans = ans * 180 / 3.14159;
cout << "atan2(" << y << "/" << x << ") = " << ans << endl;
return 0;
}
Kết quả
atan2(10/5) = 63.435
Chuyển radian sang độ: nhân 180/π.
double y = 10, x = 5, ans;
ans = atan2(y, x);
ans = ans * 180 / 3.14159;
cout << "atan2(" << y << "/" << x << ") = " << ans << endl;