内容发布更新时间 : 2025/11/4 11:54:35星期一 下面是文章的全部内容请认真阅读。
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 , &gmode ,\ MidBresenhamEllipse(8,6,2);    getch ( );  closegraph ( );      实验3  图形填充  实验目的  4、 通过实验,进一步理解和掌握图形填充常用算法; 5、 掌握以上算法进行填充图形的基本过程; 6、 通过编程,会在TC环境下完成图形填充。 实验环境  计算机、Turbo C或其他C语言程序设计环境 实验学时      2学时,必做实验。         实验内容  任意画一个多边形,并用边填充算法进行填充。(多边形的顶点坐标存放在数组中,坐标值由键盘输入) 实验步骤  1、 算法、原理清晰,有详细的设计步骤;   2、 依据算法、步骤或程序流程图,用C语言编写源程序; 3、 编辑源程序并进行调试;  4、 进行运行测试,并结合情况进行调整; 5、 对运行结果进行保存与分析;  6、 打印源程序或把源程序以文件的形式提交; 7、 按格式书写实验报告。  实验代码:  #include void edge_mark(int arr[][2],int value,int polydeflen) {       int by,x,y,ax,ay; int i,j;