#declare ps=seed(2); camera { location <0,4,-10> // location <0,70,0> look_at <0,1,0> } //sphere { // <0,4,-10> // 1 // pigment { color rgb <1,0,1> } //} light_source { <-10,40,-40> color rgb <1,1,1> } sky_sphere { pigment { granite color_map { [0.0 color rgb <0,0,1>] [0.4 color rgb <0,0,1>] [1.0 color rgb <1,1,1>] } } } difference{ plane { <0,1,0> 0 } lathe { quadratic_spline 6 <8,.1> <6,.1> <5.5,-.8> <5,-1> <3,-2> <0,-3> scale .5 translate <-2,0,0> } pigment { color rgb <1,.7,0> } normal { granite .2 } } plane { <0,1,0> 0 translate <0,-.3,0> pigment { color rgb <0,0,1> transmit .7 } interior { ior 1.5 } normal { waves .2 scale .3 } finish { phong .9 reflection .6 } } #declare boom=union{ isosurface{ function { ((x*x)+(z*z))*(y+1.4) } threshold .4 max_gradient 6.4 pigment { granite color_map { [0.0 color rgb <1,.7,0>] [1.0 color rgb <.8,.4,0>] } } finish { ambient .2 } normal { radial .3 frequency 15 triangle_wave } } union { #declare pu=0; #while (pu<3.14) #declare pv=0; #while (pv<6.28) sphere { .2 } #declare pv=pv+.3+(.3*pow(cos(pu),2)); #end #declare pu=pu+.3; #end pigment { granite color_map { [0 color rgb <0,1,0>] [1 color rgb <1,0,0>] } } normal { bumps } finish { ambient .2 } rotate <0,0,90> scale 1.7 translate <0,2.5,0> } translate <0,1,0> } #declare blad=object{ cylinder{ <-1,0,-3> <-1,0,3> 1 clipped_by{ cylinder { <0,0,0> <0,2,0> 1 } } scale <2,3,.3> } pigment { color rgb <0,1,0> } normal { quilted scale <5,5,1> } finish { reflection .1 specular .8 } } #declare plantje=union{ #declare hk=0; #while (hk<360) object{ blad rotate <0,hk,0> pigment { color rgb <0,1,0> } } object{ blad rotate <0,10,20> rotate <0,hk,0> pigment { color rgb <.1,1,0> } } object{ blad rotate <0,-10,40> rotate <0,hk,0> pigment { color rgb <.2,1,0> } } #declare hk=hk+30; #end } #macro bloem() union{ union{ object{ blad rotate <0,0,30> } object{ blad rotate <0,0,30> rotate <0,180,0> } scale <.5,1,1> } cylinder{ <0,0,0> <0,2,0> .05 pigment { color rgb <.2,1,0> } } sphere{ <0,0,0> .2 scale <1,.4,1> translate <0,2,0> pigment { color rgb <1,1,0> } } union { #declare hk=0; #while (hk<360) cylinder{ <-1,0,-3> <-1,0,3> 1 clipped_by{ cylinder { <0,0,0> <0,2,0> 1 } } translate <-.1,-.1,0> scale <.7,.7,.15> rotate <0,0,40> rotate <0,hk,0> } #declare hk=hk+30; #end pigment { color rgb } finish { specular 1 reflection .05 } translate <0,2,0> } } #end #declare riet=union { union { cylinder { <0,-3,0> <0,4,0> .05 } sphere { <0,4,0> .05 } pigment { color rgb <1,1,0> } } union { cylinder { <0,2.5,0> <0,3.5,0> .2 } sphere { <0,2.5,0> .2 } sphere { <0,3.5,0> .2 } pigment { color rgb <.6,.4,0> } } } #declare tt=8; #while (tt>0) object { riet scale .2+rand(ps)*.5 translate <-1.5+rand(ps)-.5,0,rand(ps)> } #declare tt=tt-1; #end #if (1) #declare tt=9000; #while (tt>0) object{ #declare px=-2; #declare py=0; #while (pow(px+2,2)+pow(py,2) } scale rand(ps)*.3+.1 rotate scale translate } #declare tt=tt-1; #end #declare tt=70; #while (tt>0) object{ plantje scale rand(ps)*.7+.1 scale translate } #declare tt=tt-1; #end #declare tt=120; #while (tt>0) object{ bloem() rotate scale rand(ps)*.8+.1 translate } #declare tt=tt-1; #end #declare tt=70; #while (tt>0) object{ plantje scale rand(ps)*.7+.1 scale translate } #declare tt=tt-1; #end #declare ps=seed(0); #declare tt=30; #while (tt>0) object{ boom scale 3+rand(ps) translate } #declare tt=tt-1; #end #end