// Last edited on 2009-07-23 13:48:23 by stolfilocal
// Processed by remove-cam-lights

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

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.2, 0.2, 0 > }
    finish { diffuse 0.8 ambient 0.8 specular 0.9 reflection 0.3}
  }

#declare e = 1;
#declare tt = 1/2;
#declare altura_final = 1;  
  
#macro Sierp(n)
       #if (n = 0)
union{
  cylinder {<0 ,0 ,0>,<0 ,0, e>, 0.2 texture {tinta_A} translate<-1,1,0>}
  cylinder {<0 ,0 ,0>,<0 ,0, e>, 0.2 texture {tinta_A} translate<1,1,0>}
  cylinder {<0 ,0 ,0>,<0 ,0, e>, 0.2 texture {tinta_A} translate<-1,-1,0>}
  cylinder {<0 ,0 ,0>,<0 ,0, e>, 0.2 texture {tinta_A} translate<1,-1, 0>}
  box {<0, 0, 0>, <2, 0.1, e - 0.2> texture {tinta_A} translate<-1,1,0>}
  box {<0, 0, 0>, <2, 0.1, e - 0.2> texture {tinta_A} translate<-1,-1,0>}
  box {<0, 0, 0>, <0.1, 2, e - 0.2> texture {tinta_A} translate<-1,-1,0>}
  box {<0, 0, 0>, <0.1, 2, e - 0.2> texture {tinta_A} translate<1,-1,0>}
}
     #else
    union{
    
  object{Sierp(0)}
  object{Sierp(n-1) scale<tt,tt,1.18>}
  #declare altura_final = altura_final*1.18;
  }
 #end
#end

#declare N = 4;

object{Sierp(N)}
object{cylinder {<0 ,0 ,0>,<0 ,0, altura_final>, 0.03 texture {tinta_A}}}
object{cone {<0, 0, 0>, 0.1, <0, 0, 0.6>, 0 texture {tinta_A}} translate<0,0,altura_final>}

// Original camera parameters:
// #local cam_ctr = <1.00,2.00,0.00>
// #local cam_vec = (<-2,-4,4.0>-<1.00,2.00,0.00>)
// #local cam_sky = z

#include "camlight.inc"
camlight(<1,1,0.75*altura_final>,<10,7,5>,4.0,z,1.0)