Implement nested polygons using C graphics
#include <conio.h>
#include <graphics.h>
#include <dos.h>
int main() {
/* request auto detection */
int gdriver = DETECT, gmode, err;
int i, midx, midy, x[10];
/* initialize graphic mode */
initgraph(&gdriver, &gmode, "C:/TURBOC3/BGI");
err = graphresult();
if (err != grOk) {
/* error occurred */
printf("Graphics Error: %s\n",
grapherrormsg(err));
return 0;
}
/* mid position in x and y-axis */
midx = getmaxx() / 2;
midy = getmaxy() / 2;
/* set the position of outermost polygon */
x[0] = midx, x[1] = midy - 100;
x[2] = midx + 60, x[3] = midy - 50;
x[4] = midx + 40, x[5] = midy + 50;
x[6] = midx - 40, x[7] = midy + 50;
x[8] = midx - 60, x[9] = midy - 50;
x[0] = midx, x[1] = midy - 100 - 125;
x[2] = midx + 60 + 150, x[3] = midy - 50 - 100;
x[4] = midx + 40 + 150, x[5] = midy + 50 + 150;
x[6] = midx - 40 - 150, x[7] = midy + 50 + 150;
x[8] = midx - 60 - 150, x[9] = midy - 50 - 100;
/* drawing nested polygons from out to in */
for (i = 1; i <= 15; i++) {
setcolor(i);
setfillstyle(SOLID_FILL, i);
fillpoly(5, x);
x[1] = x[1] + 7;
x[2] = x[2] - 10;
x[3] = x[3] + 10;
x[4] = x[4] - 10;
x[5] = x[5] - 10;
x[6] = x[6] + 10;
x[7] = x[7] - 10;
x[8] = x[8] + 10;
x[9] = x[9] + 10;
sleep(1);
}
getch();
/* deallocate memory allocated for graphic screen */
closegraph();
return 0;
}
Output: (Animate nested polygons using c graphics)
No comments:
Post a Comment