Lecture 29, Review


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.