// POV-Ray 3.7 Scene File "povloopb.pov"
// author: Friedrich A. Lohmueller,2004/Aug-2009
// homepage: www.f-lohmueller.de
//
#if (version < 3.7) global_settings{ assumed_gamma 1.0 } #end
#default{ finish{ ambient 0.1 diffuse 0.9 }} 

// uses "axis_xyz.inc" 

#include "colors.inc"
#include "textures.inc"
//----------------------------------------------------------------------
// camera --------------------------------------------------------------
#declare Cam1 = camera {ultra_wide_angle angle  20
                        location  < 5.0 , 6.0 ,-8.0>
                        look_at   < 0.5 , 0.4 ,  0.0>}
#declare Cam2 = camera {ultra_wide_angle angle  25
                        location  <12.0 , 5.0 ,-5.0>
                        look_at   < 2.0 , 2.0 , 0.0>}
camera{Cam1}
// sun -----------------------------------------------------------------
light_source{<1800,2500,-2500> color White}
//----------------------------------------------------------------------
// background -------------------------------
#declare Orange_Yellow = color rgb<1,0.70,0>;
sphere{<0,0,0>,1 hollow
       texture{pigment{gradient <0,1,0>
                       color_map{[0.0 color Orange_Yellow]
                                 [0.1 color Orange_Yellow]
                                 [0.5 color White]
                                 [0.9 color Orange_Yellow]
                                 [1.0 color Orange_Yellow]}
                       quick_color White
                       scale 2 translate<0,-1,0> }
               finish {ambient 1 diffuse 0}
              }
       scale 10000}
// ---------------------------------------------------------------------
#include "AxisXYZ.inc"
#declare RED   = texture{ pigment{ color rgb<0.85,0,0.20> }
                          finish { phong 1}}
#declare WHITE = texture{ pigment{ color rgb<1,1,1> }
                          finish { phong 1}}
object{ AxisXYZ (4.5, 3, 6.5,  RED, WHITE)}

//----------------------------------------------------------------------
#declare Ball = 
 sphere  {<0,0,0>,1.00 scale <1,1,1>  translate<0,0,0> 
 texture{ pigment{ color rgb<1,0.65,0.0>}
          finish { phong 1}}}

#declare Radius0     = 3.5;
#declare NR = 9;//number of revolutions
#declare NpR  = 50;//number of elements per revolution 
#declare Scale  = 0.55; //per revolution
#declare HpR    = 0.00;
//--------------------------------------------------
#local Hd       = HpR/NpR;
#local Scale_p  = pow(Scale,1/360);
#local Scale_pE = pow(Scale_p,360/NpR);

#local Old_S = Scale_pE;
#local Old_H = Hd;
union{
#declare Nr = 0;         // start
#declare EndNr = NR*NpR; // end
#while (Nr< EndNr) 
 object{Ball 
        translate<Radius0,0,0> 
        scale Old_S 
        translate<0,Old_H,0> 
        rotate<0,Nr * 360/NpR ,0>} 
 
 #declare Nr = Nr + 1;  // next Nr
 #declare Old_S = Scale_pE*Old_S;
 #declare Old_H = Old_H+Hd*Old_S;

#end // --------------- end of loop -----------------
rotate<0,0,0>}

//------------------------------------------------------------- end
