// Last edited on 2007-07-22 22:15:42 by stolfi

background{ color rgb < 0.90, 0.80, 0.80 > }

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


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

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


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

#declare tinta_chao = 
  texture {
    pigment { color rgb < 0.80, 0.70, 0.70 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare tinta_cafe = 
  texture {
    pigment { color rgb < 0.20, 0.08, 0.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.005 ambient 0.2 }
  }

#declare cabeca =
  sphere {
    < 0.00, 0.00, 4.00 >, 1.00 
    texture { tinta_laranja }
  }


#declare corpo =
  cylinder {
    < 0.00, 0.00, 3.00 >,
    < 0.00, 0.00, 4.00 >,
    1.00
    texture { tinta_azul }
  }

#declare suporte =
  box {
    < -0.50, 1.00, 0.0 >,
    < 0.50, 1.20, 3.50 >
    texture { tinta_laranja }
}

#declare eixo_1 =
  box {
    < -0.50, 1.00, 3.00 >,
    < 0.50, 1.20, 4.00 >
    texture { tinta_laranja }
}

#declare eixo_2 =
  cylinder {
    < 0.00, 0.90, 3.50 >,
    < 0.00, 1.30, 3.50 >,
    0.50
    texture { tinta_laranja }
  }

#declare parafuso =
  sphere {
    < 0.00, 1.10, 3.50 >, 0.30 
    texture { tinta_cinza }
  }


#declare haste =
  cylinder {
    < 0.00, 0.00, 2.00 >,
    < 0.00, 0.00, 3.00 >,
    0.10
    texture { tinta_cinza }
  }

#declare pa_1 =
  box {
    < -0.10, -0.40, 1.00 >,
    < 0.10, 0.40, 2.00 >
    texture { tinta_cinza }
}

#declare pa_2 =
  box {
    < -0.20, -0.30, 1.10 >,
    < 0.20, 0.30, 1.90 >
    texture { tinta_cinza }
}

#declare chao = 
  box {
    < -4.00, -6.00, -0.20 >,
    < 4.00, 5.00, 0.00 >
    texture { tinta_chao }
}

#declare chicara_1 =
  sphere {
    < 0.00, 0.00, 1.00 >, 1.00 
    texture { tinta_chicara }
  }

#declare chicara_2 =
  sphere {
    < 0.00, 0.00, 1.50 >, 1.10 
    texture { tinta_chicara }
  }

#declare chicara_3 =
  cylinder {
    < 1.00, -0.05, 0.60 >,
    < 1.00, 0.05, 0.60 >,
    0.40
    texture { tinta_chicara }
  }

#declare chicara_4 =
  cylinder {
    < 1.00, -0.06, 0.60 >,
    < 1.00, 0.06, 0.60 >,
    0.20
    texture { tinta_chicara }
  }

#declare chicara_chao = 
  box {
    < -4.00, -6.00, -0.50 >,
    < 4.00, 5.00, 0.00 >
    texture { tinta_chicara }
}

#declare cafe_1 =
  sphere {
    < 0.00, 0.00, 1.50 >, 1.10 
    texture { tinta_cafe }
  }

#declare cafe_2 = 
  box {
    < -2.00, -2.00, 0.80 >,
    < 2.00, 2.00, 3.50 >
    texture { tinta_cafe }
}

// cena

difference {
	object { cabeca }
	object { corpo }
}

object { corpo }
object { suporte }

intersection {
	object { eixo_1 }
	object { eixo_2 }
}


object { parafuso }

union {
	object { haste }

	difference {
		object { pa_1 }
		object { pa_2 }
	}
}

object { chao }

difference {
	object { cafe_1 }
	object { cafe_2 }
}

difference { 

	union {
		difference { 
			object { chicara_1 }
			object { chicara_2 }
		}

		difference {
			difference {
				object { chicara_3 }
				object { chicara_4 }
			}
			object { chicara_2 }
		}
	}
	object { chicara_chao }
}


#include "camlight.inc"
camlight(<0,0,2.5>,<10,-10,5>,0.35,z,1.0)