如何用c++画圆?(不要用circle之类的函数,要源代码)

来源:百度知道 编辑:UC知道 时间:2024/06/17 12:57:31
不用graphics.h头文件(Visual C++上不支持的)

会三角函数吗?
知道圆的方程吗?

那你自己就会画了,可能有锯齿


画好了

比较实惠的是Bresenham算法,代码自己去查

Bresenham算法:
#include<graphics.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
void circle_pointS(int x,int y,int color,int xc,int yc)
{
putpixel(x+xc,y+yc,color);
putpixel(y+xc,x+yc,color);
putpixel(y+xc,-x+yc,color);
putpixel(x+xc,-y+yc,color);
putpixel(-x+xc,-y+yc,color);
putpixel(-y+xc,-x+yc,color);
putpixel(-y+xc,x+yc,color);
putpixel(-x+xc,y+yc,color);
}
void Bresenham_Circle(int xc,int yc,int r,int color)
{
int x,y,d;
x=0;
y=r;
d=3-2*r;
while(x<y)
{
circle_pointS(x,y,color,xc,yc);
if(d>=0)
{
d=d+4*(x-y)+10;
y=y-1;
}
else
d=d+4*x+6;
x=x+1;
}
if (x==y) circle_poi