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