// rotating pyramid #include #include #include #include # define pi 3.141592736 float cosa,cosb,sina,sinb; void ini(float cos1,float cos2) { cosa=cos(cos1*pi/180); cosb=cos(cos2*pi/180); sina=sin(cos1*pi/180); sinb=sin(cos2*pi/180); } void plot(int x,int y,int z,int &x1,int &y1) { x1=x*cosa-y*sina; y1=x*sina*sinb+y*cosa*sinb+z*cosb; x1=320+int(x1); y1=240-int(y1); } void main() { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc\\bgi"); int p=0; while(!kbhit()) { ini(p,p); int x[5],y[5]; plot(5,5,1,x[0],y[0]); plot(45,5,1,x[1],y[1]); plot(5,45,1,x[3],y[3]); plot(45,45,1,x[4],y[4]); setcolor(RED); line(x[3],y[3],x[4],y[4]); line(x[1],y[1],x[4],y[4]); line(x[0],y[0],x[3],y[3]); line(x[0],y[0],x[1],y[1]); plot(25,25,140,x[2],y[2]); for(int i=0;i<5;i++) { setcolor(BROWN); line(x[2],y[2],x[i],y[i]); } p+=3; delay(20); cleardevice(); } }