**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**

- Terminology: For example: jaggies, pixel, refreshing, filling,
frame buffer, odd-parity test/inside-outside test, clipping or world window, viewport.
scan conversion, coherence, animation
- Scan Conversion:
- The Basic Incremental Algorithm vs the Bresenham's Line Algorithm
- Issues in Line Drawing
- Circle drawing

- Hardware: raster
- how save an image (where, what form)
- how refresh image

- 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

- 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?

- 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?

- Animation
- Techniques and their affects
- Issues

**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

- Input Primitives: choice, pick, string, valuator, locator

November 4, 2004

http://www.cs.rit.edu/~ncs/Courses/570/Topics_Midterm.html