#include #include #include #include #include int driver=DETECT, mode, blad; double ax, ay, X, Xmin=0, Xmax=20, Ymin=0, Ymax=20; int r=30,kat,xx,yy; struct arccoordstype arcinfo; void rys_kolo(int x, int y, int kat) { moveto(0,getmaxy()); xx=ax*(Xmax-Xmin); yy=ay*(Ymax-0.75*Xmax); lineto(xx,yy); circle(x,y,r); arc(x,y,0,kat,r); getarccoords(&arcinfo); line(arcinfo.xend,arcinfo.yend,x,y); } //koniec 'rys_kolo' void main(void) { initgraph(&driver,&mode,"d:\\programy\\borlandc\\bgi\\"); if ((blad=graphresult())!=grOk) { printf(grapherrormsg(blad)); printf("\n\nWci˜nij dowolny klawisz..."); getch(); } ax=(getmaxx()/(Xmax-Xmin)); ay=(getmaxy()/(Xmax-Xmin)); moveto(0,getmaxy()); xx=ax*(Xmax-Xmin); yy=ay*(Ymax-0.75*Xmax); lineto(xx,yy); kat=0; delay(2000); float DX=0.008; for (X=Xmax-1;X>=Xmin+1;X-=DX) { DX+=0.0008; kat+=(180/M_PI)*((DX*getmaxx())/(Xmax*r*cos(40*M_PI/180))); cleardevice(); xx=ax*(X-Xmin); yy=ay*(Ymax-((0.75*X)+1.45)); rys_kolo(xx,yy,kat); delay(8); } //koniec for getch(); closegraph(); } //koniec main