/*arbol3d*/ /*Fernando Galindo Soria 4/V/1997*/ #include #include #include #include #include #include "tgrafica.fgs" void arbol(int,int,int,int); void recta(int,int,int,int,int*,int*); void main() { int i,j,br,bg,bb,incrang; int gd=DETECT,gm; initgraph(&gd,&gm,""); randomize(); while(kbhit()==0) { br=random(10)+1; bg=random(44)+1; bb=random(64); incrang=random(5)+2; for(j=1;j<16;j++) escrcolordac16(j,br+j*3,bg+j+1,bb); for(i=1;i<170;i++) { setcolor(i/br); arbol(400-i*3/br,400-i/2,170-i,bb+bg+i/incrang); } delay(2000); cleardevice();} getch(); closegraph(); } void arbol(int x0,int y0,int l,int an) { int x1,y1; if(kbhit()==0) if (l > 1 ) { recta(x0,y0,l,an,&x1,&y1); arbol(x1,y1,l/1.7,an-57); arbol(x1,y1,l/1.7,an+57); } } void recta(int x0,int y0,int l,int an,int *x1,int *y1) { *x1=x0-(l*cos(an/57.29578)); *y1=y0-(l*sin(an/57.29578)); line(x0,y0,*x1,*y1); }