当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。