计算机图形学实验

putpixel(-y+100,x+100,color);

putpixel(-y+100,-x+100,color); }

void MidBresenhamCircle(int r,int color) { } main( ) {

int x,y,d; x=0;y=r;d=1-r; while(x<=y){ }

CirclePoint(x,y,color); if(d<0) d+=2*x+3; else{ } x++;

d+=2*(x-y)+5; y--;

int gdriver ,gmode ; gdriver = DETECT;

initgraph(&gdriver , &gmode ,\ MidBresenhamCircle(50,6);

}

getch ( ); closegraph ( );

实验截图:

椭圆:

#include \

void MidBresenhamEllipse(int a,int b,int color) {

int x,y; float d1,d2;

x=0;y=b;

d1=b*b+a*a*(-b+0.5);

putpixel(x+100,y+100,color); putpixel(-x+100,-y+100,color); putpixel(-x+100,y+100,color);putpixel(x+100,-y+100,color); while(b*b*(x+1)

if(d1<=0){

d1+=b*b*(2*x+3); x++;

}

else{

d1+=b*b*(2*x+3)+a*a*(-2*y+2); x++;y--; }

putpixel(x+100,y+100,color); putpixel(-x+100,-y+100,color); putpixel(-x+100,y+100,color);putpixel(x+100,-y+100,color);

}

d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;

while(y>0){

if(d2<=0){ } else{ }

d2+=a*a*(-2*y+3); y--;

d2+=b*b*(2*x+2)+a*a*(-2*y+3); x++; y--;

putpixel(x+100,y+100,color); putpixel(-x+100,-y+100,color); putpixel(-x+100,y+100,color);putpixel(x+100,-y+100,color); } main( )

}

{ }

实验截图:

int gdriver ,gmode ; gdriver = DETECT;

initgraph(&gdriver

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4