// Last edited on 2003-08-01 12:26:21 by stolfi

background { color rgb < 0.30, 0.20, 0.15 > }

camera {
  location  0.83*<  120.00, 100.00, 80.00 >  // Posição do observador.
  right     -1.0*x                 // Largura RELATIVA da imagem.
  up        0.75*y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at   <  0.00, 0.00, 15.00 >  // 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 {
  100 * < +20.0, +70.0, +120.0 >              // Posição da lâmpada.
  color rgb 1.4 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  100 * < +50.0, -5.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 

#declare raio = 2.000;

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

#declare cor_2 = 
  texture {
    pigment { color rgb < 1.00, 0.80, 0.10 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }
  
#declare sentador = 
  box {
    < 0,0,0 >,
    < 40,30,20 >
	
    texture {	
	cor_1
    }
  }

#declare encosto = 
  box {
    < 0,4,24 >,
    < 40,10,44 >
	
    texture {	
	cor_1
    }
  }

#declare braco_esquerdo = 
  cylinder {
    < 2, 16, 24 >,
    < 2, 32, 24 >,
    4
    texture { 
        cor_2 
    }
  }

#declare braco_direito = 
  cylinder {
    < 38, 16, 24 >,
    < 38, 32, 24 >,
    4
    texture { 
        cor_2 
    }
  }

#include "colors.inc"
#declare encosto_cabeca = 
   torus { 5, 2        // major and minor radius

    //rotate -90*x      // so we can see it from the top

    translate 20*x
    translate 8*y
    translate 50*z

    pigment { 
	Green
    }

  }
  
difference { 
  union {
     object { sentador }
     object { encosto }
     object { braco_esquerdo }
     object { braco_direito }
     object { encosto_cabeca }
  }
}