當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ atan2()用法及代碼示例


在本教程中,我們將借助示例了解 C++ atan2() 函數。

C++ 中的atan2() 函數以弧度返回坐標的反正切。它在cmath 頭文件中定義。

在數學上,atan2(y, x) = tan-1(y/x)

示例

#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() 語法

用法:

atan2(double y, double x);

參數:

atan2() 函數采用以下參數:

  • x- 表示 x 坐標比例的浮點數
  • y- 表示y坐標比例的浮點數

返回:

atan2() 函數返回:

  • 範圍內的浮點值[-π, π].
  • 0如果兩者xy為零

atan2() 原型

cmath 頭文件中定義的atan2() 的原型是:

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

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

輸出

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

示例 2:具有不同類型的 C++ atan2()

在這個程序中,我們將在atan2() 函數中使用不同數據類型的參數。

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

輸出

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

相關用法


注:本文由純淨天空篩選整理自 C++ atan2()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。