// // PoVRay 3.0 Scene File "srose2.pov" // created by Friedrich A. Lohmüller, 2000 #include "colors.inc" #include "textures.inc" global_settings { max_trace_level 20 } global_settings { assumed_gamma 2.2 } // time: // PII 400 MHz - // camera ----------------------------------------------------- #declare Cam0 =camera {ultra_wide_angle angle 180 location <0.0 , 1.0 ,-3.0> look_at <0.0 , 1.0 , 0.0>} camera{Cam0} // sun ---------------------------------------------------------- light_source{<1500,2500,-2500> color White} // sky ----------------------------------------------------------------------------- plane{<0,1,0>,1 hollow //attention: hold sun lower than sky texture{pigment{Bright_Blue_Sky quick_color Blue scale 3.5 translate<8,0,10>} finish {ambient 1 diffuse 0} } scale 10000} fog{fog_type 2 distance 15 color rgb<1,0.98,0.8> fog_offset 0.1 fog_alt 1.0 turbulence 0.2} // ground ------------------------------------------------------- // tropical searose leaf #declare SBlattTex = texture{pigment{color YellowGreen} normal {crackle 0.25 turbulence 0.1 scale 0.25} finish {ambient 0.35 diffuse 0.55 phong 1}} #declare Ende = 60; #declare SeaRose= difference{ union{ #declare Nr = 0; #while (Nr < Ende ) sphere{<0.35,0,0>,0.65 scale <1,0.5,0.5> rotate<0,0,Nr*360/Ende> translate<0,0,0> texture{SBlattTex scale 0.2}}//pigment{color rgb<1,1,0>} finish {ambient 0.45 diffuse 0.55 phong 1}}} #declare Nr = Nr + 1; #end }// end of union -------- union{ #declare Nr = 0; #while (Nr < Ende ) sphere{<0.30,0,0>,0.65 scale <1,0.5,0.5> rotate<0,0,(Nr+0.5)*360/Ende> translate<0,0,-0.001> texture{SBlattTex scale 0.2}//pigment{color rgb<1,0.8,0.2>} finish {ambient 0.45 diffuse 0.55 phong 1}} } #declare Nr = Nr + 1; #end translate<0,0,-0.25> }// end of union -------- scale 0.5 rotate<90,0,0> translate<0,0.01,0>} #declare SeaRose_Hole= sphere{<0,0,0>,0.65 scale <1,0.5,1>*0.55 rotate<0,0,0> translate<0,0.0,0> texture{pigment{color Clear}}} //------------------------------------------------------------------------------------------------- difference{ plane{<0,1,0>, 0 texture{Polished_Chrome //Groundtex pigment{quick_color Tan} normal {ripples 0.15 scale 0.35 turbulence 0.3 translate<-1,0,2>} finish {ambient 0.45 diffuse 0.55 phong 1}}} object{SeaRose_Hole rotate<0,0,0> translate<0,0,0>} object{SeaRose_Hole rotate<0,0,0> scale 1.2 translate<1,0.0,-0.4>} object{SeaRose_Hole rotate<0,0,0> scale 1.8 translate<-1.5,0.0,0.75>} object{SeaRose_Hole rotate<0,0,0> scale <3,2,3> translate< 1.5,0.0,2.75>} }//-----end of difference //--------------------------------------------------------------- // start here with other objects !!! // tropisches Seerosenblatt object{SeaRose rotate<0,0,0> translate<0,0,0>} object{SeaRose rotate<0,0,0> scale 1.2 translate<1,0.0,-0.4>} object{SeaRose rotate<0,0,0> scale 1.8 translate<-1.5,0.0,0.75>} object{SeaRose rotate<0,0,0> scale <3,2,3> translate< 1.5,0.0,2.75>} //------------------------------------------------------------------- #macro Reeds(XLen,YLen,AverageHeight,Radius) #declare Z0 = seed(1000); #declare Z1 = seed(1005); #declare Z2 = seed(1002); #declare Z3 = seed(1003); #declare Z4 = seed(1008); #declare Reeds_Texture= texture{pigment{ gradient x turbulence 0.1 color_map{ [ 0.00 color YellowGreen ] [ 0.50 color MediumSpringGreen] [ 1.00 color YellowGreen ]}} finish {ambient 0.35 diffuse 0.65 phong 1} scale 0.1} #macro Reed(ZHeight,ZRotate,YRotate) cone {<0,-1,0>,Radius,<0,ZHeight,0>,Radius/4 rotate<0,0,ZRotate> rotate<0,YRotate,0> }#end// of macro union{ #declare NrX = 0; // start X #declare EndNrX = 10*XLen; // end X #while (NrX< EndNrX) #declare NrZ = 0; // start Z #declare EndNrZ = 10*YLen; // end Z #while (NrZ< EndNrZ) object{Reed(AverageHeight+rand(Z0)*0.5,rand(Z1)*10,rand(Z2)*250) translate} #declare NrZ = NrZ + 1; // next NrZ #end #declare NrX = NrX + 1; // next NrX #end // --------------- end of loop texture{Reeds_Texture} }#end // end of Reeds object{ Reeds(2.50,0.75, 2.75,0.02) //(XLen,YLen,AverageHeight,Radius) scale <1,0.75,0>*1.5 translate<0.5,0,6.75>} object{ Reeds(3.00,1.75, 2.75,0.02) //(XLen,YLen,AverageHeight,Radius) scale <1,0.5,1> rotate<0,-50,0> translate<-3.5,0,1.75>} object{ Reeds(3.00,1.75, 2.75,0.02) //(XLen,YLen,AverageHeight,Radius) scale <1,0.5,1> rotate<0,-50,0> translate<-2.5,0,7.75>}