// Last edited on 2007-04-01 15:47:53 by stolfi
// Obs: entregou por e-mail por falta de conta ou problemas de login.

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare raio = 2.000;

#declare tinta_A = 
  texture {
    pigment { color rgb < 1.0, 1.0, 1.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare tinta_B = 
  texture {
    pigment { color rgb < 1.00, 0.80, 0.10 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }
  
#declare tinta_C = 
  texture {
    pigment { color rgb < 0.00, 0.00, 0.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare bola =
  sphere {
    < 0.50, 1.50, 3.00 >, 0.1 
    texture { tinta_A }
  }

#declare bola2 =
  sphere {
    < 2.00, 1.50, 3.00 >, 0.1 
    texture { tinta_A }
  }  

#declare furo = 
  cylinder {
    < -1.00, -2.00, -2.00 >,
    < +1.00, +2.00, +2.00 >,
    1.50
    texture { tinta_B }
  }

#declare base =
   box {
	<0,0,0>,
	<3,3,0.2>
	texture { tinta_C }		
}
  
#declare haste = 
  cylinder {
    < 0.50, 1.50, 0.00 >,
    < 0.50, 1.50, 3.00 >,
    0.1
    texture { tinta_A }
  }

#declare mexedor = 
  cylinder {
    < 2.00, 1.65, 1.00 >,
    < 2.00, 1.65, 1.98 >,
    0.1
    texture { tinta_B }
  }

#declare corte_base = 
  cylinder {
    < 2.00, 1.50, 0.1 >,
    < 2.00, 1.50, 0.5 >,
    0.5
    texture { tinta_A }
  }

#declare conector_hastes = 
  cylinder {
    < 0.50, 1.50, 3.00 >,
    < 2.00, 1.50, 3.00 >,
    0.1
    texture { tinta_A }
  }

 #declare haste_motor = 
  cylinder {
    < 2.00, 1.50, 2.00 >,
    < 2.00, 1.50, 3.00 >,
    0.1
    texture { tinta_A }
  }
 
#declare motor = 
  cylinder {
    < 2.00, 1.50, 1.50 >,
    < 2.00, 1.50, 2.00 >,
    0.3
    texture { tinta_A }
  }

#declare pino1 = 
  cylinder {
    < 2.50, 2.50, 0.1 >,
    < 2.50, 2.50, 0.5 >,
    0.05
    texture { tinta_A }
  }
#declare pino2 = 
  cylinder {
    < 0.50, 0.50, 0.1 >,
    < 0.50, 0.50, 0.5 >,
    0.05
    texture { tinta_A }
  }
#declare pino3 = 
  cylinder {
    < 0.50, 2.50, 0.1 >,
    < 0.50, 2.50, 0.5 >,
    0.05
    texture { tinta_A }
  }
#declare pino4 = 
  cylinder {
    < 2.50, 0.50, 0.1 >,
    < 2.50, 0.50, 0.5 >,
    0.05
    texture { tinta_A }
  }

// Aqui está a cena, finalmente:
//difference { 
//  union {
//    object { bola } 
//    object { pino }
//    object { base }
//  }
//  object { furo }
//}
union{
	difference{
		difference{
			object {base}
			object {corte_base}
		}	
		object {pino1}
		object {pino2}
		object {pino3}
		object {pino4}
	}
	object {haste}
	object {haste_motor}
	object {conector_hastes}
	object {bola}
	object {bola2}
	object {motor}
	object {mexedor}
}

#include "camlight.inc"
camlight(<0,0,0>,<10.00,10.00,10.00>,0.5,z,1.0)