C++程序查找给定值的arccosine(反余弦)


正弦、余弦、正切以及其他一些比率是我们最常在三角学中使用的比率。这些比率可以根据角度计算得出。但是,如果我们知道比率值,我们也可以使用反三角函数来确定角度。

在本教程中,我们将学习如何使用C++的反余弦(arccosine)函数将余弦值转换为以弧度表示的角度。

acos() 函数

反三角余弦函数用于使用acos()方法计算角度。此函数可以在C++标准库中找到。要使用此方法,我们必须导入cmath库。此函数接受余弦值作为参数,并返回以弧度表示的角度。以下使用了简单的语法:

语法

#include < cmath >
acos( <cosine value> )

余弦值必须在[-1到+1]范围内(包括两个端点)。否则,将引发域错误,并返回非数字(nan)。返回值将在[0, π]范围内(包括两个端点)。

算法

  • 将余弦值x作为输入
  • 使用acos( x )计算cos−1(x)
  • 返回结果。

示例

#include <iostream> #include <cmath> using namespace std; float solve( float x ) { float answer; answer = acos( x ); return answer; } int main() { float angle, ang_deg; angle = solve( 0.7071067 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given cosine value 0.7071067 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0.866025 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given cosine value 0.866025 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 1 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given cosine value 1 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given cosine value 0 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; }

输出

The angle (in radian) for given cosine value 0.7071067 is: 0.785398 = 45 (in degrees)
The angle (in radian) for given cosine value 0.866025 is: 0.5236 = 30.0001 (in degrees)
The angle (in radian) for given cosine value 1 is: 0 = 0 (in degrees)
The angle (in radian) for given cosine value 0 is: 1.5708 = 90.0001 (in degrees)

这里,正弦值传递给acos()方法,该方法然后返回以弧度格式表示的角度。使用以下公式,我们将此输出从弧度转换为度数。

$$\mathrm{\theta_{deg}\:=\:\theta_{rad}\:\times\:\frac{180}{\pi}}$$

结论

为了从余弦值执行反三角运算,我们使用cmath库中的acos()函数。此函数以余弦值作为输入,并返回以弧度为单位的给定角度。在较旧版本的C/C++中,返回类型为double,但在C++的后续版本中,还额外使用了float和long-double的重载形式。当整数作为参数传递时,它将把输入参数转换为double,并调用与double类型参数相对应的acos()方法。

更新于: 2022年10月19日

203 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告