这段画圆的程序哪儿错了
这段画圆的程序哪儿错了int fillcircle(int x,int y,int r)
{
int fx,fy;
for(fx=x-r;fx<=x+r;fx++){
fy=sqrt(r^2-(fx-x)^2)+y;
Bdisp_DrawLineVRAM( fx, 2*y-fy, fx, fy);
}
}
y=√(〖r^(2-) (x-x_0 )〗^2+) y_0
用的是此公式 f:\0.png 这个 建议换成参数方程,会好用很多 本帖最后由 GWHBOB 于 2012-11-24 17:42 编辑
用#include <mathf.h>
#define step 2//每隔2像素画一道线
const pi=3.14159
//
void circle(float x,float y,float r)
{
float x0,y0,x1,y1,t,tstep;
x0=x+r;y0=y;
tstep=step/r;
for(t=tstep;t<2*pi;t+=tstep){
x1=x+r*cosf(t);y1=y+r*sinf(t);
line(x0,y0,x1,y1);
x0=x1;y0=y1;
}
}
tks.
页:
[1]