// Last edited on 2003-04-12 07:55:43 by stolfi #include "colors.inc" #declare ctr = < 9.3, 2, 0 >; // #declare cam = < -5.3, 2, -15 >; #declare cam = < -15.3, 2, -5 >; camera { location ctr + 1.2*cam right 1.2*x up 0.4*y look_at ctr } light_source { 20*(vrotate(cam, -20*y) + 5*y) color 1.2*White } background {White} #declare i=0; #declare j=0; #declare k=0; #declare estante = box {< 1, 1, -3>,<3, 4,2>} #declare g= seed (123456); #declare r = 1*rand(g); #declare bola = sphere {<1,1,-2>,r} #declare anel = torus{r,r/3} #declare luneta= cylinder{<1,1,1>,<1.5,1,1.8>,r*0.5} #declare caixa= box{<1.1,1,-3>,<1.3,1.5,-2.5>} #declare pratileira= box{<0.9,1.3,-4>,<1.8,2.1,3>} #while (i<=5) #if (mod(i,2)!=0) union{ difference{ object{estante translate pigment{Blue}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} } #while (j<=i) object{bola translate pigment {color rgb }} object{bola translate pigment {color rgb }} object{caixa translate pigment {color rgb <0,3*rand(g),0>}} object{caixa translate pigment {color rgb <0,3*rand(g),0>}} #declare j=j+1; #end } #else union{ difference{ object{estante translate pigment{Green}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} object{pratileira translate pigment{White}} } # while(k<=i) object{anel translate pigment {color rgb <0,rand(g)*2-0.5,rand(g)*1>}} object{anel translate pigment {color rgb <0,rand(g)*2-0.5,rand(g)*1>}} object{luneta translate pigment {color rgb }} object{luneta translate pigment {color rgb }} #declare k=k+1; #end } #end #declare i=i+1; #end