#include <math.h>中sin,cos函数的使用

您所在的位置:网站首页 正弦值是cos还是sin #include <math.h>中sin,cos函数的使用

#include <math.h>中sin,cos函数的使用

2023-12-21 11:46| 来源: 网络整理| 查看: 265

在使用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