答案不一定非得是sdl的。
这是我目前写的一个,但我认为它也会消耗很多内存,因为我也会给圆圈添加运动。
我使用的是 f(p)= xsquare + ysquare - rsquare
渲染圆内的像素(我猜是中点theoram)。
请把它简单化,因为我是一个初学者。另外,是否可以为你的程序制作许多头文件? 这是好的做法吗?
void add( SDL_Window *window ,SDL_Renderer *renderer,int r )
{
int i=0;
int j=0;
int x,y,k;
for(i=1 ; i<= r; ++i)
{
for(j=1 ; j<= r; ++j)
{
k=(i*i)+(j*j)-(r*r);
if(k <= 0)
{
x=20;
y=400;
SDL_RenderDrawPoint(renderer ,i+r-1+x,j+r-1+y);
SDL_RenderDrawPoint(renderer ,-i+r+1+x,-j+r+1+y);
SDL_RenderDrawPoint(renderer ,-i+r+1+x,j+r-1+y);
SDL_RenderDrawPoint(renderer ,i+r-1+x,-j+r+1+y);
}
}
}
SDL_RenderPresent(renderer);
}
你可以看看SDL2_gfx库。在这里,你可以看看SDL2_gfx库。 你可以使用这个库来绘制一些SDL的基元,或者只是借用它的一些代码。