// suite.pov - the suite where I live in Linde dorm, HMC // By: Mike Heasley // Started with the file "room.pov" (included with the povray package) and // went from there. #include "shapes.inc" #include "colors.inc" #include "textures.inc" #include "stones.inc" /* Camera Facing North*/ camera { direction <0.0, 0.0, 1.5> up <0.0, 1.0, 0.0> right <4/3, 0.0, 0.0> translate < -10.0, 10, -40.0> look_at <15.0, 5.0, 10.0> } /*************************************************/ /* Define objects for use in scene */ /* Your object should be DECLAREd here */ /*************************************************/ #declare Rusty_Couch = pigment {agate color_map {[0.0, 0.5 color red 0.21 green 0.1 blue 0.1 color red 0.25 green 0.1 blue 0.01] [0.5, 0.6 color red 0.25 green 0.1 blue 0.01 color red 0.3 green 0.1 blue 0.1] [0.6, 1.001 color red 0.15 green 0.1 blue 0.1 color red 0.15 green 0.1 blue 0.1] } } #declare East_Wall = union { box { <-15, 0, 10>, <8.5, 15, 11> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } box { <8.5, 12, 10>, <15, 15, 11> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } box { <13.5, 12, 10>, <15, 0, 11> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } } /* West Wall commented out so camera can see in*/ #declare West_Wall = plane { z, -10.0 pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } /* Not visible with current viewpoint*/ /* But could be useful for light coming through window etc. */ #declare South_Wall = union { box { <15, 0, 10>, <16, 15, -7> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } box { <15, 12, -7>, <16, 15, -21.5> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } box { <15, 12, -12>, <16, 0, -15> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } box { <15, 12, -20>, <16, 0, -21.5> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } } #declare CI_Wall = plane { z, 40.0 pigment { Gray40 } finish { crand 0.09 diffuse 0.7 } } #declare North_Wall = plane { x, -12.0 pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } #declare Junior_Wall = box { <16, 0, 10>, <45, 15, 11> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } #declare Frosh_Wall = box { <16, 0, -13>, <45, 15, -14> pigment { LightGray } finish { crand 0.09 diffuse 0.7 } } #declare Door = union { box { <0, 0, 0>, <0.4, 12, -5> texture { DMFWood3 } } box { <-0.01, 10.5, -0.75>, <0, 6, -4.25> pigment { White } finish { reflection 0.2 } } merge { cylinder { <0.4, 5.5, -0.375>, <0.5, 5.5, -0.375>, 0.15 } cylinder { <0.45, 5.5, -0.375>, <0.75, 5.5, -0.375>, 0.075 } sphere { <0.75, 5.5, -0.375>, 0.075 } cylinder { <0.75, 5.5, -0.375>, <0.75, 5.5, -1>, 0.075 } texture {Silver_Texture} } merge { cylinder { <0.4, 6.5, -1>, <0.42, 6.5, -1>, 0.3 } cylinder { <0.5, 6.5, -1>, <0.9, 6.5, -1>, 0.15 } sphere { <0.9, 6.5, -1>, 0.15 } cylinder { <0.9, 6.5, -1>, <0.9, 6.5, -4.625>, 0.15 } sphere { <0.9, 6.5, -4.625>, 0.15 } cylinder { <0.5, 6.5, -4.625>, <0.9, 6.5, -4.625>, 0.15 } cylinder { <0.4, 6.5, -4.625>, <0.42, 6.5, -4.625>, 0.3 } texture {Silver_Texture} } } #declare Door_Frame = union { box { <-0.25, 0, 0>, <0, 12.25, -0.04> } box { <0, 12.25, 0>, <5, 12, -0.04> } box { <5, 12.25, 0>, <5.25, 0, -0.04> } box { <0, 0, -0.04>, <0.04, 12, 0.44> } box { <0.04, 12, -0.04>, <4.96, 12, 0.44> } box { <4.96, 12, -0.04>, <5, 0, 0.44> } pigment {DustyRose} } #declare TrackLight = union { difference { merge { cylinder { <0, 0, 0>, <0, -0.4, 0>, 0.1 pigment { LightGray } } cylinder { <0, 0.2, 0>, <0, -1.5, 0>, 0.45 rotate <0, 0, 45> } } cylinder { <0, -0.3, 0>, <0, -1.6, 0>, 0.4 rotate <0, 0, 45> } pigment { LightGray } } light_source { <0, -1.3, 0> color Yellow spotlight point_at <0, -10, 0> radius 20 falloff 35 rotate <0, 0, 45> } } #declare Track_Lighting = union { box { <0, 0, 0>, <0.2, -0.1, -12> pigment { LightGray } } object { TrackLight translate <0, -0.1, -2> } object { TrackLight translate <0, -0.1, -6> } object { TrackLight translate <0, -0.1, -10> } } #declare Coffee_Table = union { box { <0.5, 0, -0.5>, <3, 0.75, -9.5> pigment { Black } } box { <0, 0.75, 0>, <3.5, 3.5, -10> texture { Cherry_Wood } } } #declare End_Table = union { box { <0.5, 0, -0.5>, <3, 0.75, -3> pigment { Black } } box { <0, 0.75, 0>, <3.5, 3.5, -3.5> texture { Cherry_Wood } } } #declare Cushion = merge { box { <0, 0, 0>, <3, 1, -3> } cylinder { <0, 0.5, -3>, <3, 0.5, -3>, 0.5 } } #declare Suite_Couch_End = merge { box { <0, 0, -2>, <2, 3, -5> } cylinder { <1, 3, -2>, <1, 3, -5.01>, 1 } } #declare Suite_Couch = union { object { Suite_Couch_End } box { <2, 0, 2>, <11, 2, -5> } object { Suite_Couch_End translate <11, 0, 0> } object { Cushion translate <2, 2, -2> } object { Cushion translate <5, 2, -2> } object { Cushion translate <8, 2, -2> } merge { box { <0, 0, 0>, <13, 4.5, -2> } cylinder { <0, 4.5, -1>, <13, 4.5, -1>, 1 } } /* texture {Rusty_Couch} */ pigment {IndianRed} finish { reflection 0.2 } } #declare My_Couch_End = merge { box { <0, 0, -1>, <1, 4, -4> } cylinder { <0.5, 4, -1>, <0.5, 4, -4.01>, 0.5 } } #declare My_Couch = union { object { My_Couch_End } box { <1, 0, 0>, <11.5, 2, -4> } object { My_Couch_End translate <11.5, 0, 0> } box { <1, 2, -1>, <4.5, 3, -4.2> } box { <4.5, 2, -1>, <8, 3, -4.2> } box { <8, 2, -1> <11.5, 2, -4.2> } merge { box { <0, 0, 0>, <12.5, 4, -1> } cylinder { <0, 4, -0.5>, <12.5, 4, -0.5>, 0.5 } } texture {Polished_Brass} finish { reflection 0.4 } } #declare Comfy_Chair_End = merge { box { <0, 0, -0.5>, <0.8, 2.5, -3.5> } box { <0, 2, -0.5>, <0.8, 4, -3> } cylinder { <0.4, 4, -0.5>, <0.4, 4, -3.01>, 0.4 } } #declare Comfy_Chair = union { object { Comfy_Chair_End } box { <0.8, 0, -0.5>, <3.8, 2.5, -3.5> } object { Comfy_Chair_End translate <3.8, 0, 0> } merge { box { <0.8, 2.5, -0.5>, <3.8, 3.25, -3.5> } box { <0, 2.5, -3>, <0.8, 3.25, -3.5> } box { <3.8, 2.5, -3>, <4.3, 3.25, -3.5> } } merge { box { <0, 0, 0>, <4.3, 5.5, -0.5> } cylinder { <-0.01, 5.5, -0.25>, <4.31, 5.5, -0.25>, 0.25 } } texture {Polished_Brass} finish { reflection 0.25 } } #declare Lounge_Chair = union { union { cylinder { <0.08, 0, -0.08>, <0.08, 3.5, -0.08>, 0.08 } cylinder { <2.38, 0, -0.08>, <2.38, 3.5, -0.08>, 0.08 } cylinder { <0.08, 0, -2.38>, <0.08, 2.5, -2.38>, 0.08 } cylinder { <2.38, 0, -2.38>, <2.38, 2.5, -2.38>, 0.08 } pigment { Gray20 } } box { <0.137, 2.3, -0.137>, <2.323, 2.5, -2.323> texture {Stone18} finish { reflection 0.3 } } union { cylinder { <0, 0, 0>, <0, 0, -0.2>, 1.07 clipped_by { plane {y, 0} } rotate <0, 0, 180> translate <1.23, 3.5, 0> } box { <0.16, 2.9, 0>, <2.3, 3.5, -0.2> } texture {Stone18} finish { reflection 0.3 } } } #declare Fire_Alarm = union { box { <0, 0, 0>, <-0.02, 1, -1> pigment {Red} } box { <-0.02, 0.15, -0.15>, <-0.22, 0.85, -0.85> pigment {Red} } box { <-0.22, 0.15, -0.4>, <-0.42, 0.85, -0.6> pigment {White} } finish { reflection 1.0 } } #declare CorkBoard = union { box { <0, 0, 0>, <0.75, 0.05, -0.05> texture {DMFWood5} } box { <0, 0.05, 0>, <0.75, 1, -0.025> texture {Dark_Wood} } box { <0, 1, 0>, <0.75, 1.1, -0.05> texture {DMFWood5} } box { <0, 1.1, 0>, <0.75, 1.3, -0.025> pigment {Black} } } #declare Ball_Slice = sphere { <0, 0, 0>, 1 clipped_by { plane {x, 0} } clipped_by { plane {z, 0} } clipped_by { plane {z, 0 rotate <0, -30, 0>} } } #declare Beach_Ball = union { object { Ball_Slice pigment { Red } } object { Ball_Slice rotate <0, 60, 0> pigment { Yellow } } object { Ball_Slice rotate <0, 120, 0> pigment { Blue } } object { Ball_Slice rotate <0, 180, 0> pigment { Orange } } object { Ball_Slice rotate <0, 240, 0> pigment { Green } } object { Ball_Slice rotate <0, 300, 0> pigment { White } } } #declare Book = union { box { <0.02, 0.02, -0.02>, <1.2, 0.22, -2> pigment {White} finish { ambient 0.5 } /* clipped_by { cylinder { <0, 0.12, -0.02>, <0, 0.12, -2>, 0.1 } } */ } merge { box { <0, 0, 0>, <1.2, 0.02, -2.02> } box { <1.2, 0, 0>, <1.22, 0.24, -2.02> } box { <0, 0.22, 0>, <1.2, 0.24, -2.02> } pigment {Blue} finish { reflection 0.3 } } } #declare Ceiling = plane { y, 15.0 pigment { White } finish { ambient 0.4 diffuse 0.1 } } /* Overhead lights */ #declare Big_Light = union { box { <0.4, -0.5, -0.4>, <4.4, 0, -4.4> pigment { Black } no_shadow } box { <0, -0.5, 0>, <4.8, -1.25, -4.8> pigment { White } finish { reflection 0.1 ambient 0.6 } no_shadow } light_source { <0.0, -0.875, -4.5> colour White area_light <4.8, 0, 0>, <0, 0, 4.8>, 10, 10 jitter } } #declare Point_Light = union { box { <0.4, -0.5, -0.4>, <4.4, 0, -4.4> pigment { Black } no_shadow } box { <0, -0.5, 0>, <4.8, -1.25, -4.8> pigment { White } finish { reflection 0.1 ambient 0.6 } no_shadow } light_source { <0.0, -0.875, -4.5> colour White jitter } } #declare Floor = plane { y, 0.0 texture { Grnt7 } finish { crand 0.05 } } /*******************************************/ /* Scene description */ /*******************************************/ /* Comment out north wall for now... */ object { North_Wall } /* Comment out West Wall so camera can see in */ /*object { West_Wall }*/ object { East_Wall } object { South_Wall } object { Junior_Wall } object { Frosh_Wall } object { CI_Wall } /* Chris and Ilan door */ object { Door rotate <0, 180, 0> translate <13.5, 0, 5> } object { Door_Frame translate <8.5, 0, 10> } /* Frosh door */ object { Door rotate <0, -60, 0> translate <15, 0, -15> } object { Door_Frame rotate <0, 90, 0> translate <15, 0, -15> } object { Door_Frame rotate <0, 90, 0> translate <15, 0, -7> } object { Ceiling } object { Floor } object { Track_Lighting translate <11, 15, 7.5> } object { Coffee_Table translate <-4, 0, 2> } object { Book rotate <0, 30, 0> translate <-2, 3.5, -4> } object { End_Table translate <1, 0, -11> } object { Suite_Couch translate <-6, 0, 10> } object { Suite_Couch rotate <0, -90, 0> translate <-11.75, 0, -3> } object { My_Couch rotate <0, 180, 0> translate <0.5, 0, -15> } object { Comfy_Chair rotate <0, 90, 0> translate <5.5, 0, -3> } object { Lounge_Chair rotate <0, 90, 0> translate <15, 0, -4> } object { CorkBoard rotate <0, 90, 0> translate <15, 7.5, -6> } object { CorkBoard rotate <0, 90, 0> translate <15, 7.5, -14> } object { CorkBoard translate <7.5, 7.5, 10> } object { Fire_Alarm translate <15, 12.5, 0> } object { Beach_Ball rotate <100, 0, 0> rotate <0, 10, 0> translate <-2, 1, -17> finish { phong 1.0 phong_size 250 } } /* ******* Use this for the final image ******* */ /* Suite overhead lights */ object { Big_Light translate <-2, 15, -2.1> } object { Big_Light translate <-2, 15, -12.1> } /* Chris and Ilan lights */ object { Big_Light translate <0, 15, 22.6> } object { Big_Light translate <30, 15, 22.6> } /* ******* **************************** ******* */ /* ******* Use this for faster rendering ******* */ /* Suite overhead lights */ /* object { Point_Light translate <-2, 15, -2.1> } object { Point_Light translate <-2, 15, -12.1> } /* Chris and Ilan lights */ object { Point_Light translate <0, 15, 22.6> } object { Point_Light translate <30, 15, 22.6> } */ /* ******* **************************** ******* */