The following image was rendered using monte-carlo ray tracing. The area light source was importance sampled. The shiny metal surface of the ring was modelled by monte-carlo importance sampling the light source and evaluating a Blinn glossy BRDF, then recursing precisely along the pure specular reflection path.
The inside of the ring was modelled with a hyperboloid while the outside was modelled using a section of a sphere. Since I didn't want to spend too much time implementing the renderman texturing features, the book is modelled using a simple parameterized rectangle primitive.
In the following image, a 2% specular (mirror reflection) component was added to the book to capture the major highlights on the ring and the book. The highlights on the book are reflections of the light as seen in the "mirror" of the ring. The highlights on the ring are reflections of the light as seen in the "mirror" of the book.
The following image was rendered using a caustics photon map. Enough photons were shot from the disk light behind the viewer (hundreds of millions of photons) in order that 50,000 photons could be collected in the caustics photon map. Up to 60 photons were used in the estimation of the indirect illumination at each pixel. The maximum photon search radius was 0.5 units (the ring has a radius of about 10 units). The photons were filtered using a cone filter (as described in Henrik's course notes) with a filter constant of 2.2. This image took about 4 hours to render, most of which (3 hours) consisted of shooting and rejecting photons to collect the photons for the map. Building a balanced k-d tree took about 2 minutes and the final rendering step took about an hour. The intensity of the caustic is too great with respect to the rest of the image, I am looking into this. Notice the reflection of the caustic in the back of the ring and the reflection of the caustic in the top left-hand inside edge of the ring. See how well they match photograph, particularly the intensification of the edge of the caustic as seen in the reflection on the inside of the ring.
The image above was rendered with lightPower = 2 * lightRadiance * piSquared * lightRadiusSquared. The following image was rendered with lightPower = 2/pi * lightRadiance * piSquared * lightRadiusSquared. The correct value is lightPower = lightRadiance * piSquared * lightRadiusSquared. I am currently rendering an image with this value. The radiance of the light has been increased in the following image as well. The following scene was rendered using 50,000 photons, up to 60 in the estimate, a search radius of 2 units and a cone filter constant of 1.0. The image took about 7 hours to render. The final rendering step took longer because of the expanded search radius. In this and the previous picture, the glossy component of the ring has been greatly reduced. This has reduced the reflection of the ring in the book and allowed the highlights on the book to stand out more, as they do in the photograph.