130 likes | 320 Views
Final Exam. Monday Nov 13, 2-4pm CC-43 Bring Calculator – no laptops Note sheet Complete FAST entries before exam -5 pts deduction if not done by exam time You need VPN if off-campus. Final Review. Computer Graphics Hardware Point and Line Drawing Polygon Filling Linux OS
E N D
Final Exam • Monday Nov 13, 2-4pm CC-43 • Bring • Calculator – no laptops • Note sheet • Complete FAST entries before exam • -5 pts deduction if not done by exam time • You need VPN if off-campus CS-321Dr. Mark L. Hornick
Final Review • Computer Graphics Hardware • Point and Line Drawing • Polygon Filling • Linux OS • C++ polymorphism and inheritance • 3-D Object representation • 2-D Transformations • 3-D Transformations CS-321Dr. Mark L. Hornick
Computer Graphics Hardware • Compare and contrast the way vector and raster devices operate and render images on the display screen. • Discuss the relative advantages & disadvantages of both approaches • Calculate how much memory is required for an N-color raster display of resolution n x m • Calculate the data transfer rate required for a raster display with a N Hz refresh CS-321Dr. Mark L. Hornick
Point and Line Drawing • Compare/contrast the various line generation algorithms • Simple • DDA • Bresenham • Execute the formulas for computing Bresenham’s algorithm • Explain anti-aliasing algorithms CS-321Dr. Mark L. Hornick
Supersampling CS-321Dr. Mark L. Hornick
Polygon Filling • Explain scan-line fill and inside-outside testing • Odd-even rule • Non-zero winding rule • Provide or identify examples of each • Explain boundary fill vs. flood fill • Determine the progression of the boundary/flood fill algorithm filling a simple shape CS-321Dr. Mark L. Hornick
C++ • Inheritance & Polymorphism • Explain the “virtual” specifier does and its effect • Define an abstract base class • Define a pure virtual method • Explain when must you override a virtual method • Describe the effect of calling a method that is not virtual, using both base class and derived class references • Explain what happens if you don’t override a virtual method CS-321Dr. Mark L. Hornick
C++ • UML class diagrams • Given a UML class diagram, write the corresponding C++ class declaration(s) • Given C++ class declaration(s), draw the corresponding UML class diagram and the relationship between classes • Using appropriate connectors CS-321Dr. Mark L. Hornick
C++ • Constructors • Describe which constructors the compiler generates automatically • Explain what specific circumstances cause the compiler to NOT generate these constructors • Describe what the default implementation of these automatically generated constructors do • Explain when the various constructors are invoked • Explain the order of construction in inheritance situations • Explain which base constructors are invoked when derived objects are created • Explain how to invoke a specific base class constructor when constructing a derived class CS-321Dr. Mark L. Hornick
C++ • Copy Constructor • Explain the purpose of a copy constructor • Explain what implementation is provided by the default copy constructor supplied by the compiler • Assignment operator (operator=() method) • Explain what implementation is provided to classes by the default assignment operator supplied by the compiler • Discuss the danger of not checking for self-assignment when you write an operator=() method • Explain or Identify shallow vs. deep copy CS-321Dr. Mark L. Hornick
3-D Object Modeling • Write the parametric equations for a line, given the two endpoint coordinates of segment • 2-D (x,y pairs) • Determine if two line segments intersect, given their respective parametric equations • 3-D (x,y,z pairs) • Determine the equation for a plane, given the coordinates or 3 (or more) points on the plane • Determine if an arbitrary point lies on, below, or above a plane • Determine if a line segment intersects a plane, given the parametric equations • Determine the normal vector to a plane, given • The equation for a plane • The coordinates of 3 or more points on the plane • Given the Bezier blending functions and control points, evaluate the (x,y,z) coordinates of any point on a Bezier curve CS-321Dr. Mark L. Hornick
Transformations • Write the matrix that expresses the transformation of coordinates from one frame to another • Translation matrix • Rotation matrix • Compound translation/rotation • Express multiple transformations of coordinates from an initial frame to a final frame as a sequence of transformation matrix multiplications • Given the viewing parameters as used in Lab 6, determine the offset and direction vectors of the axes of a second coordinate frame w.r.t. an initial frame • Derive the components of a matrix representing the position of a second coordinate frame with respect to a first frame, given the offset and direction vectors for the axes of the second frame w.r.t. the first • Given one or more transformation matrices, transform the coordinates of points expressed on one coordinate frame to another CS-321Dr. Mark L. Hornick