// Alex Kluchikov, 2004 // mailto: klkspa[at]ukr.net, aklk[at]mail.ru // Feel free to modify/use in any form global_settings { noise_generator 3 max_intersections 18 max_trace_level 18 } sphere{0,1000 texture{ pigment{ gradient y color_map{ [0,color rgb <0.8,0.83,1>] [1,color rgb <0.4,0.7,1>] }scale 2 translate -y}finish{ambient .4 diffuse .8}scale 1000} texture{ pigment{average pigment_map{ #declare gr=.75; #declare ge=3/(1+gr+gr); #declare t1=.1; #declare t2=.9; #declare tr1=-.2; #declare tr2=.2; [1,bozo translate 1*y color_map{ [t1,color rgbt < 1,gr,gr,tr1>*ge] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*z color_map{ [t1,color rgbt < gr, 1,gr,tr1>*ge/.85] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*x color_map{ [t1,color rgbt < gr,gr, 1,tr1>*ge/.7] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] }}scale 0.25 finish{ambient .4 diffuse .8}scale 2500} no_shadow no_image //no_reflection hollow double_illuminate scale 100} #declare st=texture{pigment{color rgb<0.83,0.82,0.84>*1.2} finish{diffuse 0.85 ambient 0 specular 0.8 roughness 0.03 phong 1.0 brilliance 7.3 phong_size 80 metallic .5 reflection{0.6,1.0 metallic}} } #declare pla=texture{ pigment{color rgb 1} finish{diffuse 1. phong 1. phong_size 80 reflection{.1,.3} } //normal{bozo .3 scale .01} } #declare area=1; #declare areacount=11; #declare areadacount=4; #declare areasize=10; #declare mul=.76; #declare le=10; light_source{ -le*z, color rgb <1.0,0.8,0.6>*0.75*mul #if(area) area_light x*areasize,y*areasize,areacount,areacount jitter adaptive areadacount circular orient #else parallel #end rotate x*35 rotate -y*65 } light_source{ -le*z, color rgb <0.6,0.8,1>*0.75*mul #if(area) area_light x*areasize,y*areasize,areacount,areacount jitter adaptive areadacount circular orient #else parallel #end rotate x*45 rotate y*145 } light_source{ -le*z, color rgb 0.25*mul #if(area) area_light x*areasize,y*areasize,areacount,areacount jitter adaptive areadacount circular orient #else parallel #end rotate x*15 rotate y*75 } camera{ // orthographic // spherical location -5*z look_at 0 angle 60 translate -y*.6 rotate x*35 // rotate y*60 } camera{ // orthographic location -5*z look_at 0 up 576/1000*y right 720/1000*x angle 50 rotate x*32 rotate -y*35 } #declare pump=union{ cylinder{ 0,y*3,1 texture{pla pigment{color rgb <1,.2,.4>}} } cylinder{ y*2.9,y*3.4,1.1 texture{st normal{ gradient y normal_map{ [0,radial 0 sine_wave frequency 100] [.1,radial .3 sine_wave frequency 100] [.9,radial .3 sine_wave frequency 100] [1,radial 0 sine_wave frequency 100] } scale .5 translate y*2.9 } } } difference{ cylinder{ y*3.3,y*3.5,1 } cylinder{ y*3.2,y*3.6,.25 } texture{st} } torus{1.05,.05 translate y*2.9 texture{st} } torus{.25,.05 translate y*3.45 texture{st} } torus{1.00,.1 translate y*3.4 texture{st} } cylinder{y*3.4,y*4.5,.15 texture{st} texture{ pigment{bozo noise_generator 3 scale .1+y color_map{[0,color rgb 0][1,color rgb 0 transmit 1]}} finish{diffuse 0} } } cylinder{ y*.1,y*.6,1.1 texture{st normal{ gradient y normal_map{ [0,radial 0 sine_wave frequency 100] [.1,radial .3 sine_wave frequency 100] [.9,radial .3 sine_wave frequency 100] [1,radial 0 sine_wave frequency 100] } scale .5 translate y*.1 } } } torus{1.05,.05 translate y*.6 texture{st} } torus{1.0,.1 translate y*.1 texture{st} } union{ cylinder{-x*.3,x*.3,.4} torus{.35,.05 rotate z*90 translate x*.3} torus{.35,.05 rotate z*90 translate -x*.3} translate y*4.5 texture{st} } #include "colors" #include "woods" union{ cone{x*.3,.31,x*1.5,.35} torus{.3,.05 rotate z*90 translate x*1.5} cylinder{x*1,x*1.55,.3} translate y*4.5 texture{pla} } union{ cone{x*.3,.31,x*1.5,.35} torus{.3,.05 rotate z*90 translate x*1.5} cylinder{x*1,x*1.55,.3} scale -x translate y*4.5 texture{pla} } union{ cylinder{-x,x,1} torus{.9,.1 rotate z*90 translate x} torus{.9,.1 rotate z*90 translate -x} rotate y*90 scale .25 translate -z*1.33+y*.3 texture{st} } #declare i=0; #while(i<1) sphere{0,.177+sin(i*pi*7)*.02 texture{pla pigment{color rgb .8}} translate -z*1.58+y*.3 translate -z*i*4-x*i*i*2} #declare i=i+1/500; #end } object{pump translate -1.5*y scale .4} disc{-.585*y,-y,16 texture{pla pigment{color rgb <1,.9,.7>*1}} no_shadow }