On the cover of his 1980 Pulitzer Prize book Gödel, Escher, Bach: an Eternal Golden Braid, Douglas R. Hofstadter designed a trip-let suspending in space near a corner so that their shadows in three orthogonal directions are three different letters, G for Gödel, E for Escher and B - for Bach. Let us simplify Hofstadter's work a little. You are given a scene file in POV-Ray as shown below left. It consists of a yellow cube, three perpendicular wall meeting at the corner, and three spotlights generating three square shadows, one on each wall. You job is generating the scene shown in the right figure using Boolean operators. You only need to modify Initial_Block to become a new block and keep all other components unchanged.
The initial block is given as follows. This is the place for you to carry out proper "surgery" with Boolean operations so that it could generate the desired shadows.
The walls are planes. You do not have to touch this part at all. If you change these walls, you may have to modify the spotlights as well.#declare Initial_Block = // the initial block box { < -5, -5, -5 >, < 5, 5, 5 > } object { Initial_Block pigment { color Yellow } finish { ambient 0.1 reflection 0.4 phong 1 } }
The following are three spotlights. Please don't modify them.// the right wall (for E) plane { x, 20 pigment { color NeonBlue } finish { ambient 0.2 } } // the bottom wall (for B) plane { y, -20 pigment { color Pink } finish { ambient 0.2 } } // the left wall (for G) plane { z, 20 pigment { color Cyan } finish { ambient 0.2 } }
Finally, the camera has been properly positioned so that you do not have to make any change:// the spotlight for E light_source { < -10000, 0, 0 > color White spotlight point_at < 0, 0, 0 > falloff 0.07 radius 0.05 tightness 10 } // the spotlight for B light_source { < 0, 10000, 0 > color White spotlight point_at < 0, 0, 0 > falloff 0.07 radius 0.05 tightness 10 } // the spotlight for G light_source { < 0, 0, -10000 > color White spotlight point_at < 0, 0, 0 > falloff 0.07 radius 0.05 tightness 10 }
// the camera camera { location < -400, 400, -400 > direction 15*z up y right 4/3*x look_at < 0, -3, 0 > }
Click here for a complete copy of this initial scene.
By the way, Hofstadter's Gödel, Escher, Bach: an Eternal Golden Braid is a highly recommended book for computer science students.