经典的几种画圆算法
来源:互联网 发布:免费数据采集软件 编辑:程序博客网 时间:2024/05/16 01:44
void CirclePoint(int x,int y,int x0,int y0,int color)
LCD_Set_Pixel(x+x0,y+y0,color);
LCD_Set_Pixel(y+x0,x+y0,color);
LCD_Set_Pixel(y+x0,-x+y0,color);
LCD_Set_Pixel(x+x0,-y+y0,color);
LCD_Set_Pixel(-x+x0,-y+y0,color);
LCD_Set_Pixel(-y+x0,-x+y0,color);
LCD_Set_Pixel(-y+x0,x+y0,color);
LCD_Set_Pixel(-x+x0,y+y0,color);
}
void TGUI_DrawRound(int x0,int y0,int r,int color)
{
int x,y,d;
x=0;
y=r;
d=1-r;
CirclePoint(x,y,x0,y0,color);
while(x<=y)
{
if(d<0){d+=2*x+3;x++;}
else{d+=2*(x-y)+5;x++;y--;}
CirclePoint(x,y,x0,y0,color);
}
}
void CirclePoint1(int x,int y,int x0,int y0,int color)
{
LCD_Set_Pixel(x+x0,y+y0,color);
LCD_Set_Pixel(y+x0,x+y0,color);
LCD_Set_Pixel(y+x0,-x+y0,color);
LCD_Set_Pixel(x+x0,-y+y0,color);
LCD_Set_Pixel(-x+x0,-y+y0,color);
LCD_Set_Pixel(-y+x0,-x+y0,color);
LCD_Set_Pixel(-y+x0,x+y0,color);
LCD_Set_Pixel(-x+x0,y+y0,color);
}
void Draw_Round(uint16 X0,uint16 Y0,uint16 R0,uint16 Color)
{
uint16 X,Y,RR,XX;
RR=R0*R0;
for(X=0;X
{
XX=X*X;
for(Y=0;Y<=R0;Y++)
{
if(fabs((XX+Y*Y)-RR)<10)CirclePoint1(X,Y,X0,Y0,Color);
}
}
}
0 0
- 经典的几种画圆算法
- 算法的经典书籍
- 经典的算法
- 经典的排序算法
- 经典的滤波算法
- 最经典的算法
- 经典的HaarTraining算法
- 经典的HaarTraining算法
- 经典的RANSAC算法
- 经典的FCM算法
- 经典的BM算法
- C的经典算法
- c的经典算法
- 经典的Paxos算法
- 经典的BM算法
- 图的经典算法
- 经典的排序算法
- 经典的排序算法
- c51实时操作系统(短小精悍)
- Mos管参数说明
- 宜昌市电子嵌入式交流QQ群
- 嵌入式混合操作系统TOS源码开源
- C#通过modbus协议实时更新 to…
- 经典的几种画圆算法
- C#调试USB程序
- 一、TRTOS的任务创建与注销方式
- Android大图片裁剪解决方案
- 海信公交车数据采集系统 &nbs…
- TRTOS触摸屏驱动的容差离散校准算…
- TRTOS触摸屏驱动任务及触摸系列动…
- TRTOS 操作NandFlash驱动程序
- 桶式排序java实现