// 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 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