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> 
}