ÎÒÃÇÏÖʵÖлһ¸öÔ²ÊÇÀûÓÃÔ²¹æÀ´×÷ͼµÄ£¬µ«ÊÇÔÚLCDÉÏÎÒÃDz¢Ã»ÓС°Ô²¹æ¡±Ö®ÀàµÄ¹¤¾ß¡£µ«ÊDz»¹ÜÔÚLCDÉÏ»¹ÊÇÏÖʵÉϻԲ£¬¶¼ÊÇÒ»¸öµãÒ»¸öµãÃè³öÀ´µÄ£¬²¢ÇÒÊÇ´Ó0¡ãÐýתµ½360¡ã¡£ÔÚÕâÀïÀûÓÃÕâ¸ö½Ç¶È×÷ÎÄÕ¡£Ô²ÉϵÄÿһ¸öµã¶¼¿ÉÒÔÓëÔ²ÐĹ¹³ÉÒ»¸öÖ±½ÇÈý½ÇÐΣ¬¶øÔ²Éϵĵ㵽ԲÐĵÄˮƽ¾àÀëΪ°ë¾¶*cos£¨½Ç¶È£©£¬Ô²Éϵĵ㵽ԲÐĵĴ¹Ö±¾àÀëΪ°ë¾¶*sin£¨½Ç¶È£©¡£ÕâÑùÎÒÃǾÍÄܵõ½Ô²ÉϵĵãµÄ×ø±êÖµÁË¡£
void LCD_Draw_Cycle(u8 x,u8 y,u8 r,u16 Color)
{
u16 i;
u16 yt,xt;
for(i=0;i<360;i++) //½Ç¶È´Ó0¡ã-360¡ãµÝÔö
{
yt=r*sin((i)*3.14/180);
xt=r*cos((i)*3.14/180);
if(i==0)
{
LCD_Draw_Point(x+r,y,Color);
}
else if(i==90)
{
LCD_Draw_Point(x,y-r,Color);
}
else if(i==180)
{
LCD_Draw_Point(x-r,y,Color);
}
else if(i==270)
{
LCD_Draw_Point(x,y+r,Color);
}
else if((i>0)&&(i<90))
{
LCD_Draw_Point(x+xt,y-yt,Color);
}
else if((i>90)&&(i<180))
{
LCD_Draw_Point(x-xt,y-yt,Color);
}
else if((i>180)&&(i<270))
{
LCD_Draw_Point(x-xt,y+yt,Color);
}
else
{
LCD_Draw_Point(x+xt,y+yt,Color);
}
}
}