background{ color rgb < 0.75, 0.80, 0.85 > } #macro pe(rc) union { // pé cylinder { <0,0,0> <0,0,-0.2> 0.3 texture { pigment { color rgb <1,1,1>} } } sphere { <0,0,0> 0.2 texture { pigment { color rgb <1,1,1>} } } rotate rc } #end #macro perna2(rb, rc) #local cb = 0.6; union { // perna 2 union { // pé pe(rc) translate <0,0,-cb> } cylinder { <0,0,0> <0,0,-cb> 0.2 texture { pigment { color rgb <0,0,1>} } } sphere { <0,0,0> 0.2 texture { pigment { color rgb <0,0,1>} } } rotate rb } #end #macro perna(ra, rb, rc) #local ca = 0.7; union { // perna 1 union { perna2(rb,rc) translate <0,0,-ca> } cylinder { <0,0,0> <0,0,-ca> 0.2 texture { pigment { color rgb <1,1,0>} } } sphere { <0,0,0> 0.2 texture { pigment { color rgb <1,1,0>} } } rotate ra } #end #macro mandibula(p3) union { box { <0,-0.3,0> <0.5,0.3,-0.1> texture { pigment { color rgb <1,1,1>} } } rotate p3 } #end #macro cabeca(p2,p3) union { union { mandibula(p3) translate <0.1,0,-0.3> } box { <0,-0.3,-0.3> <0.6,0.3,0.3> texture { pigment { color rgb <0,0,1>} } } sphere { <0,0,0> 0.2 texture { pigment { color rgb <0,0,1>} } } rotate p2 } #end #macro pescoco(p1,p2,p3) union { union { cabeca(p2,p3) translate <0.5,0,0> } cylinder { <0,0,0> <0.5,0,0> 0.2 pigment { color rgb <1,1,0>} } sphere { <0,0,0> 0.2 texture { pigment { color rgb <1,1,0>} } } rotate p1 } #end #macro torax(p1,p2,p3,e1,e2,e3,d1,d2,d3) union { sphere { <0,0,0> 0.8 texture { pigment { color rgb <0,1,0>} } } union { pescoco(p1,p2,p3) translate <0.8,0,0> } union { perna(e1,e2,e3) translate <0,0.8,0> } union { perna(d1,d2,d3) translate <0,-0.8,0> } } #end #macro rabo(r1) union { cylinder { <0,0,0> <-0.5,0,0> 0.15 texture { pigment { color rgb <1,1,0>} } } sphere { <0,0,0> 0.15 texture { pigment { color rgb <1,1,0>} } } sphere { <-0.5,0,0> 0.15 texture { pigment { color rgb <1,1,0>} } } rotate r1 } #end #macro abdomen(e1,e2,e3,d1,d2,d3,r1) union { sphere { <0,0,0> 0.8 texture { pigment { color rgb <0,1,0>} } } union { perna(e1,e2,e3) translate <0,0.8,0> } union { perna(d1,d2,d3) translate <0,-0.8,0> } union { rabo(r1) translate <-0.8,0,0> } translate <-0.8,0,0> } #end #macro robo(p1,p2,p3,e11,e12,e13,e21,e22,e23,d11,d12,d13,d21,d22,d23,r1,c1) union { torax(p1,p2,p3,e11,e12,e13,d11,d12,d13) union { abdomen(e21,e22,e23,d21,d22,d23,r1) rotate c1 translate <-0.8,0,0> } } #end #declare e = <0,0,0>; union { box{ <-1000,-1000,0> <1000,1000,-0.1> texture { pigment { color rgb <0,0.5,0.2>} } translate <0,0,-1.4> } union { robo(<0,30,0>,<0,-30,0>,<0,30,0>,<30,0,-30>,<-15,0,0>,<-15,0,0>,<30,0,30>,<-15,0,0>,<-15,0,0>,<-30,0,-30>,<15,0,0>,<15,0,0>,<-30,0,30>,<15,0,0>,<15,0,0>,<0,50,30>,<0,0,10>) translate <0,2,0> } union { robo(<0,-30,0>,<0,0,0>,<0,00,0>,<30,0,-30>,<-15,0,0>,<-15,0,0>,<30,0,30>,<-15,0,0>,<-15,0,0>,<-30,0,-30>,<15,0,0>,<15,0,0>,<-30,0,30>,<15,0,0>,<15,0,0>,<0,-30,0>,<0,0,0>) rotate 120*z translate <-3,-5,0> } union { robo(<0,30,0>,<0,-30,0>,<0,30,0>,<30,0,-30>,<-15,0,0>,<-15,0,0>,<30,0,30>,<-15,0,0>,<-15,0,0>,<-30,0,-30>,<15,0,0>,<15,0,0>,<-30,0,30>,<15,0,0>,<15,0,0>,<0,0,0>,<0,0,10>) rotate -120*z translate <-10,-2.5,0> } union { robo(e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e) rotate 90*z translate <-20, -2, 4> } } #include "camlight.inc" #declare centro_cena = < 0, 0, 0>; #declare raio_cena = 5; #declare dir_camera = < 1, 0.3, 0.5 >; #declare dist_camera = raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)