// Persistence of Vision Ray Tracer Scene Description File // File: project_modified.pov // Vers: 3.6 // Desc: a demonstration of placing cabinets // Date: 6/22/2009 // Auth: mysdn (edited by Tim Attwood) #include "colors.inc" #include "textures.inc" #include "box_POV_geom.inc" #include "model_101_POV_geom.inc" //#include "t_model_1_POV_geom.inc" // these are commented out because //#include "t_model_1_koseli_POV_geom.inc" // they weren't in the zip #include "k_model_1_POV_geom.inc" #include "model_101_POV_geom.inc" // ----- camera, lights, and background ------------------------------------- camera { location <124.5 ,225 ,-391.5> right x*image_width/image_height // adjust aspect ratio look_at <62,125,-62> } light_source { <0,0,-291.5>, color rgb <1,1,1> * 0.6 parallel point_at <62,-100,-4> } background { color rgb<1,1,1>} // ----- declared textures -------------------------------------------------- #declare WALL_TEX = texture { pigment { image_map {jpeg "krem.jpg"} scale 0.1 } finish { phong 1 ambient 0.5 } }; #declare FLOOR_TEX = texture { pigment { image_map {jpeg "zemin4.jpg"} } finish { phong 1 ambient 0.5 reflection 0.2 } }; #declare CASE_TEX = texture { pigment { image_map {jpeg "ALDER.jpg"} } finish { phong 1 ambient 0.6 } }; #declare DOOR_TEX = texture { pigment { image_map {jpeg "alper"} } finish { phong 1 ambient 0.6 reflection 0 } }; #declare HANDLE_TEX = texture { pigment { image_map {jpeg "METAL5.jpg"} } finish { phong 1 ambient 0.3 reflection 0.3 } }; // ----- declared objects --------------------------------------------------- #declare WALL = box { <0,0,0>,<250,260,10> texture {WALL_TEX} // the bottom-left-forward corner of the wall is at <0,0,0> }; #declare FLOOR = box { <0,0,0>,<250,1,-350> texture {FLOOR_TEX} // the top-left-away corner of the floor is now at <0,1,0> }; // cabinet #declare CABINET = union { // case object{ box_ // equivalent to box {<-50,-50,0>,<50,50,100} texture {CASE_TEX} translate <50,50,-100> // put corner on origin scale <0.5,0.75,0.6> // scale to size } // door object { model_101_ // equivalent to box {<-50,0,-1>,<50,100,1>} texture {DOOR_TEX} translate <50,0,0> // put on origin scale <0.49,0.75,1> // scale to size translate <00,0,-60> // align with case } // handle object { k_model_1_ texture {HANDLE_TEX} translate <0,0,30> // put attach points on xz plane rotate <0,180,0> // turn it around scale <0.1,0.1,0.1> // scale to size translate <3,63,-60> // place handle on case } // the bottom-left-away corner of the cabinet is at <0,0,0> }; // ----- scene -------------------------------------------------------------- object { WALL } object { FLOOR } // the left cabinet object { CABINET translate <0,10,0> // raise bottom of cabinet to kick height } // the middle cabinet object { CABINET translate <50,10,0> // raise and place } // the right cabinet object { CABINET translate <100,10,0> // raise and place } // the angled cabinet object { CABINET translate <0,0,60> // place front-left-bottom corner on origin rotate <0,45,0> // rotate it translate <150,10,-60> // move it back forward, and raise and place }