// Last edited on 2005-01-05 21:54:47 by stolfi
// Processed by remove-cam-lights

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare raio = 2.000;

#declare cor_safira = < 0, 0.6, 1.0 >;

#declare tex_safira =
  texture {
    finish {
      ambient 0.1 diffuse 0.1 reflection 0.25
      specular 1 roughness 0.001
    }
    pigment { color cor_safira filter 1 }
  }

#declare cor_esmeralda = < 0, .7, 0.00 >;

#declare tex_esmeralda =
  texture {
    finish {
      ambient 0.1 diffuse 0.1 reflection 0.25
      specular 1 roughness 0.001
    }
    pigment { color cor_esmeralda filter 1 }
  }

#declare vermelho =
  texture {
    pigment { color rgb < 1.0, 0, 0 > }
    finish { diffuse 0.3 specular 0.05 roughness 0.5 ambient 0.1 }
  }

#declare cor_ouro = < 1.0, 0.5, 0.00 >;

#declare tex_ouro =
  texture {
    finish {
      ambient 0.05 diffuse 0.05 reflection cor_ouro
      specular 0.2 roughness 0.05
    }
    pigment { color cor_ouro }
  }

#declare esmeralda =
  sphere {
    < 0.00, 0.00, 0.00 >, 0.7
    texture { tex_esmeralda }
    interior { ior 1.5 }
  }

#declare bola =
  sphere {
    < 0.00, 0.00, 0.00 >, 0.75
    texture { tex_ouro }
    interior { ior 1.5 }
    translate <0,0,4.5>
  }

#declare base =
  lathe {
    linear_spline
    3,
    <0,0>, <4,0>, <4,1.5>
    texture { tex_ouro }
    finish {
      ambient .3
      phong .75
    }
    rotate 90 * x
    translate <0,0,-1.5>
  }

#declare topo =
  lathe {
    linear_spline
    6,
    <3.9,0>, <3.9,1>, <3.75,1.25>, <2.5, 2.5>, <1, 3> , <0.5,3.5>
    texture { vermelho }
    finish {
      ambient .3
      phong .75
    }
    rotate 90 * x
  }

#declare chao =
  plane {z,-5
    texture {
      pigment {checker <0.5,0.5,0.5>, <1,1,1> }
      finish  {ambient 0.6 diffuse 0.4}
      scale 3
    }
  }

#declare furo =

  sphere {
      < 1.00, 1.00, 1.00 >, 1.50
    texture { tex_safira }
  }

#declare pino =
  cylinder {
    < -2.00, +2.00, -1.00 >,
    < +2.00, -2.00, +1.00 >,
    0.75
    texture { tex_safira }
  }

#declare quadro =
  box {
    < 0.00, 0.00, 0.00 >,
    < 0, +1.5, +1.5 >
    texture { tex_ouro }
    rotate 45 * x
    translate <3.95,0,-0.3>
  }

#declare box_safira =
  box {
    < 0.00, 0.00, 0.00 >,
    < 0.1, +1, +1 >
    texture { tex_safira }
    rotate 45 * x
  }

declare safira =
  union {
    object {box_safira}
    object {box_safira scale 0.8 translate <0.1,0,0>}
  }

#declare circulo =
  torus {
    1, 0.5
    rotate -90*x
    texture { tex_ouro }
    translate <0,0,3.5>
  }

  object { base }
  object { chao }
  union {
    object { topo }
    object {circulo}
    object {bola}
    translate <0,0,-0.8>
  }
  object {quadro }
  object {quadro rotate -90 * z}
  object {quadro rotate 90 * z}
  object {quadro rotate 180 * z}
  object {safira translate <3.95,0,0.1>}
  object {esmeralda translate <3.6,0,-0.8>}

#include "camlight.inc"
camlight(<0,0,0>,<16.00,2.00,5.00>,0.90,z,1.0)