// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2003-09-04 15:25:26 by stolfi

// ======================================================================
// CÂMERA 

camera {
  location  <  8.00, 4.00, 2.00 >  // Posição do observador.
  right     -0.75*x           // Largura RELATIVA da imagem.
  up        1.00 *y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at  0.3* <  0.00, 0.00, 7.5 >  // Para onde a câmera está apontando.
} 
// Nota: os parâmetros "right" e "up" devem ter a mesma proporção
// que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile.

// ======================================================================
// FONTES DE LUZ

light_source {
  10 * < +50.0, +30.0, +50.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  10 * < +50.0, +10.0, +10.0 >             // Posição da lâmpada.
  color rgb 0.8 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

// ======================================================================
// DESCRIÇÃO DA CENA 

background{ color rgb <0, 1.0, 0.0 > }

#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.0, 0.8 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare cor_coroa= color rgb <1, 1, 0.0>;
#declare tx_coroa=
	texture{
		pigment {rgb cor_coroa}
	finish{ ambient 0.65 diffuse 0.05
		specular 0.20 roughness 0.05}
}
  

#declare coroa=
lathe {
    linear_spline
    8,
    0.3*<2,0>, 0.3*<5,2>, 0.3*<8,4>,0.3*<5,6>,0.3*<8,8>,0.3*<5,10>,0.3*<3,10>,0.3*<0,15>
	rotate 90*x
    texture { tx_coroa }

   }
#declare thorus =
torus{
0.3*7,0.3*2
rotate 90*x
texture { tx_coroa}
}

#declare pedra1=
	box{
	0.3*	<0,-0.5,11.5>,
	0.3*	<0,0.5,12.5>
		texture{tinta_B}
rotate 60*x

}


#declare cilindro = 
  cylinder {
   0.3* < 0, 0, -3 >,
   0.3* < 0, 0,-9 >,
    0.6
    texture { tx_coroa }
  }
  

#declare cone1 =
	cone{
	0.3*	<0.0,-6,0>,
		0.9
	0.3*	<0,-10,0>,
		0.00
		texture{tinta_B}
}

#declare cone2 =
	cone{
	0.3*	<0,6,0>,
		0.9
	0.3*	<0.00,10,0>,
		0.00
		texture{tinta_B}
}

#declare caixa =
	box{
	0.3*	<3.0,-6.00,-3.00>,
	0.3*	<-3.0,6.00,3.00>
		texture{tinta_A}
}

#declare cone3 =
	cone{
	0.3*	<0,6,15>,
		0.9
	0.3*	<0.00,2,15>,
		0.0
		texture{tinta_B}
}

#declare cone4 =
	cone{
	0.3*	<0,-6,15>,
		0.9
	0.3*	<0.00,-2,15>,
		0.0
		texture{tinta_B}
}

#declare caixa2 =
	box{
	0.3*	<3.0,-6.00,12.00>,
	0.3*	<-3.0,6.00,18.00>
		texture{tinta_A}
}

#declare cilindro3 = 
  cylinder {
   0.3* < 0, 0, 12 >,
   0.3* < 0, 0,18>,
    0.9
    texture { tinta_B }
  }

  
// Aqui está a cena, finalmente:

//difference { 
  union {
	//object { caixa }
	//object { cone1 }
	//object {cone2}
	//object{cilindro}
	//object{cone3}
	//object{cone4}
	//object{caixa2}
	//object{cilindro3}
	object{coroa}
	object{thorus}
	//object{pedra1}
    }
// object { bola }
//}