// Last edited on 2019-07-15 23:55:13 by stolfilocal
// Processed by remove-cam-lights

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

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

#declare tx_fosca =
  texture{
    pigment{ color rgb < 1.00, 0.80, 0.10 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_espelho =
  texture{
    pigment{ color rgb < 1.00, 0.85, 0.30 > }
    finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 }
  }

#declare tx_vidro =
  texture{
    pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 }
    finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 }
  }

#declare tx_xadrez =
  texture{
    pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > }
    finish{ diffuse 0.9 ambient 0.1 }
    scale 2.0
  }

#macro Make_No(nVoltas,raio,espacamento)
  union{
  #declare i=0;
  #while(i<nVoltas)
    #declare j=0;
    #while(j<(1/espacamento))
      #declare centro = <cos(j),sin(j),j>;
      sphere{
        centro,raio
        texture{tx_plastico}
        translate<i,i,i>
      }
      #declare j = j+espacamento;
    #end
    #declare i=i+1;
  #end

  cylinder{<cos(0),sin(0),0>, <-cos(0),-sin(0),0>, raio texture{tx_plastico}}
  cylinder{<-cos(j),-sin(j),j>, <cos(j),sin(j),j>, raio texture{tx_plastico}}
  #while(i>0)
    #declare j=1/espacamento;
    #while(j>0)
      #declare centro = <-cos(j),-sin(j),j>;
      sphere{
        centro,raio
        texture{tx_plastico}
        translate<i,i,i>
      }
      #declare j = j-espacamento;
    #end
    #declare i=i-1;
  #end
  }
#end

#include "eixos.inc"

// object{ eixos(10) }

Make_No(1,0.3,0.1)

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 5.00 >;
#declare raio_cena = 10.0;
#declare dir_camera = < +20, +20, +20 >;
#declare dist_camera = 5*raio_cena;
#declare intens_luz = 1.20;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)