### 20041 Graphics Midterm Topics

Wednesday, October 6

Hearn and Baker Chapters 1-5

2-D Graphics

• hardware
• line drawing
• graphics primitives
• attributes (e.g., color, style) and the graphics primitives they apply to
• polygon/filling
• 2D transformations
• animation
• interactive graphics

Types of questions

1. Terminology: For example: jaggies, pixel, refreshing, filling, frame buffer, odd-parity test/inside-outside test, clipping or world window, viewport. scan conversion, coherence, animation

2. Scan Conversion:
• The Basic Incremental Algorithm vs the Bresenham's Line Algorithm
• Issues in Line Drawing
• Circle drawing

3. Hardware: raster
• how save an image (where, what form)
• how refresh image

4. Filling
• What is the name of the underlying principle/test for polygon filling?
• What does the underlying principle/test say?
• How is the underlying principle/test used in the implementation of polygon filling in your text?
• How does the polygon fill algorithm work?
• Should rectangles be treated as polygons? Pros and cons

5. Clipping
• Sutherland_Hodgman vs Cohen_Sutherland algorithm
• Understand the algorithms (outcodes or region code in CS, 4 cases in SH)
• What role does convex or rectangular clipping regions play?

6. Transformations: Scale, Rotate, Translate, Shearing, clipping/world window to Viewport (View transformation)
• What are the transformation equations/matrices for scale, rotate (clockwise vs counterclockwise), and translate?
• Be able to apply transformations.
• Why matrices/composite matrices?
• Does it matter in which order you apply the transformations?
• How to scale or rotate item about a point (x, y) that is not the origin.
• What transformations must be performed to go from clipping/world window to viewport? what are the translation and scale factor values?
• What coordinate systems are used to specify points for the clipping/world window and viewport?

7. Animation
• Techniques and their affects
• Issues

8. Interactive Graphics
• Input Primitives: choice, pick, string, valuator, locator
• What kind of info is returned
• Example devices
• Interactive techniques: Inking, rubberbanding, dragging, grids, constraints
• Be able to describe the technique
• What kind of logical devices are required to implement
• The whys and hows of feedback in interactive graphics
• Event driven programming model (how it's done in GLUT for OpenGL), including the purposes of the event processing loop, the event queue and the individual glut callback functions:
• glutDisplayFunc
• glutReshapeFunc
• glutKeyboardFunc
• glutMouseFunc
• glutMotionFunc
• glutPassiveMotionFunc
• glutIdleFunc

November 4, 2004
http://www.cs.rit.edu/~ncs/Courses/570/Topics_Midterm.html