本帖最后由 hejun96 于 2021-6-11 09:36 编辑
#申请原创# AT32F403ARCT7+emwin做圆环
int x0 = 158,y0=110;
for(i=0;i<90;i++)
{
float a = (i*10)*3.1415926/360;//角度
int x = 65*cos(a)+x0;
int y = 65*sin(a)+y0;
GUI_DrawLine(85*cos(a)+x0,85*sin(a)+y0,x,y);
}
圆环的做法也就是用的线条做的,做法就是用圆的参数方程x= a+r*cos 角度 y = a+r*sin 角度,参数方程表示的就是圆上的一点和圆半径r的关系,也就是三角函数
(i*10)也就是按 10/360 角度等分扇形
65表示的是小圆的半径r,85表示的是大圆的半径R 。那么线条也就是起始坐标到端点坐标。那么我只要把起始坐标用大圆的上面的点坐标-小圆上面的点坐标,得到的就是环形了。图形类似于图片中间的环形了! @21小跑堂 |