// Last edited on 2007-04-01 15:46:47 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 < 0.10, 0.80, 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.10, 0.10 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare tinta_C = 
  texture {
    pigment { color rgb < 0.10, 0.10, 0.10 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }
  
#declare tinta_D = 
  texture {
    pigment { color rgb < 0.60, 0.60, 0.60 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare bola =
  sphere {
    < 0.00, -5.00, 0.00 >, 2.00 
    texture { tinta_A }
  }
  
#declare pino = 
  cylinder {
    < 0.00, 0.00, 0.00 >,
    < 0.00, -5.00, 0.00 >,
    2.00
    texture { tinta_A }
    rotate <0 , 10, 0 >
  }

#declare pino_2 = 
  cylinder {
    < 0.00, 5.00, 0.00 >,
    < 0.00, 0.00, 0.00 >,
    0.5
    texture { tinta_B }
  }  

#declare pa_1 =
	box {
	< 1.50, 5.00, 0.10 >,
	< -1.50, 4.50, -0.10 >
	texture { tinta_C }
	}

#declare xic_1 =
	cone {
		< 0.00, 10.00, 0.00 >,
		2.00,
		< 0.00, 7.00, 0.00 >,
		5.00
		texture { tinta_B }
	}

#declare xic_2 =
	cone {
		< 0.00, 9.80, 0.00 >,
		2.00,
		< 0.00, 6.80, 0.00 >,
		5.00
		texture { tinta_B }
	}

#declare caf =
	cone {
		< 0.00, 9.80, 0.00 >,
		2.00,
		< 0.00, 9.0, 0.00 >,
		2.80
		texture { tinta_D }
	}

#declare xic_asa =
	torus {
		1.00,
		0.50
		texture { tinta_B }
	}

// Aqui está a cena, finalmente:

union
{
union
{
	merge {
		object { bola }
		object { pino }
	}

	object { pino_2 }

	object { pa_1 }
	object { pa_1 rotate z+90 }

	rotate  z+100
}



difference 
{
	object { xic_1 }
	object { xic_2 }	
}

// Borra do Cafe
difference
{
	object { xic_2 }
	object { caf }
}
	
}

#include "camlight.inc"
camlight(<0,0,0>,<10.00,-3.00,10.00>,1.25,-y,1.0)