Page 140 - Computer Graphics Handout
P. 140

of complex geometric forms. This section introduces the basic methods for generating and interpolating curves commonly used in
          computer graphics systems.

          3.15.1 Parametric Curves
          A parametric curve is defined by expressing its coordinates as functions of a parameter, usually denoted by t. In two or three
          dimensions, a parametric curve can be written as:
          P(t)=(x(t),y(t),z(t)),t0≤t≤t1\mathbf{P}(t) = (x(t), y(t), z(t)), \quad t_0 \leq t \leq t_1P(t)=(x(t),y(t),z(t)),t0≤t≤t1
          By varying the parameter t, points along the curve are generated sequentially. Parametric representations provide flexibility and
          are well suited for rendering curves, animating motion, and defining complex geometric shapes.

          3.15.2 Bezier Curves
          Bezier curves are parametric curves defined by a set of control points. The shape of the curve is influenced by these control points,
          while the curve itself does not necessarily pass through all of them.
          Bezier curves are commonly expressed using Bernstein polynomials and provide smooth and intuitive curve control. They are widely
          used  in  computer  graphics,  computer-aided  design  (CAD),  and  font  design  due  to  their  mathematical  simplicity  and  smooth
          appearance.

          3.15.3 Cubic Splines
          Cubic splines are piecewise polynomial curves composed of multiple cubic segments joined together. Each segment is defined
          between two successive control points, and continuity constraints are applied to ensure smooth transitions at the joining points.
          Cubic splines provide greater flexibility than single Bezier curves when modeling complex shapes, as they allow local control of the
          curve. Modifying one control point affects only a limited portion of the curve, making splines suitable for interactive modeling
          applications.

          3.15.4 Curve Blending Techniques
          Curve blending techniques are used to smoothly connect multiple curve segments to form a continuous shape. These techniques
          ensure continuity in position and, in many cases, in the first and second derivatives, resulting in visually smooth transitions.
          Blending is commonly applied in animation paths, surface modeling, and geometric design, where smoothness and continuity are
          critical. By adjusting blending parameters, designers can control the smoothness and curvature of the resulting shape.


          SUMMARY AND NOTES

          In this chapter, we have presented two different—but ultimately complementary— points of view regarding the mathematics of
          computer graphics. One is that mathematical abstraction of the objects with which we work in computer graphics is necessary if we
          are to understand the operations that we carry out in our programs. The other is that transformations—and the techniques for
          carrying them out, such as the use of homogeneous coordinates—are the basis for implementations of graphics systems.
          Our mathematical tools come from the study of vector analysis and linear algebra. For computer-graphics purposes, however, the
          order in which we have chosen to present these tools is the reverse of the order that most students learn them. In particular, linear
          algebra  is  studied  first,  and  then  vector-space  concepts  are  linked  to  the  study  of  n-tuples  in  Rn.  In  contrast,  our  study  of
          representation in mathematical spaces led to our use of linear algebra as a tool for implementing abstract types. We pursued a
          coordinate-free  approach  for  two  reasons.  First,  we  wanted  to  show  that  all  the  basic  concepts  of  geometric  objects  and  of
          transformations  are  independent  of  the  ways  the  latter are  represented.  Second,  as object-oriented  languages  become  more
          prevalent,  application  programmers  will  work  directly  with  the  objects,  instead  of  with  those  objects’  representations.  The
          references in Suggested Readings contain examples of geometric programming systems that illustrate the potential of this approach.
          Homogeneous  coordinates  provided  a  wonderful  example  of  the  power  of  mathematical  abstraction.  By  going  to  an  abstract
          mathematical space—the affine space— we were able to find a tool that led directly to efficient software and hardware methods.
          Finally, we provided the set of affine transformations supported in OpenGL and discussed ways that we could concatenate them to
          provide all affine transformations.
          The strategy of combining a few simple types of matrices to build a desired transformation is a powerful one; you should use it for
          a few of the exercises at the end of this chapter. In Chapter 4, we build on these techniques to develop viewing for three-dimensional

                                                             140
   135   136   137   138   139   140   141   142   143   144   145