Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm atan2() trong C++ STL


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;