Computer Graphics and Geometric Modeling

Clipping (Basic Computer Graphics) Part 4

Maillot Polygon Clipping The Maillot clipping algorithm ([Mail92]) clips arbitrary polygons against a rectangular window. It uses the well-known Cohen-Sutherland clipping algorithm for segments as its basis and then finds the correct turning points for the clipped polygon by maintaining an additional bit of information. As indicated earlier, it is speedy determination of turning points […]

Clipping (Basic Computer Graphics) Part 5

Vatti Polygon Clipping Quite a few polygon-clipping algorithms have been published. We have discussed several. The Liang-Barsky and Maillot algorithms are better than the Sutherland-Hodgman algorithm, but these algorithms only clip polygons against simple rectangles. This is adequate for many situations in graphics. On the other hand, the Sutherland-Hodgman and Cyrus-Beck algorithms are more general […]

Clipping (Basic Computer Graphics) Part 6

Greiner-Hormann Polygon Clipping The last polygon-clipping algorithm we consider is the Greiner-Hormann algorithm ([GreH98]). It is very much like Weiler’s algorithm but simpler. Like the Weiler and Vatti algorithm it handles any sort of polygons including self-intersecting ones. Furthermore, it, like Vatti’s algorithm, can be modified to return the difference and union of polygons, not […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 1

Introduction In this topic we combine properties of motions, homogeneous coordinates, projective transformations, and clipping to describe the mathematics behind the three-dimensional computer graphics transformation pipeline. With this knowledge one will then know all there is to know about how to display three-dimensional points on a screen and subsequent topics will not have to worry […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 2

Vanishing Points If there is no clipping, then after one has the camera coordinates of a point, the next problem is to project to the view plane z = d. The central projection p of R3 from the origin to this plane is easy to compute. Using similarity of triangles, we get Let us see […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 3

Clipping In the last section we showed how to transform the clipping problem to a problem of clipping against the unit cube in clip space. The actual clipping against the cube will be done in homogeneous clip space using homogeneous coordinates (x,y,z,w). The advantage of homogeneous coordinates was already alluded to: every point of camera […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 4

Parallel Projections So far we have dealt solely with perspective views, but there are times when one wants views based on parallel projections. Although this can be thought of as a special case of central projections where the camera is moved to “infinity” along some direction, it is worth considering on its own because one […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 5

Robotics and Animation This section is mainly intended as an example of frames and transformations and how the former can greatly facilitate the study of the latter, but it also enables us to give a brief introduction to the subject of the kinematics of robot arms. Even though we can only cover some very simple […]

Transformations and the Graphics Pipeline(Basic Computer Graphics) Part 6

Quaternions and In-betweening This short section describes another aspect of how transformations get used in animation. In particular, we discuss a nice application of quaternions. Unit quaternions are a more efficient way to represent a rotation of R3 than the standard matrix representation of SO(3).Other references for the topic of this section are [WatW92], [Hogg92], […]

Approaches to Geometric Modeling (Basic Computer Graphics) Part 1

Introduction The last four topics covered the basic mathematics and computer graphics algorithms needed to display two- or three-dimensional points and segments. As limited as this may sound, this is actually enough to develop a quite decent modeling system that would handle complex linear three-dimensional objects as long as we represent them only in terms […]