// Exercicio 2 de MC930 para POV-ray
// Last edited on 2000-09-28 13:30 by Alencar Junior
// RA: 950060

background{ color rgb < 0.00, 0.15, 0.03 > }

light_source {
  < 5.00, 20.00, 20.00 >
  color rgb < 1.00, 1.00, 1.00 >
} 

camera {
  location  < 5.00, 15.00, 10.00 >
  right     < 2.40, 0.00, 0.00 >
  up        < 0.00, 0.00, 1.80 >
  sky       < 0.00, 0.00, 1.00 >
  look_at   < 2.00, 3.00, 0.00 >
} 

   
#declare Roda = 
 union {
  cylinder { 				// Pneu
    < 0.00, 0.00, 0.00 >,
    < 0.00, 1.00, 0.00 >,
    1
    pigment { color rgb < 1,1,0> }
      }
   cylinder {				// Calota
    < 0.00,-0.01, 0.00 >,
    < 0.00, 1.01, 0.00 >,
    0.25
    pigment { color rgb < 0,0,1> }
      }
  }  

#declare Chassi =
 prism {
    linear_sweep
    linear_spline
    0, // sweep the following shape from here ...
    6, // ... up through here
    7, // the number of points making up the shape ...
    <11,0>, <11,2>, <7,3>, <1,3>, <1,6>, <-2,6>, <-2,0>
    pigment { color rgb < 0,0,1> }
  }
 

#declare Vidro =
  prism {
    linear_sweep
    linear_spline
    0, // sweep the following shape from here ...
    6, // ... up through here
    4, // the number of points making up the shape ...
    <7,3>, <3,6>, <1,6>, <1,3>
    pigment { color rgb < 1,1,0> }
  }

#declare Helice =
 union{ 
  box {
    <0.00,2.50,6.00>
    <1.00,3.50,7.00>	 
    pigment { color rgb < 1,0,0> }
  }
  box {
    <0.00,-9.00,7.00>
    <1.00, 9.00,8.00>
    pigment { color rgb < 1,0,0> }
  }
  box {
    <9.00, 2.5,7.00>
    <-9.00,3.5,8.00>
    pigment { color rgb < 1,0,0> }
  }
 }

#declare Cauda =
 union{ 
  prism {
    linear_sweep
    linear_spline
    2, // sweep the following shape from here ...
    4, // ... up through here
    6, // the number of points making up the shape ...
    <-2,2>, <-5,2>, <-5,4>, <-4,4>, <-3.5,3>, <-2,3>
    pigment { color rgb < 0,0,1> }
  }
  box {
    <-4.25,4.0,1.00>
    <-4.75,4.25,5.00>
    pigment { color rgb < 1,0,0> }
  }
 }

// A cena:
  object { Chassi }
  object { Vidro }
  object { Helice}
  object { Cauda }
  object { Roda }			 // Roda traseira direita
  object { Roda
	   translate < 0.00,5.00,0.00>	 // Roda traseira esquerda
	  }
  object { Roda
	   translate < 8.00,0.00,0.00>   // Roda dianteira direita 
	 }
  object { Roda
	   translate < 8.00,5.00,0.00>   // Roda dianteira esquerda
	 }