#include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions camera { location<0,0,-25> look_at<0,0,0> right up y } light_source { <2000,2000,-2000> color White } light_source { <-2000,2000,-2000> color White } background { color SkyBlue } #declare R1 = seed(360); #declare HeightStep=.15; #declare CountStep=5; union { #declare Count2 = 0; #while (Count2 < 50) union { #declare Height=0; #declare Count = 0; #while (Count < 360) #declare Here=<3,Height,0>; #declare cPoint=<0,0,0>; #declare Amount=<0,Count,0>; #declare NewPoint=vrotate(Here,Amount); #declare NewPoint=; #declare There=<3,Height+HeightStep,0>; #declare ThereAmount=<0,Count+CountStep,0>; #declare NextPoint=vrotate(There,ThereAmount); #declare NextPoint=; #if(Count<360-CountStep) cylinder { NewPoint,NextPoint,.2 } sphere { NextPoint,.2 } #end //cylinder { ,,.05 } //cylinder { ,,.05 } //cylinder { ,,.05 } //cylinder { ,,.05 } #declare sHere=<.4,0,0>; #declare sAmount=<0,rand(R1)*360,0>; #declare sPoint=vrotate(sHere,sAmount); //#declare sPoint= union { sphere { sPoint,.08 translate NewPoint } cylinder { sPoint+NewPoint,NewPoint,.02 } texture { Polished_Brass } } #if(Count>=360-CountStep) //cylinder { NextPoint,,.1 } cone { NewPoint,.2,NextPoint,.4 } #end #declare Height=Height+HeightStep; #declare Count = Count + CountStep; #end //translate<-3,0,0> rotate } #declare Count2 = Count2 + 1; #end #declare Count3 = 0; #while (Count3 < 300) cone { <0,4,0>,.5,<0,4+(rand(R1)*4),0>,.001 rotate } #declare Count3 = Count3 + 1; #end sphere { <0,0,0>,5 } texture { Aluminum } //pigment { color White } }