已知r是圆的半径,t是一个角的弧度值,圆心坐标是(x0,y0),你可以根据下列公式计算出圆周长轨迹的坐标:

float x = r*cos(t) + x0;
float y = r*sin(t) + y0;

如果上面的代码画出的为顺时针的角,把角度变为负数,或把公式改为下面的即可画出逆时针的角:

float x = r*cos(-t) + x0;
float y = r*sin(-t) + y0;

如果想把角度和弧度互转,可以使用下列公式:

设角度为A,弧度为B,则:
角度转弧度: B = A /180 * pi;
弧度转角度: A = B /pi * 180.
其中pi是圆周率。

在Qt中可以使用 qDegreesToRadians()qRadiansToDegrees() 函数实现角度和弧度互转。

弧度定义

在数学和物理中,弧度是指平面角的一种量度单位,它是由国际单位制导出的单位,单位缩写是rad。弧长等于半径的弧,其所对的圆心角为1弧度(即两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角的弧度为1)。弧度大小等于角所对的弧长被半径除的商,1弧度等于180°/π=57.3°。

根据定义,一周的弧度数为2πr/r=2π,360°角=2π弧度,因此,1弧度约为57.3°,即57°17'44.806'',1°为π/180弧度,近似值为0.01745弧度,周角为2π弧度,平角(即180°角)为π弧度,直角为π/2弧度。

参考文章:
互动百科:弧度
Calculating the position of points in a circle

标签: Qt, 圆的轨迹

添加新评论