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()方法。
广告