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