// Hans-Jakob Schwer // povray 3.6 scenefile // looks a bit like a horde of nano-bots ;D #include "colors.inc" #include "textures.inc" #include "shapes.inc" #include "metals.inc" #include "glass.inc" #include "woods.inc" global_settings {max_trace_level 12} #declare clock1 = 0.4; // entf #declare clock2 = 72; // nr #declare a1 = array[10] {8,12,13,7,9,11,15,17,10,18}; #declare a2 = array[10] {7,5, 6, 8,9,10,19,4, 11,12}; #declare a3 = array[10] {2,3, 3, 9,4,2, 5, 6, 7, 4 }; #declare za1 = a1[mod(clock2,10)]; #declare za2 = a2[mod(clock2/10,10)]; #declare za3 = a3[mod(clock2/100,10)]; camera { location <-7*clock1, 7*clock1, +55*clock1> // direction <0, 0, 2.25> // right x*1.33 look_at <0.001,0.001,0.001> } // Uncomment the area lights only if you've got lots of time. #declare Dist=80.0; light_source {< 0, -40, 0> color Red fade_distance Dist fade_power 2 //area_light <-40, 0, -40>, <40, 0, 40>, 3, 3 // adaptive 1 // jitter } light_source {< -50, 55, -50> color Orange fade_distance Dist fade_power 2 //area_light <-40, 0, -40>, <40, 0, 40>, 3, 3 // adaptive 1 // jitter } light_source {< 30, 40, 33> color White fade_distance Dist fade_power 2 // area_light <-20, 0, -20>, <20, 0, 20>, 3, 3 // adaptive 1 // jitter } light_source {< -15, -30, 40> color Blue fade_distance Dist fade_power 2 // area_light <-20, 0, -20>, <20, 0, 20>, 3, 3 // adaptive 1 // jitter } //light_source {< 0, 100, 0> color Gray30 // fade_distance Dist fade_power 2 // area_light <-30, 0, -30>, <30, 0, 30>, 3, 3 // adaptive 1 // jitter //} #declare M_Wood18B = colour_map { [0.00 0.25 color rgbf < 0.30, 0.46, 0.42, 0.10> color rgbf < 0.34, 0.49, 0.43, 0.20>] [0.25 0.40 color rgbf < 0.34, 0.39, 0.33, 0.20> color rgbf < 0.35, 0.48, 0.40, 0.70>] [0.40 0.50 color rgbf < 0.00, 0.38, 0.40, 0.70> color rgbf < 0.30, 0.43, 0.35, 0.95>] [0.50 0.70 color rgbf < 0.30, 0.43, 0.35, 0.95> color rgbf < 0.36, 0.39, 0.47, 0.70>] [0.70 0.98 color rgbf < 0.36, 0.39, 0.87, 0.70> color rgbf < 0.00, 0.29, 0.33, 0.20>] [0.98 1.00 color rgbf < 0.00, 0.00, 1.00, 1.00> color rgbf < 0.0, 0.0, 0.0, 0.70>] } #declare Floor_Texture = texture { pigment { P_WoodGrain18A color_map { M_Wood18A }}} texture { pigment { P_WoodGrain12A color_map { M_Wood18B }}} texture { pigment { P_WoodGrain12B color_map { M_Wood18B }} finish { reflection 0.25 } } #declare Floor = plane { y,0 texture { pigment { crackle scale 1.5 turbulence 0.6 color_map { /* [0.00 0.25 color rgbf < 0.00, 0.00, 0.00, 1.00> color rgbf < 0.00, 0.00, 0.00, 1.00>] [0.25 0.40 color rgbf < 0.54, 0.29, 0.13, 0.20> color rgbf < 0.55, 0.28, 0.10, 0.70>] [0.40 0.50 color rgbf < 0.00, 0.28, 0.10, 0.70> color rgbf < 0.50, 0.23, 0.15, 0.95>] [0.50 0.70 color rgbf < 0.50, 0.23, 0.15, 0.95> color rgbf < 0.56, 0.29, 0.17, 0.70>] [0.70 0.98 color rgbf < 0.56, 0.29, 0.87, 0.70> color rgbf < 0.00, 0.29, 0.13, 0.20>] [0.98 1.00 color rgbf < 1.00, 1.00, 1.00, 0.10> color rgbf < 1.00, 1.00, 1.00, 0.10>] */ [0.00 0.25 color rgbf < 0.00, 0.00, 0.60, 1.00> color rgbf < 0.00, 0.00, 0.60, 1.00>] [0.25 0.40 color rgbf < 0.34, 0.29, 0.43, 0.70> color rgbf < 0.35, 0.28, 0.30, 0.70>] [0.40 0.50 color rgbf < 0.00, 0.28, 0.20, 0.70> color rgbf < 0.20, 0.43, 0.45, 0.95>] [0.50 0.70 color rgbf < 0.20, 0.23, 0.25, 0.95> color rgbf < 0.36, 0.49, 0.57, 0.70>] [0.70 0.98 color rgbf < 0.36, 0.29, 0.87, 0.70> color rgbf < 0.00, 0.59, 0.13, 0.40>] [0.98 1.00 color rgbf < 1.00, 1.00, 1.00, 0.60> color rgbf < 1.00, 1.00, 1.00, 0.60>] } // end of color_map scale 2.0 } // end of pigment // normal // { // bumps 0.5 scale 0.02 // } finish { diffuse 0.2 phong 0.3 } scale 1.1 rotate y*90 rotate <10, 0, 15> translate <0, -5, 0> } // end of texture ----------------------- translate <0, -10, 0> } #macro rek2(stufe, x_, y_, z_, x2_, y2_, z2_,ori, init_) #if(init_ = 0) object { #if(stufe > 4) box { , texture{ Floor_Texture } } #else box { , texture{ T_Glass2 } interior {I_Glass caustics 1} } #end } #end #if(stufe > 0) #local dx = x2_ - x_; #local dy = y2_ - y_; #local dz = z2_ - z_; #local dxv = dx * 0.1; #local dyv = dy * 0.1; #local dzv = dz * 0.1; #if(ori = 0) rek2(stufe-1, x_+dxv, y_-dy, z_+dzv, x2_-dxv, y2_-dy, z2_-dzv,0,0) #if(mod(stufe,za1) = 0) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,2,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,3,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,4,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,5,1) #end #end #if(ori = 1) rek2(stufe-1, x_+dxv, y_+dy, z_+dzv, x2_-dxv, y2_+dy, z2_-dzv,1,0) #if(mod(stufe,za1) = 0) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,2,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,3,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,4,1) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,5,1) #end #end #if(ori = 2) rek2(stufe-1, x_+dx, y_+dyv, z_+dzv, x2_+dx, y2_-dyv, z2_-dzv,2,0) #if(mod(stufe,za2) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0,1) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1,1) #end #end #if(ori = 3) rek2(stufe-1, x_-dx, y_+dyv, z_+dzv, x2_-dx, y2_-dyv, z2_-dzv,3,0) #if(mod(stufe,za2) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0,1) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1,1) #end #end #if(ori = 4) rek2(stufe-1, x_+dxv, y_+dyv, z_+dz, x2_-dxv, y2_-dyv, z2_+dz,4,0) #if(mod(stufe,za3) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0,1) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1,1) #end #end #if(ori = 5) rek2(stufe-1, x_+dxv, y_+dyv, z_-dz, x2_-dxv, y2_-dyv, z2_-dz,5,0) #if(mod(stufe,za3) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0,1) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1,1) #end #end #end #end #macro xquad(x_,y_,z_,size_, wanddicke, stufe) // wanddicke = faktor für innenraum object { difference { box { , texture{ T_Glass2 } interior {I_Glass caustics 1} } box { , texture{ T_Glass2 } interior {I_Glass caustics 1} } } } #if(stufe > 0) xquad(x_,y_,z_,size_*0.2, wanddicke, stufe-1) #end #end // großes fraktal /* difference { */ object { #union { #local tt = 31; #local h = 1; #local j = 0.3; #local k = 1; rek2(tt,h,j,k,-h,-j,-k,0,0) rek2(tt,h,j,k,-h,-j,-k,1,0) rek2(tt,h,j,k,-h,-j,-k,2,0) rek2(tt,h,j,k,-h,-j,-k,3,0) rek2(tt,h,j,k,-h,-j,-k,4,0) rek2(tt,h,j,k,-h,-j,-k,5,0) } } object { #union { #local x_ = 0; #local y_ = 0; #local z_ = 0; #local size_ = 80; #local wanddicke = 0.9; // faktor für innenraum xquad(x_, y_, z_, size_, wanddicke, 5) } } /* object { sphere { <0,0,0>, 4.5 texture{ Floor_Texture } } } } */ // kleines fraktal /* object { // difference // { object { #union { #local tt = 24; #local h = 1; #local j = 0.6; #local k = 1; rek2(tt,h,j,k,-h,-j,-k,0) rek2(tt,h,j,k,-h,-j,-k,1) rek2(tt,h,j,k,-h,-j,-k,2) rek2(tt,h,j,k,-h,-j,-k,3) rek2(tt,h,j,k,-h,-j,-k,4) rek2(tt,h,j,k,-h,-j,-k,5) } } // } scale <0.21, 0.21, 0.21> rotate<90*clock,45*clock,6> } */ //object /* object { Floor } */ /* object { kugel scale<0.4,0.4,0.4> rotate<0,0,0> translate<0.8,0.4, -2.0> } object { kugel scale<0.2,0.2,0.2> rotate<0,0,0> translate<1.1,-0.7, -2.0> } object { kugel scale<5.0,5.0,5.0> rotate<0,0,0> translate<-8.7,0,8> } */ // object{Floor}