// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2000-09-21 20:06:05 by stolfi

background{ color rgb < 1, 1, 1 > }

light_source {
  < 4.00, -6.00, 0.00 >
  color rgb < 0.90, 0.90, 0.90 >
} 

camera {
  location  <  8.00, 8.00, 9.00 >
  right     <  1.00, 0.00, 0.00 >
  up        <  0.00, 0.00, 0.90 >
  sky       <  0.00, 0.00, 1.00 >
  look_at   <  0.00, 0.00, 0.00 >
} 


#declare tinta_Amarela =
  texture {
    pigment { color rgb < 0.0, 1.00, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_Azul =
  texture {
    pigment { color rgb < 0.00, 0.00, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_Branca =
  texture {
    pigment { color rgb < 1.0, 1.0, 1.0 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_Vermelha =
  texture {
    pigment { color rgb < 1, 0.0, 0.0 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_Verde =
  texture {
    pigment { color rgb < 0.0, 1.0, 0.0 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }


#declare esfera =
  sphere {
    < 0.5, -1.0 , -1.75 >, 0.5
    texture { tinta_Amarela }
  }
  
#declare eixoX =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    <5.0, 0.0, 0.0 >,
    0.05
    texture { tinta_Azul }
  }
#declare eixoY =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.0, 5.0, 0.0 >,
    0.05
    texture { tinta_Vermelha }
  }
#declare eixoZ =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.0, 0.0, 5.0 >,
    0.05
    texture { tinta_Verde }
  }

  #declare Roda1 =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.5, 0.0, 0.0 >,
    0.5
    texture { tinta_Azul }
    translate < 0,2,0 >
  }
  #declare Roda2 =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.5, 0.0, 0.0 >,
    0.5
    texture { tinta_Azul }
    translate < 2,2,0 >
  }
  #declare Roda3 =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.5, 0.0, 0.0 >,
    0.5
    texture { tinta_Azul }
    translate < 0,4.5,0 >
  }
  #declare Roda4 =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.5, 0.0, 0.0 >,
    0.5
    texture { tinta_Azul }
    translate < 2,4.5,0 >
  }

  
  
  
  
#declare boxInferior =
  box {
    < 0.0, 0.0, 0.0 >,
    < 1.5, 6, 0.5>
    texture { tinta_Vermelha }
    translate <0.5, 0 , 0> 
  } 
 

#declare boxTraseiroMedio =
  box {
    < 0.0, 0.0, 0.0 >,
    < 1.5, 3.5, 0.5 >
    texture { tinta_Vermelha }
    translate <0.5, 0 , 0.5> 
  }  

#declare boxTraseiroSup =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.5, 1.0, 1.5 >
    texture { tinta_Vermelha }
    translate <1,  0, 1> 
  }  

#declare boxCabine =
  box {
    < 0.0, 0.0, 0.0 >,
    < 2.5, 2.5, 2 >
    texture { tinta_Vermelha }
    translate <0, 3.5 , 0.5> 
  }  

#declare hasteHelice =
  cylinder {
    < 0.0, 0.0, 0.0 >,
    < 0.0, 0.0, 1.0 >,
    0.25
    texture { tinta_Vermelha }
    translate <1.25, 4.75, 2.5>
  }

#declare heliceMenor1 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.01,0.75,0.1   >
    texture { tinta_Verde }
    translate <1.5, 0.5 , 2> 
  }  

#declare heliceMenor2 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.01,0.75,0.1   >
    texture { tinta_Verde }
    rotate <120,0,0>
    translate <1.5, 0.5 , 2> 
  }  

#declare heliceMenor3 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.01,0.75,0.1   >
    texture { tinta_Verde }
    rotate <240,0,0>
    translate <1.5, 0.5 , 2> 
  }  
#declare heliceMaior1 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.15,1.5,0.01 >
    texture { tinta_Verde }
    translate <1.25, 4.75 , 3.5> 
  }  
#declare heliceMaior2 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.15,1.5,0.01 >
    texture { tinta_Verde }
    rotate <0,0,90>
    translate <1.25, 4.75 , 3.5> 
  }  
#declare heliceMaior3 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.15,1.5,0.01 >
    texture { tinta_Verde }
    rotate <0,0,180>
    translate <1.25, 4.75 , 3.5> 
  }  

#declare heliceMaior4 =
  box {
    < 0.0, 0.0, 0.0 >,
    < 0.15,1.5,0.01 >
    texture { tinta_Verde }
    rotate <0,0,270>
    translate <1.25, 4.75 , 3.5> 
  }  

// Aqui está a cena, finalmente:


  object { eixoX }
  object { eixoY }
  object { eixoZ }
  object { Roda1 }
  object { Roda2 }
  object { Roda3 }
  object { Roda4 }

  object { boxInferior }

  object { boxTraseiroMedio }
  object { boxTraseiroSup }
  object { hasteHelice }
  object { boxCabine }

  object { heliceMenor1 }
  object { heliceMenor2 }
  object { heliceMenor3 }

  object { heliceMaior1 }
  object { heliceMaior2 }
  object { heliceMaior3 }
  object { heliceMaior4 }