Project Review then Project Demonstrations The Quiz 3, final exam, covers the entire course. Online course, open book, open web, no time limet. See Review Lectures 9 and 19 also. Same type of exam. One hour time limit. (You may bring your own laptop) (You may use the class web pages.) (Read the instructions and follow the instructions.) (Read carefully, answer the question that is asked.) Then, present more project demonstrations, using share. This course has covered various building blocks that can be used to build a Graphical User Interface. Whenever possible use the capabilities in your tool kit, rather than coding standard features. Use your time to put together an integrated application, using all available code, graphics, sound, etc. In order to make movement realistic, use the equations of physics. Usually provide some kind of manual or automatic speed control, in order to account for various computers having different processing and graphics speeds. For humor, you might use cartoon characters that violate the laws of physics. Typically users are given speed controls rather than acceleration controls. The "accelerator" in a vehicle is a speed control, in spite of its name. Some applications may use a force control that is translated into an acceleration using Acceleration=Force/Mass. Special purpose kinematics may be used in some applications to compute a path from one location to another. These may work in either two or three dimensions. A body in air or space, has six degrees of freedom: Movement in the three space dimensions, X, Y, Z and rotation about the three axis through the center of gravity, roll about the longitudinal axis, pitch about the lateral axis and yaw about the vertical axis. Target motion can be generated by using published equation for curves and surfaces. A vapor trail can be shown by keeping a few previous coordinates and drawing increasingly smaller stuff. Cartoons use squash and stretch and squeeze for humorous effects. Older 2D cartoons used a hand drawn background and moved only a mouth or hand for some frames. Each frame became a frame on the final film. Each frame was drawn by hand, called "ink and paint". Postscript is a language for displaying text and graphics. Your application can generate Postscript output relatively easily. Outputting jpeg or png files can be accomplished with an appropriate tool kit. 3D rendering may use Z-plane or Ray Trace or other methods. Povray is one free Ray Trace renderer. The rendering may use a frustum volume or a cube volume or other. The closest surface of the rendered volume is sometimes called "hither" and the farthest surface "yon". Any physical units with any scaling may be used in the "world coordinate" volume. Rendering may show shading, plane faces, wireframe or vertices. Each may be useful to a user or developer for various purposes. OpenGL takes a world coordinate, also called the model coordinate, and multiplies by the 4 by 4 model view matrix. The resulting translated and rotated homogeneous coordinate [x, y, z, w] is multipled by the 4 by 4 perspective matrix. The result is scaled to the screen. The model view matrix is initialized to the identity matrix and the perspective matrix is initialized based on the frustum with eye typically at 0,0,0. Another way to render 3D is an orthographic projection that has much easier computation. This uses simple equations to map a cube or rectangular prism onto 2D screen. ____ / /| /___/ | | | / |___|/ 3D may be viewed on special screens, lenticular, without glasses. The user may see 3D using special glasses, two popular types are red-blue(red-cyan) and circularly polarized. The user interface needs to be tailored to the device and the typical users usage. A cell phone typically does not have a keyboard, thus any user text entry needs to simulate the partial keyboard as on a touch screen. A laptop or desktop typically has a keyboard and does not have a touch screen, thus the user interface is designed to work with the keyboard and mouse. Game consoles may have unique controls and unique user interface based on the type of console and the type(s) of games. One style does not fit all. Beware stupid advertizing! Color can be used to help the user comprehend magnitude. Color scale is easily added to displays. There are examples using tkinter graphics with "after", "move" and "turtle graphics". Final exam is same type as Quiz 1 and 2. Open book, open note, open computer. One hour time limit. No EMail or instant messaging during exam. Based on WEB pages and lectures 1 through 29. See quiz3 q3_f21a b or c .doc download, answer, submit.