卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章18212本站已运行340

C++程序以给定值找到反正弦

C++程序以给定值找到反正弦

在三角学中,我们最常使用几个比率:正弦、余弦、正切和其他一些比率。从给定的角度,可以计算这些比率。但是,如果我们有比率值,我们还可以使用反三角函数计算角度。

在本文中,我们将讨论如何通过 C++ 中的反正弦(反正弦)方法从正弦值获取弧度角。

asin() 函数

asin() 方法用于使用反三角正弦函数计算角度。该函数存在于 C++ 标准库中。我们需要导入 cmath 库才能使用此方法。该函数通过将正弦值作为输入来返回以弧度为单位的角度。以下使用简单的语法 -

语法

'
#include < cmath >
asin( <sine value> )

正弦值必须在 [-1 到 +1] 范围内(包括两者)。否则,将引发域错误,并返回 Not-A-Number (nan)。返回值的范围为 $mathrm{[-:frac{pi}{2},frac{pi}{2}]}$(两者都包含在内)

算法

  • 以正弦值 x 作为输入
  • 使用 asin( x ) 计算 sin−1(x)
  • 返回结果。

示例

'
#include <iostream>
#include <cmath>
using namespace std;

float solve( float x ) {
   float answer;
   answer = asin( 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 sine 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 sine 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 sine value 1 is: " <<; angle << " = " << ang_deg << " (in degrees)" << endl;

   angle = solve( 0.5 );
   ang_deg = angle * 180 / 3.14159;

   cout << "The angle (in radian) for given sine value 0.5 is: " << angle << " = " << ang_deg << " (in degrees)" << endl;
}

输出

'
The angle (in radian) for given sine value 0.7071067 is: 0.785398 = 45 (in degrees)
The angle (in radian) for given sine value 0.866025 is: 1.0472 = 60 (in degrees)The angle (in radian) for given sine value 1 is: 1.5708 = 90.0001 (in degrees)
The angle (in radian) for given sine value 0.5 is: 0.523599 = 30 (in degrees)

此处 asin() 函数采用正弦值并返回弧度格式的角度。这里我们使用以下公式将输出从弧度转换为度数

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

结论

为了根据正弦值执行反三角运算,我们使用 cmath 库中的 asin() 函数。该函数将正弦值作为输入,并返回以弧度为单位的给定角度。在旧版本的 C / C++ 中,返回类型是 double,但后来的 C++ 版本另外使用了 float 和 long-double 的重载形式。当整数值作为参数传递时,它会将输入参数转换为 double 并调用与 double 类型参数对应的 asin() 方法。

卓越飞翔博客
上一篇: 了解PHP底层开发原理:正则表达式和模式匹配
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏