COM1370 Project Topics - Summer 2002 - Prof. Futrelle


The general procedures as to how to proceed with each project, when what to hand in and in what form, can be found in the project document.


Bitmapped characters
Design a representation and some instances for bitmapped characters and transfer them efficiently to construct text on the screen. Both monospaced and proportionally spaced. Needn't do entire alphabet.

Interactive curve drawing
Allow user to draw and adjust cubic Beziers in 2D.

Bezier approximations
System that generates Bezier approximations of circles, ellipses, ovals, fillets. Analyze accuracy.

Scan conversion for triangles
Develop more efficient scan conversion algorithms for triangles. Also fill with textures.

Phong shading
Do Phong shading for single light source and simple, static 3D sets of polygons.

Warn shading
Do Warn shading for single light source and simple, static 3D sets of polygons.

Thick, dashed lines
Extend line drawing to thick lines with specifiable dash patterns. Add curved arrowheads and dimension notes, as in technical drawings.

Freehand curved boundaries
Interactive drawing of closed curved boundaries, then filled with color from pallet. (Use built-ins for pallet.)

Line and polygon clipping
Develop your own clipping to your own "window" within a system-drawn window. Explore a few algorithms.

Bezier fonts
Design and draw some characters with curved boundaries and holes, and fill. Attempt italicization with procedures.

Hierarchical transforms
Implement 2D hierarchical structures so that when a containing shape is transformed, the contained shapes are too, e.g., rotations, translations, scaling.

3D objects
Display 3D objects as wire frames and filled. Can do hidden surface decisions manually.

Transforms library
Build and document a library or 2D or 3D transforms that anybody could use.

Isometric views and transforms
Do rigid transforms of 3D wire frames.

Perspective views
Construct perspective wire frames, static. Show different camera views from various angles, distances and magnifications.

Backface detection and fill
For simple convex objects, use backface detection and fill visible polygons with your own fill algorithms.

Hidden surface removal
System that can deal with occluding objects, not just convex. Use built-in filled poly calls.

Your own window system
Build a system to show at least two overlapping windows with line graphics, including window selection, shrink to icon, window dragging. (Do simple line clipping.)

"Master objects"
Build a system that allows a user to select and place copies of objects, e.g., pieces of furniture.

Engineering drawing
Display three views of the same object, using a single underlying representation.

Exploded views
Show exploded view of an object, including light lines connecting to original position, e.g., a table with four legs. Allow user to vary explosion amount from zero on up.

Menus
Using a window within a window, create menus that do something such as change colors, shapes or positions of objects.

Depth cueing
Using a fixed 3D scene, shade to reduce contrast with increasing depth.

Ray tracing
Simplest examples using reflecting spheres.

Multiple illumination sources
Uniform shading of built-in polygons.

Go to COM1370 home page

Return to Prof. Futrelle's home page