// José Renato Paulon // Last edited on 2003-04-12 05:28:18 by stolfi #include "colors.inc" background{White} #declare ctr = <10,6,12>; #declare cam = <110,60,-60>; camera { location ctr + 0.85*cam right 0.60*x up 0.80*y sky <0,1,0> look_at ctr } light_source {100*(ctr + vrotate(cam,<0,-90,0>) + 220*y) color 0.6*White} light_source {100*(ctr + vrotate(cam,<0,15,0>) + 10*y) color 0.9*White} #declare cor_cristal = <1,0,0>; #declare tx_cristal= texture{ finish{ ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment {color cor_cristal filter 1} } #declare cor_espelho = <1,0.5,0.7>; #declare tx_espelho= texture{ pigment{ rgb cor_espelho} finish{ ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.20 roughness 0.05 } } #declare cor_metal = <0.45,0.46,0.50>; #declare tx_metal= texture{ pigment{ rgb cor_metal} finish{ ambient 0.05 diffuse 0.05 reflection cor_metal specular 0.20 roughness 0.05 } } plane { y, -10 pigment { color 0.30*Green + 0.65*White } finish { ambient 0.2 diffuse 0.8 } } //pneu #declare pneu = torus {6,8 pigment {color <0.6,0.57,0.55>}} //misseis //Canhão #declare corpoc = cylinder { <0,6,0>,<50,6,0> 6 pigment {Brown} texture{tx_metal} } #declare buraco = cylinder { <1,6,0>,<51,6,0> 4 pigment {Brown} texture{tx_metal} } #declare canhao = difference { object{corpoc} object{buraco} } //ogiva #declare ogiva = sphere {<18,6,0>, 2.5 pigment {Red} texture {tx_espelho} } //cilindro espelhado #declare corpo = cylinder { <0,6,0>,<18,6,0> 2.5 pigment {Brown} texture{tx_metal} } //aleta #declare aleta = box { <0, 3, 0>, // Near lower left corner <5 , 10, 1> // Far upper right corner texture {tx_metal} } #declare aleta2 = box { <0, 6, -8>, // Near lower left corner <5 , 7, 8> // Far upper right corner texture {tx_metal} } //ogiva grandona #declare ogivagg = sphere {<10,26,0>, 12 scale <1.7,0,0> pigment {Brown} texture {tx_metal} } //porta copos #declare porta_copos = box { <0, 6, -8>, // Near lower left corner <5 , 7, 8> // Far upper right corner texture {tx_metal} } #declare misseis = union{ object {aleta} object {aleta2} object {ogiva} object {corpo} } #declare aletagg = union{ object {aleta} object {aleta2} } #declare ogiva_grandona = union { object {ogivagg} object {aletagg translate <-10,20,0>} } object{ogiva_grandona} object{misseis translate <15,0,0>} object{misseis translate <15,5,5>} object{pneu } object{pneu translate <0,0,20>} object{canhao translate <0,2,12>}