// Dancing robot by Carlos Camolesi 14/08/03
// Last edited on 2003-10-14 23:40:05 by stolfi
// 

background{ color rgb < 1.00, 1.00, 1.00 > }

#declare ctr = <  -1.50, 0.00, 0.00 >;
#declare camdir = < 3.00, -2.00, 1.00 >;
camera {
  location  ctr + 7.2*camdir
  right     -0.60*x
  up        0.80*y
  sky       z
  look_at   ctr
} 

light_source {
  100*< 3.00, -10.00, 5.00 >
  color rgb 1.2*< 1.00, 1.00, 1.00 >
} 

light_source {
  100*< 10.00, -2.00, 30.00 >
  color rgb 0.6*< 1.00, 1.00, 1.00 >
} 

light_source {
  100*< 10.00, 2.00, 5.00 >
  color rgb 0.4*< 1.00, 1.00, 1.00 >
} 

#declare raio = 2.000;

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.10, 0.80, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_B = 
  texture {
    pigment { color rgb < 1.00, 0.80, 0.10 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_P =
  texture {
    pigment { color rgb < 0.00, 0.00, 0.00> }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}


#declare tinta_R =
  texture {
    pigment { color rgb < 1.00, 0.00, 0.00> }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}



#declare tinta_G =
  texture {
    pigment { color rgb < 0.00, 1.00, 0.00> }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
}

#declare corpo =
	sphere {
	<0.00, 0.00, 0.00> 4.00
	texture{ tinta_R }
}	

#declare cabeca =
	sphere {
	<0.00,0.00,6.00>2.00
	texture {tinta_G}
}	


	
#declare saia = difference {	
	cone {
	<0.00,0.00,-3.0>,5.00,	<0.00,0.00,-1.00>,4.00
	texture { tinta_R}
	 }		
	cone {	
	<0.00,0.00,-4.0>,4.50,	<0.00,0.00,-1.00>,3.00
	texture { tinta_G}
}
}

#declare manga_e = union {
	

	sphere {
	<0.00 , 0.00, 0.00> 1.50
	texture { tinta_A}
	translate <0.0 4.00,3.00>
 	}
	
	cylinder { <0.00,5.00,0.00> <0.00, 5.00, 4.00> .50
				
	rotate 45*x
	translate <0.0, 4.00, -4.00>
	texture {tinta_R}
	}
}


#declare manga_d = union {
	

	sphere {
	<0.00 , 0.00, 0.00> 1.50
	texture { tinta_A}
	translate <0.0, -4.00,3.00>
 	}
	
	cylinder { <0.00,5.00,0.00> <0.00, 5.00, 4.00> .50
				
	rotate 315*x
	translate <0.0, -11.00, 3.00>
	texture {tinta_R}
	}
	
	
	sphere {
	<0.00 , 0.00, 0.00> .50
	texture { tinta_A}
	translate <0.0, -7.50,0.00>
 	}
		
	
	cylinder { <0.00,5.00,0.00> <0.00, 5.00, 2.00> .50
				
	rotate 45*x
	translate <0.0, -10.00, -6.00>
	texture {tinta_R}
	}
	
	
}


#declare seio_d =
	sphere {
	<3.00,-1.50,2.50> 1.50
	texture {tinta_A}
}		


#declare seio_e =
	sphere {
	<3.00,1.50,2.50> 1.50
	texture {tinta_A}
}		
	

// Aqui está a cena, finalmente:

union {
object {cabeca}
object { corpo}
object { seio_d}
object {seio_e}
object {saia}
object {manga_e}
object {manga_d}
}