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.
#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 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.
// 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
}
}
The following are three spotlights. Please don't modify them.
// 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
}
Finally, the camera has been properly positioned so that you do not have
to make any change:
// 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.