Page 143 - Computer Graphics Handout
P. 143

Chapter 4


                                                      VIEWING




          We have completed our discussion of the first half of the synthetic camera model—specifying objects in three dimensions. We
          now investigate the multitude of ways in which we can describe our virtual camera. Along the way, we examine related topics, such
          as the relationship between classical viewing techniques and computer viewing and how projection is implemented using projective
          transformations. There are three parts to our approach. First, we look at the types of views that we can create and why we need
          more than one type of view. Then we examine how an application program can specify a particular view within OpenGL. We will see
          that the viewing process has two parts. In the first, we use the model-view matrix to switch vertex representations from the object
          frame  in  which  we  defined  our  objects  to  their  representation  in  the  eye  frame,  in  which  the  camera  is  at  the  origin.  This
          representation of the geometry will allow us to use canonical viewing procedures. The second part of the process deals with the
          type of projection we prefer (parallel or perspective) and the part of the world we wish to image (the clipping or view volume).
          These specifications will allow us to form a projection matrix that is concatenated with the model-view matrix. Finally, we derive
          the projection matrices that describe the most important parallel and perspective views and investigate how to carry out these
          projections in OpenGL.



          4.1 CLASSICAL AND COMPUTER VIEWING


          Before looking at the interface between computer-graphics systems and application programs for three-dimensional viewing, we
          take a slight diversion to consider classical viewing. There are two reasons for examining classical viewing. First, many of the jobs
          that were formerly done by hand drawing—such as animation in movies, architectural rendering, drafting, and mechanical-parts
          design—are now routinely done with the aid of computer graphics. Practitioners of these fields need to be able to produce classical
          views—such as isometrics, elevations, and various perspectives—and thus must be able to use the computer system to produce
          such renderings. Second, the relationships between classical and computer viewing show many advantages of, and a few difficulties
          with, the approach used by most APIs.

































                                                             143
   138   139   140   141   142   143   144   145   146   147   148