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 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告