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

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

#declare raio = 2.000;

#declare cor_Amarela = <1, 0.8, 0.1>;

#declare tinta_Amarela =
  texture {
    pigment { rgb cor_Amarela }
    finish {
      ambient 0.05 diffuse 0.55
      reflection 0.4 * cor_Amarela
      specular 0.2 roughness 0.05
    }
  }

#declare cor_Verde = < 0.1, 1.00, 1.00 >;

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

#declare cor_Vermelha = < 1.00, 0.10, 0.10 >;

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

#declare base =
  torus {
    3.5,0.2
    texture { tinta_Amarela }
    rotate 90*x
  }

#declare cilindro1 =
  cylinder {
    < 2, 5.00, 2 >,
    < 2, -5.00, 2 >,
    1
    rotate 110*z
    texture { tinta_Amarela }
  }

#declare cilindro2 =
  cylinder {
    < -1.75, 5.00, 2 >,
    < -1.75, -5.00, 2 >,
    1
    rotate 110*z
    texture { tinta_Amarela }
  }

#declare corpo =
  lathe {
    linear_spline
    5,
    <3.5,1.5>, <3.5,0>, <3,0>, <3,1.5>, <3.5,1.5>
    texture { tinta_Amarela }
    rotate 90*x
  }

#declare pedraMaior =
  lathe {
    linear_spline
    4,
    <0,0.75>, <0.25,0.5>, <0.25,0.25>, <0,0>
    texture { tinta_Vermelha }
    rotate 90*x
    translate <3.2,1.3,0.75>
  }

#declare pedra =
  lathe {
    linear_spline
    3,
    <0,0.5>, <0.25,0.25>, <0,0>
    texture { tinta_Verde }
    interior { ior 1.6  }
    rotate 90*x
    translate <3.2,1.3,0.2>
  }

plane { z,-1.4
  texture{
    pigment { checker <0.5,0.5,0.5>, <1,1,1> }
    finish { ambient 0.6 diffuse 0.4 }
    scale 5
  }
}

union{
  union{
    union{
      union{
        difference{
          difference{
            union{
              object { base }
              object { corpo }
            }
            object { cilindro1}
          }
          object { cilindro2 }
        }
        object { pedra }
      }
      object { pedra rotate 40*z }
    }
    object { pedra rotate -40*z }
  }
  object { pedraMaior }
}

#include "camlight.inc"
camlight(<0,0,0>,<8.00,4.00,3.00>,1.30,z,1.0)