//
// 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>}