C語言如何使用三角函數

C語言如何使用三角函數

最近做一個電子羅盤,需要根據三軸加速度傳感器計算出來的X,Y座標來計算電子羅盤指針的座標,這就需要利用簡單的數學知識,使用sin,cos來計算X,Y座標的增量,起初對sin,cos的使用很模糊,認爲只要將角度穿進去就可以了,即

inc_x = sin(jiaodu);
inc_y = cos(jiaodu);

結果你就會發現這樣是錯誤的,原因是因爲sin,cos裏面傳的參數是弧度而不是角度,需要將角度轉換成弧度,並且參數和返回值都是double類型的,正確的姿勢應該是:

#include "math,h"
double inc_x, inc_y;
#define pi 3.1415926535898
#define DEC (pi/180)

inc_x = sin(jiaodu * DEC);
inc_y = cos(jiaodu * DEC);

其中jiaodu就是我們需要計算的角度值,比如我們需要計算60度的sin值和cos值,代碼就應該這樣寫

inc_x = sin(60 * DEC);
inc_y = cos(60 * DEC);

這樣計算出來的纔是我們數學上的sin60, cos60

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章