// Last edited on 2007-07-22 21:59:26 by stolfi

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

#declare raio = 2.000;

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

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

#declare bola_topo =
  sphere {
    < 0.00, 0.00, 4.10 >, 0.50 
    texture { tinta_A }
  }
  
#declare bola_base =
  sphere {
    < 0.00, 0.00, -3.60 >, 0.30 
    texture { tinta_C }
  }
  
#declare cubo = 
  box {
    < +0.55, -0.55, +1.10 >,
    < -0.55, +0.55, +0.00 >    
    texture { tinta_B }
  }
  
#declare cabo = 
  cylinder {
    < 0.00, 0.00, 0.00 >,
    < 0.00, 0.00, +3.80 >,
    1.0
    texture { tinta_B }
  }

#declare eixo =
  box {
    < +0.40, -0.40, +1.10 >,
    < -0.40, +0.40, -3.50 >
    texture { tinta_A }
}

#declare pa =
  box {
    < -1.50, +0.40, -3.50 >,
    < +1.50, -0.40, -3.50 >
    texture { tinta_C }
}

  
// Aqui está a cena, finalmente:

union {
  difference {
    difference {
      object { cabo } 
      object { bola_topo }
    }
    object { cubo }
  }
  difference {
    object { eixo }
    object { bola_base }
  }
  difference {
    object { pa }
    object { bola_base }
  }
  difference {
    object { pa
    rotate 90*z
    }
    object { bola_base }
  }	
}

#include "camlight.inc"
camlight(<0,0,0>,<10,10,10>,0.55,z,1.0)