// POV-Ray 3.7 Scene File "povloopa.pov"
// author: Friedrich A. Lohmueller,2003/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  50
                        location  < 5.0 , 6.0 ,-8.0>
                        look_at   < 0.5 , 0.5 ,  0.0>}
#declare Cam2 = camera {ultra_wide_angle angle  55
                        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.6,0,0.2> }
                          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>,0.5 scale <1,1,1>  translate<0,0,0> 
 texture{ pigment{ color rgb<1,0.60,0.0>}
          finish { phong 1}}}
//---------------------------------------------------

#declare Radius0 = 3.0; //basic radius
#declare NR =  9;       //number of revolutions
#declare NpR=100;       //number of elements p.rev. 
#declare Scale=0.75;    //per revolution
#declare HpR=0.80; //difference in y direction p.rev
//---------------------------------------------------
#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
