#include <math.h>中sin,cos函数的使用 |
您所在的位置:网站首页 › 正弦值是cos还是sin › #include <math.h>中sin,cos函数的使用 |
在使用QT的时候遇到绘制类似仪表盘的问题,要定位仪表盘上刻度的坐标然后进行刻度线的绘制,需要把仪表盘角度等分,然后通过角度正余弦函数sin,cos函数获得刻度线的坐标。 math.h中的sin和cos等函数的入参原型如下: double sin(double _X); double cos(double _X);解释一下: 这两个函数的入参类型都是double, 而入参_X是角度的弧度值,返回的是弧度值对应的角度的正余弦的值; 那么,什么是弧度值呢?(初中知识,在这里温习下): 某个角度的弧度值,其实就是 角度值*(π/180°),我们用通俗易懂的方式来解释一下: π/180° 其实就是单位角度的弧度值,也就是角度为1°时对应的弧度值,那么我们知道了1°对应的弧度值,要求得出给定角度的弧度值就很好计算了。 计算给定角度对应的弧度值比如我把一个圆360°分为10份,那么每份就是36°,从而得到36°对应的弧度值就是: 36° * (π/180°) 可以写成 π * (36°/180°)= π * (1/5) 因为分子分母都是度数单位,约得36°的占据180°的分数就是 1/5 ,然后和π相乘,得从而得到36°对应的弧度就是:π/5; 从而如果计算36°对应的正弦值就是: sin(π/5) 因为π在math.h中的定义是M_PI,如下: 所以36°的正弦值的函数调用写成: sin(M_PI/5) 余弦也同理,36°对应的余弦就是cos(M_PI/5) 通过正余弦值得到刻度坐标我们得到了角度对应的正余弦值之后,就可以联合圆的半径长度获得某个角度在圆上的坐标,如下: 因sin值又是直角三角形中角的对边和直角三角形斜边的比值,所以在坐标系中,r为半径的圆上, 某个弧度为n的角度在圆上的坐标(△x,△y) ,有 △x/r = cos(n) 以及 △y/r = sin(n) 所以某个角度的 x轴距离△x=cos(n)* r , y轴距离△y= sin(n)* r: 那么如果把一个半径为r长度的圆10等分,36°对应的坐标(x,y) => (cos(M_PI/5)*r, sin(M_PI/5)*r) 36° * 2 = 72°对应的坐标为:( cos(2*M_PI/5), sin(2*M_PI/5) ) 36° * 3 = 108°对应的坐标为:( cos(3*M_PI/5), sin(3*M_PI/5) ) 。。。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |