// PoVRay 3.1 Scene File "pyranet1.pov" // created by Friedrich Lohmueller, 1999 #include "colors.inc" #include "textures.inc" global_settings { assumed_gamma 2.7 } // camera ----------------------------------------------------------- #declare Cam1_location = <9.0 , 4.0 ,-8.0>; #declare Cam1 = camera {ultra_wide_angle angle 70 location Cam1_location look_at < 3.25 , 1.5 , 0.0>} camera{Cam1} // sun -------------------------------------------------------------- light_source{<1500,2500,-2500> color White*0.5} light_source{Cam1_location color rgb<0.9,0.9,1>*0.1} // sky -------------------------------------------------------------- sphere{<0,0,0>,1 hollow texture{pigment{gradient <0,1,0> color_map{[0 color White] [1 color Plum]} } finish {ambient 1 diffuse 0} } scale 10000} // ------------------------------------------------------------------ //---------------------------------------------------------------------------------- #macro Ball_Pyramid_Net(EndLevel,AtomRadius,LinkRadius,Atom_Texture,Conect_Texture ) #local S2 = sqrt(2)/2; #local Dummy = sphere{<0,0,0>,0.1 pigment{color Clear}} union{ #local Level = 0; #while ( Level < EndLevel ) #local Number = EndLevel-Level; // Anzahl der Kugeln 4; 3; 2; 1; #local NrX = 0; // start X #local EndNr = Number ; // end X #while ( NrX< EndNr ) #local NrZ = 0; // start Z #local EndNr = Number ; // end Z #while (NrZ< EndNr) union{ sphere {<0,0,0>,AtomRadius texture{Atom_Texture}} #if (Level > 0) cylinder {<-0.5,-S2,-0.5>,<0,0,0>,LinkRadius texture{Conect_Texture}} cylinder {<-0.5,-S2, 0.5>,<0,0,0>,LinkRadius texture{Conect_Texture}} cylinder {< 0.5,-S2,-0.5>,<0,0,0>,LinkRadius texture{Conect_Texture}} cylinder {< 0.5,-S2, 0.5>,<0,0,0>,LinkRadius texture{Conect_Texture}} #end // of #if #if (NrX < EndNr-1) cylinder {<0,0,0>,<1,0,0>,LinkRadius texture{Conect_Texture}} #end // of #if #if (NrZ < EndNr-1) cylinder {<0,0,0>,<0,0,1>,LinkRadius texture{Conect_Texture}} #end // of #if object{Dummy} translate< (Level*0.5)+NrX, Level*S2, (Level*0.5)+NrZ> }// end of union #local NrZ = NrZ + 1; #end // --------------- Schleifen-Ende Z #local NrX = NrX + 1; #end // --------------- Schleifen-Ende X #local Level = Level + 1; #end // --------------- Schleifen-Ende Levels } #end// of macro Ball_Pyramid(Atom, Levels, NetRadius, Conect_Texture ) //--------------------------------------------------------------------------------- #declare BallTexture = texture{Polished_Chrome pigment{color rgb<1,0.8,0.2>*0.8} finish {ambient 0.2 diffuse 0.75 phong 1}} #declare Cyltexture = texture{Polished_Chrome pigment{color rgb<0.8,0.7,0.6>} finish {ambient 0.2 diffuse 0.75 phong 1}} //------------------------------------------------------------------------ object{ Ball_Pyramid_Net(5,0.2,0.05,BallTexture,Cyltexture) translate<0,0,0>} //---------------------------------------------------------------------end