global_settings
{
assumed_gamma 1.0
}
#include "colors.inc"
#include "glass.inc"
#local zoom=0;
// ----------------------------------------
camera
{
location <0, 45, 90>
angle 20
look_at <0.0, 0.0, 0.0>
}
light_source
{
0*x // light's position (translated below)
color rgb <1,1,1> // light's color
translate <2000, 2000, -1000>
}
light_source
{
0*x // light's position (translated below)
color rgb <1,1,1>*0.5 // light's color
translate <2000, -1000, -1000>
}
light_source
{
0*x // light's position (translated below)
color rgb <0.6,0.6,0.6> // light's color
translate <-2000, 2000, 1000>
}
#default{ texture{ finish { ambient .1
diffuse .6
phong .75
phong_size 50
}
}
}
#declare helixPos = <2,0,0>;
#declare step = 0;
#declare tt = 0;
union{
object{
union{
#while(step<300/2.3*100)
#local helixPosNext = vaxis_rotate(helixPos,y,3.6)+<0,2.3/100,0>;
#if(step>100*8)
#local helixPosNext = helixPosNext+<0,2.3*2/100,0>;
#end
cylinder{
<helixPos.x*5,helixPos.y,helixPos.z*5>,
<helixPosNext.x*5,helixPosNext.y,helixPosNext .z*5>,
0.3
scale <1/5,1,1/5>
texture{pigment{color rgb<1,0.7,0>}
}
}
#declare helixPos = helixPosNext;
#declare step=step+1;
#end
}
}
#declare step = 0;
object{
union{
#while(step< (300/2.3*(360/16.3)*2/20) )
#if ( (step< (300/2.3*(360/16.3)*2/40) ) )
sphere{0, 3.5
translate 5.5*x
scale <1,0.2,0.3>
rotate(360/16.3)*step*y
#local transY = (2.3/(360/16.3)/2)*(step+8);
translate transY *y
texture{pigment{color rgb<0,0,1>} }
}
#else
#if ( step= 217)
sphere{0, 3.5
translate 5.5*x
scale <1,0.2,0.3>
rotate(360/16.3)*step*y
#local transY = (2.3/(360/16.3)/2)*(step+8);
translate transY *y
texture{pigment{color rgb<0,0,1>} }
}
#end
#if ( step= 219)
sphere{0, 3.5
translate 5.5*x
scale <1,0.2,0.3>
rotate(360/16.3)*step*y
#local transY = (2.3/(360/16.3)/2)*(step+8);
translate transY *y
texture{pigment{color rgb<0,0,1>} }
}
#end
#if ( step= 282)
sphere{0, 3.5
translate 5.5*x
scale <1,0.2,0.3>
rotate(360/16.3)*step*y
#local transY = (2.3/(360/16.3)/2)*(step);
translate transY *y
texture{pigment{color rgb<0,0,1>} }
}
#end
#end
#declare step=step+1;
#end
}
// texture{pigment{color rgb<0,0,1>} }
}
//translate -150*y
translate -10*y
//rotate -90*z
rotate 0*y
no_shadow
}
//scale
union{
triangle{0,<300 ,0,0>,<0,2,0>}
triangle{<300 ,2,0>,<300 ,0,0>,<0,2,0>}
translate <-150,-23, 0>
}