Books Practical Ray Tracing in C C A Lindley John Wiley, UK (1992) £45.95 (soft cover) 506 pp, ISBN 0 471 57301 9 (includes 5.25 in disc set) Nearly everyone has seen attractive pictures with shadows, reflections and textures created using the technique of ray tracing. This technique has been described in many books and journals. Nevertheless, this book is something else. It allows readers not only to understand principles, but also to imagine a practical solution to all the fundamental problems relating to the ray-tracing technique. The first chapter is mostly devoted to the hardware background. Display adapters are discussed, especially the VGA/SVGA and VESA function interfaces. This chapter is quite comprehensive, and all the functions are described carefully. The second chapter is devoted to the concept of the ray-tracing technique and to theoretical aspects of optical effects. Methods for intersection computation are discussed in detail, but intersection techniques for ray/polyhedron and ray/parametric surfaces are not presented. Nevertheless, readers can find these easily in books or papers mentioned in the references. In the fourth chapter, the author has managed to present clearly and precisely the fundamental methods required for palette selection. In the last chapter of the first part, the fundamental and frequently used PCX and GIF graphics file formats are described in detail, together with the LZW compression technique. The second part is devoted to an introduction to the experimental part with the DKB Trace program, which is available on the enclosed disc set. This part is organized as a set of exercises, and so readers can continuously and smoothly move from simple scenes to more complex
678
scenes, and solve more complex problems. I would personally prefer 3.5 in discs to 5.25 in discs. In summary, this book is a very good practical and informal introduction to the ray-tracing technique, not only because of the detailed description of algorithms, but also because readers can prepare their own scenes, and produce wonderful and exciting pictures with extremely high quality and scene complexity, even using PC systems. I would strongly recommend the book to all readers interested in
computer graphics and related fields, as it is not only aimed at enthusiasts, but can be used in industry and at the academic level too. The book presents not only methods and their practical implementation, but also provides an unusual opportunity for people to prepare some algorithms of their own and verify them. Perhaps I should give just one piece of advice in conclusion: get the book, read the first part, take a computer, and run through the book example by example with some modifications of your own, and you will surprise all the people around you. Vfclav Skala University of West Bohemia Czech Republic
Solving Geometric Constraint Systems A Case Study in Kinematics G A Kramer M I T Press, USA (1992) £35.95, 277 pp, ISBN 0 262 11164 0 This book describes a technique, called degrees-of-freedom analysis, for dealing with mechanisms; it is dedicated to the positioning and animation of geometric elements. The algorithms presented by Glenn A Kramer treat a mechanism as a set of local coordinate systems, or markers, linked by geometric constraints. This technique separates the process into two stages. The first is the generation of a 'metaphorical assembly plan' (a MAP), which describes a list of ordered elementary actions for positioning. The second is the computation of the actions described by the MAP, with the geometric values taken from the mechanism. Thus, the MAP
Computer-Aided Design Volume 25 Number 10 October 1993
can be reused for different positions and for animation. Kramer tries by this technique to reduce the overall response time, to obtain stable and understandable solutions, and to generate a sensible decomposition of the positioning problem into elementary actions. As he explains the results given by his program, called TLA, which implements all these algorithms, one can clearly understand that he has succeeded in achieving these three goals. This was achieved through the maximum decomposition of the whole process into elementary actions, which, in turn, implies a large decoupling of the variables. Also, the algorithms minimize the use of iterative numerical