// Isosurface Scene Description File // File: MeshScene.pov // Date: 9 November 2000 // Auth: D.G.Wilkinson #version unofficial MegaPov .6; #include "colors.inc" #include "textures.inc" global_settings { assumed_gamma 1.0 } camera { location <-6, 2, -4.0> direction 1.5*z right 4/3*x look_at <2, 1, 0.0> } light_source { <-60, 8, -30> color rgb 1 } light_source { <8, 8, -3> color rgb 1 } #declare MySteel = texture{ pigment { rgb <0.23,0.23,0.25>} finish { ambient 0.35 diffuse 0.2 metallic specular 0.2 roughness 0.1 reflection 0.05 } } #declare Jd=0.03; // Joint depth #declare Jt=0.1; // Joint thickness #declare Lf=1.5; // Length factor #declare Hf=0.5; // Height factor #declare St=0.5*Lf; //Stagger or overlap #declare Xneg=function{if(-x,1,0)} #declare Yneg=function{if(-y,1,0)} #declare Ymod2=function{if((abs(y-Yneg*Hf)/(Hf+Jt))%2-1,0,1)} #declare F1= function{ if(abs((x+St*Ymod2-Xneg*Lf)/Lf)%(1+Jt/Lf)&abs((y-Yneg*Hf)/Hf)%(1+Jt/Hf)-1,Jd,0) } #declare P1= pigment{ function{ if(abs((x+St*Ymod2-Xneg*Lf)/Lf)%(1+Jt/Lf)&abs((y-Yneg*Hf)/Hf)%(1+Jt/Hf)-1,1,0) } color_map{ [ 0 rgb<1,0.2,0.02> ] [ 1 rgb<0.7,0.5,0.4>] } } #declare Wall= isosurface { function {-z + F1 + noise3d(x*30,y*30,z)/50} contained_by { box{<-20,-10,-2> <30,20,1>} } pigment {P1} } #declare Lf=1; // Length factor #declare Hf=1; // Height factor #declare Jt=0.08; // Joint thickness #declare St=0; //Stagger or overlap #declare F2= function{ if(abs((x+St*Ymod2-Xneg*Lf)/Lf)%(1+Jt/Lf)&abs((y-Yneg*Hf)/Hf)%(1+Jt/Hf)-1,Jd,0) } #declare P2= pigment{ function{ if(abs((x+St*Ymod2-Xneg*Lf)/Lf)%(1+Jt/Lf)&abs((y-Yneg*Hf)/Hf)%(1+Jt/Hf)-1,1,0) } color_map{ [ 0 rgb<0.1,0.08,0.04> ] [ 1 rgb<0.2,0.15,0.1>] } } #declare Floor= isosurface { function {-z + F2 + noise3d(x*30,y*30,z)/50} contained_by { box{<-20,-10,-1> <30,20,1>} } pigment {P2} } object { Floor rotate x*90 translate -y*2.25 } object { Wall // back wall scale 0.3 translate z*3 } difference { object { Wall // end wall scale 0.3 rotate y*90 translate x*10 } box { <0,0,0.8> <30,4,-1.35> pigment {rgb<0.7,0.5,0.4>} } // door aperture } box { <9.6,3.7,1.2> <11,4.2,-1.85> pigment {NewTan}} // door lintel #declare Jd=.08; // Mesh depth #declare Jt=0.08; // Mesh thickness #declare Xneg=function{if(-x,1,0)} #declare Yneg=function{if(-y,1,0)} #declare F3= function{ if(abs(x-Xneg)%(1+Jt)&abs(y-Yneg)%(1+Jt)-1,0,Jd) } #declare Mesh= isosurface { function {((z-.05)&-(z-F3))} contained_by { box{<-100,-100,-.11> <100,100,.11>} } rotate z*45 scale <0.5,0.1,0.5> } difference { object { Mesh texture {MySteel} rotate 90*x } plane { -z,-1} plane { z ,-2 } plane { x,-5 } plane { -x,-10 } } difference { object { Mesh texture {MySteel} translate <0,-2,1> } plane { -y, -2} plane { y, 0 } plane { x,-5 } plane { -x,-10 } } cylinder {<-5,0,0> <10,0,0> 0.07 texture {MySteel} translate <0,0,1> } cylinder {<-5,0,0> <10,0,0> 0.07 texture {MySteel} translate <0,2,1> } cylinder {<-5,0,0> <10,0,0> 0.07 texture {MySteel} translate <0,0,-2> } cylinder {<10,0,1> <10,2,1> 0.07 texture {MySteel} } cylinder {<10,0,1> <10,0,-2> 0.07 texture {MySteel} } cylinder {<-10,0,0> <20,0,0> 1 pigment {BrightGold} translate -y*1.2 } plane { y, 10 pigment { LightBlue } } difference { plane { y, 0 pigment { LightBlue } } plane { x,10.1} }