camera { location <10,5,-15> look_at <10,5,5> } light_source { <0,5,-15> color rgb <1,1,1> } light_source { <0,5,15> color rgb <1,1,1> } background { color rgb <1,1,1> } #declare vermelho = texture { pigment { color red 1 } } #declare vermelhoTransparente = texture { pigment { color red 1 filter 0.4 } } #declare azul = texture { pigment { color blue 1 } } #declare preto = texture { pigment { color rgb <0,0,0> } } #declare amarelo = texture { pigment { color rgb <1,1,0> } } // cabine #declare cabine = difference { sphere { <14,2,5> 5 texture { vermelhoTransparente } } box { < 9,-3, 0> <19, 2,10> texture { vermelhoTransparente } } } // roda na origem #declare roda = torus { 1, 0.5 texture { preto } rotate 90*x } #declare rodas = union { object { roda translate <16.5,1.8,2.5> } object { roda translate <16.5,1.8,7.5> } object { roda translate <11.5,1.8,2.5> } object { roda translate <11.5,1.8,7.5> } } // assento da frente #declare assentoFrontal = prism { 7 6 7 <1,0>,<3,0>,<3,0.5>,<2,0.5>,<1,2>,<0,2>,<1,0> texture { azul } rotate -90*x translate <13,2.5,10> } #declare assentoTraseiro = object { assentoFrontal translate -2.5*x } // haste #declare haste = cylinder { <10,3.5,5> <3,3.5,5> 0.5 texture { vermelho } } // Contruindo a helice superior // 1a. pa #declare Pa1 = polygon { 4 <0,0>,<4,3>,<3,4>,<0,0> texture { amarelo } } #declare Pa2 = object { Pa1 rotate 90*z } #declare Pa3 = object { Pa1 rotate 180*z } #declare Pa4 = object { Pa1 rotate 270*z } #declare Helice = union { object { Pa1 } object { Pa2 } object { Pa3 } object { Pa4 } } merge { object { cabine } object { haste } object { rodas } } object { assentoFrontal } object { assentoTraseiro } object { Helice rotate 90*x translate <13,6.5,0> } object { Helice scale <0.5,0.5,0.5> translate <4.8,3.9,0> }