Computer >> 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 của tọa độ theo y và x. Ở đây y và x lần lượt là giá trị của tọa độ y và x. Đây là một hàm có sẵn trong C ++ STL.

Cú pháp của hàm atan2 () như sau.

atan2(dataType var1, dataType var2)

Như có thể thấy từ cú pháp, hàm atan2 () chấp nhận hai tham số var1 và var2 của kiểu dữ liệu float, double hoặc long double tương ứng là y và x point.

Giá trị được trả về bởi atan2 () nằm trong khoảng từ -pi đến pi và là góc giữa (x, y) và trục x dương.

Một chương trình chứng minh atan2 () trong C ++ được đưa ra như sau.

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;
}

đầu ra

atan2(10/5) = 1.10715

Trong chương trình trên, đầu tiên các biến y và x được khởi tạo. Sau đó, tiếp tuyến ngược của y và x được tìm thấy bằng cách sử dụng atan2 () và được lưu trữ trong ans. Cuối cùng giá trị của ans được hiển thị. Điều này được chứng minh bằng đoạn mã sau.

double y = 10, x = 5, ans;
ans = atan2(y,x);
cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl;

Kết quả thu được bằng cách sử dụng hàm atan2 () có thể được chuyển đổi thành độ và hiển thị. Một chương trình để chứng minh điều này như sau.

Ví dụ

#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;
}

Đầu ra

atan2(10/5) = 63.435

Trong chương trình trên, tiếp tuyến nghịch đảo của y và x thu được bằng cách sử dụng atan2 (). Sau đó, giá trị này được chuyển đổi thành độ. Cuối cùng, đầu ra được hiển thị. Điều này được chứng minh bằng đoạn mã sau.

double y = 10, x = 5, ans;
ans = atan2(y,x);
ans = ans*180/3.14159;
cout << "atan2("<< y <<"/"<< x <<") = " << ans << endl;