// Last edited on 2019-07-17 01:54:20 by stolfilocal
// Processed by remove-cam-lights

background{ color rgb < 0.8, 0.7, 0.5 > }

#declare tx_corda =
    texture{
     pigment{ color rgb < 0.9, 0.4, 0.2 > }
     finish{ diffuse 0.9 ambient 0.1 }
}

#include "eixos.inc"

#macro interpola_linear(T,T0,T1,P0,P1)
  (P0+(T0+T/(T1-T0))*(P1-P0))
#end

#macro interpola_3d(T, T0, T1, P0, P00, P1, P11)
  (P0*pow((1-(T0+T/(T1-T0))),3) + P00*3*(T0+T/(T1-T0))*pow((1-(T0+T/(T1-T0))),2) + 3*P11*pow((T0+T/(T1-T0)),2)*(1-(T0+T/(T1-T0))) + pow((T0+T/(T1-T0)),3)*P1)
#end

#macro faz_no(P1, P2)
  union{
    #local T = 0;
    #local PM = (P1+P2)/2;
    #local PM2 = (PM+P2)/2;

    #while (T<=1000)

      object{ sphere {
        interpola_3d(T,0,1000,P1,PM+<15,-3,10>,PM,P1+<-15,5,0>),
        0.2
        texture {tx_corda}}}

      object{ sphere {
        interpola_3d(T,0,1000,PM,PM+<10,-5,1>,P2,P1+<-10,2,8>),
        0.2
        texture {tx_corda}}}

      #declare T = T+1;
    #end
  }
#end

union{

        object{ faz_no(<0,0,0>, <10,0,0>) }
}

// object{ eixos(5) }
#include "camlight.inc"
#declare centro_cena = < 4.00, 0.00, 2.00 >;
#declare raio_cena = 7.2;
#declare dir_camera = < 2,3,1 >;
#declare dist_camera = 5*raio_cena;
#declare intens_luz = 1.20;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)