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