// Last edited on 2023-12-27 23:58:52 by stolfi #include "retalho.inc" background{ color rgb < 0.9, 0.9, 0.9 > } // Raio da grade debug: // #declare rdb = 0.05; #declare rdb = 0; #macro encosto_esq() #local P1= array[4] {<4,4,6>,<4,2,6>,<2,0,6>,<0,0,6>}; #local P2= array[4] {<4,4,4>,<4,2,4>,<2,0,4>,<0,0,4>}; #local P3= array[4] {<4,4,2>,<4,2,2>,<2,0,2>,<0,0,2>}; #local P4= array[4] {<4,6,0>,<4,4,0>,<2,2,0>,<0,2,0>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret0, 3)} #end #macro encosto_dir() #local P1= array[4] {<-4,4,6>,<-4,2,6>,<-2,0,6>,<0,0,6>}; #local P2= array[4] {<-4,4,4>,<-4,2,4>,<-2,0,4>,<0,0,4>}; #local P3= array[4] {<-4,4,2>,<-4,2,2>,<-2,0,2>,<0,0,2>}; #local P4= array[4] {<-4,6,0>,<-4,4,0>,<-2,2,0>,<0,2,0>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret1, 3)} #end #macro assento_esq() #local P1= array[4] {<4,6,0>,<4,4,0>,<2,2,0>,<0,2,0>}; #local P2= array[4] {<4,8,-2>,<4,6,-2>,<2,4,-2>,<0,4,-2>}; #local P3= array[4] {<4,10,-2>,<4,8,-2>,<2,6,-2>,<0,6,-2>}; #local P4= array[4] {<4,12,0>,<4,12,0>,<2,12,0>,<0,12,0>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret3, 3)} #end #macro assento_dir() #local P1= array[4] {<-4,6,0>,<-4,4,0>,<-2,2,0>,<0,2,0>}; #local P2= array[4] {<-4,8,-2>,<-4,6,-2>,<-2,4,-2>,<0,4,-2>}; #local P3= array[4] {<-4,10,-2>,<-4,8,-2>,<-2,6,-2>,<0,6,-2>}; #local P4= array[4] {<-4,12,0>,<-4,12,0>,<-2,12,0>,<0,12,0>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret4, 3)} #end #macro apoio_pe_esq() #local P1= array[4] {<4,12,0>,<4,12,0>,<2,12,0>,<0,12,0>}; #local P2= array[4] {<4,14,2>,<4,14,2>,<2,14,2>,<0,14,2>}; #local P3= array[4] {<4,16,-4>,<4,16,-4>,<2,16,-4>,<0,16,-4>}; #local P4= array[4] {<4,18,-2>,<4,18,-2>,<2,18,-2>,<0,18,-2>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret5, 3)} #end #macro apoio_pe_dir() #local P1= array[4] {<-4,12,0>,<-4,12,0>,<-2,12,0>,<0,12,0>}; #local P2= array[4] {<-4,14,2>,<-4,14,2>,<-2,14,2>,<0,14,2>}; #local P3= array[4] {<-4,16,-4>,<-4,16,-4>,<-2,16,-4>,<0,16,-4>}; #local P4= array[4] {<-4,18,-2>,<-4,18,-2>,<-2,18,-2>,<0,18,-2>}; #local P= array[4] {P1,P2,P3,P4}; object{retalho(P, rdb, cret6, 3)} #end #macro cadeira() union{ object{ encosto_esq() } object{ encosto_dir() } object{ assento_esq() } object{ assento_dir() } object{ apoio_pe_esq() } object{ apoio_pe_dir() } } #end #declare cmin = < -6, -1, -5.5 >; #declare cmax = < +6, +19, +7.5 >; object{ cadeira() } #include "eixos.inc" // #if (rdb > 0) object{ eixos( 10.0) } #end #include "gaiola.inc" #if (rdb > 0) object{ gaiola(cmin,cmax) } #end #if (rdb = 0) object{ gaipiso(cmin,cmax) } #end #declare centro_cena = (cmin + cmax)/2; #declare raio_cena = 0.65*vlength(cmax-cmin); #declare dist_camera = 7*raio_cena; #include "camlight.inc" #declare dir_camera = < 7, 5, 3 >; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)