www.pudn.com > tuxingxue.rar > TUOYUAN.C
#include#include void MidpointEllipse(int m,int n,int a,int b,int color); main() { int driver,mode,x,y,a,b,color; driver=DETECT; mode=0; initgraph(&driver,&mode,""); printf("input x,y,a,b,and color\n"); scanf("%d%d%d%d%d",&x,&y,&a,&b,&color); MidpointEllipse(x,y,a,b,color); getch(); } void MidpointEllipse(m,n,a,b,color) { float x,y,d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.25); putpixel(m+x,n+y,color); putpixel(m+x,n-y,color); putpixel(m-x,n+y,color); putpixel(m-x,n-y,color); while(b*b*(x+1)0) { if(d2<0) { d2+=b*b*(2*x+2)+a*a*(-2*y+3); x++; y--; } else { d2+=a*a*(-2*y+3); y--; } putpixel(m+x,n+y,color); putpixel(m+x,n-y,color); putpixel(m-x,n+y,color); putpixel(m-x,n-y,color); } }