如何让圆半径绕圆心沿顺时针旋转显示出一个半圆,求代码!!!
------解决方案--------------------
void LCD_DrawPoint(u16 X,u16 Y,u16 Colour) //液晶屏上实现画一个点的函数
{
LCD_SetXY(X,Y);
ili9481_WriteData(Colour);
}
/* 函数LCD_DrawCriclePixel画圆的像素点 */
void LCD_DrawCriclePixel(u16 x0,u16 y0,u16 x,u16 y,u16 colour)
{
LCD_DrawPoint(x0+x,y0+y,colour); //LCD_DrawPoint(x,y,colour)函数为在对应x,y坐标处画一个颜色为colour的点,根据不同液晶屏修改下
LCD_DrawPoint(x0+x,y0-y,colour);
LCD_DrawPoint(x0-x,y0+y,colour);
LCD_DrawPoint(x0-x,y0-y,colour);
LCD_DrawPoint(x0+y,y0+x,colour);
LCD_DrawPoint(x0+y,y0-x,colour);
LCD_DrawPoint(x0-y,y0+x,colour);
LCD_DrawPoint(x0-y,y0-x,colour);
}
/* 画圆函数,x0,y0为圆心坐标,r为半径,colour为颜色 */
void LCD_DrawCricle(int x0,int y0,int r,u16 colour)
{
int x,y;
float d;
x = 0;
y = r;
d = 5.0/4-r;
while(x<=y)
{
LCD_DrawCriclePixel(x0,y0,x,y,colour);
if(d<0)
d+=x*2.0+3;
else
{
d+=2.0*(x-y)+5;
y--;
}
x++;
}
}