Page 5 - Computer Graphics Handout
P. 5
2.14 Polygon Filling and Clipping Techniques ................................................................................................................ 83
2.14.1 Seed Fill Algorithm .......................................................................................................................................... 83
2.14.2 Edge Flag Algorithm ........................................................................................................................................ 83
2.14.3 Polygon Clipping Algorithms ........................................................................................................................... 83
SUMMARY AND NOTES...................................................................................................................................................... 84
Exercises ............................................................................................................................................................................ 85
Chapter 3 GEOMETRIC OBJECTS AND TRANSFORMATIONS ............................................................................................. 86
3.1 SCALARS, POINTS, AND VECTORS ............................................................................................................................ 86
3.1.1 Geometric Objects ............................................................................................................................................ 86
3.1.2 Coordinate-Free Geometry ............................................................................................................................... 88
3.1.3 The Mathematical View: Vector and Affine Spaces .......................................................................................... 88
3.1.4 The Computer Science View ............................................................................................................................. 89
3.1.5 Geometric ADTs ................................................................................................................................................ 89
3.1.6 Lines .................................................................................................................................................................. 90
3.1.7 Affine Sums ....................................................................................................................................................... 90
3.1.8 Convexity .......................................................................................................................................................... 91
3.1.9 Dot and Cross Products..................................................................................................................................... 91
3.1.10 Planes .............................................................................................................................................................. 92
3.2 THREE-DIMENSIONAL PRIMITIVES ........................................................................................................................... 93
3.3 COORDINATE SYSTEMS AND FRAMES ..................................................................................................................... 95
3.3.1 Representations and N-Tuples ......................................................................................................................... 96
3.3.2 Change of Coordinate Systems ......................................................................................................................... 97
3.3.3 Example Change of Representation ................................................................................................................. 99
3.3.4 Homogeneous Coordinates ............................................................................................................................ 100
3.3.5 Example Change in Frames ............................................................................................................................. 102
3.3.6 Working with Representations ....................................................................................................................... 103
3.4 FRAMES IN OPENGL ............................................................................................................................................... 105
3.5 MATRIX AND VECTOR CLASSES .............................................................................................................................. 108
3.6 MODELING A COLORED CUBE ................................................................................................................................ 108
3.6.1 Modeling the Faces ......................................................................................................................................... 109
3.6.2 Inward- and Outward-Pointing Faces ............................................................................................................. 109
3.6.3 Data Structures for Object Representation .................................................................................................... 109
3.6.4 The Color Cube................................................................................................................................................ 110
5

