Kenny Hoff's Final Project for
COMP-239: Exploring Virtual Worlds and
COMP-290: Immersive Computing Environments (ICE)
Integrating 2D and 3D Interaction Techniques
for Free-Form
Surface Modeling using 3D Relief Sculpturing as a Primitive
Spring 1997
COMP-290: Instructed by Greg
Welch and Henry Fuchs
COMP-239: Instructed by Gary Bishop
The University of North Carolina at Chapel Hill
Project Proposal and Current Progress
My goal in this project is to provide an immersive free-form surface
modeling environment using 3D relief sculpturing as the only primitive.
Interaction will be based on a standard 2D visual display and an ordinary
2D mouse/keyboard combination (perhaps even a graphics tablet). The user
will have the opportunity to work with the 2D image that creates the sculpture
or work directly with the 3D mesh; both models are kept synchronized. The
project has several aspects: 3D navigation, 3D object manipulation and
interaction, and 2D image-based interaction.
The project is divided into the following major categories:
- 3D Navigation and Object Manipulation
Using the Mouse: the primary difficulty will be in obtaining general
enough navigation and surface manipulation controls that feel natural to
the user. The model or surface must feel as though it is properly attached
to the mouse pointer and the speed of navigation must feel natural at all
scales. The interface must allow for "outside looking-in" kinds
of navigation capabilities as well as immersed views; the user must be
able to walk on the surface of the model.
- Image-to-Geometry Conversion:
We must provide the user with various ways of creating the terrain mesh
from the given or current image. This not only includes the mapping of
the height from various values (brightness, red, green, blue, etc.), but
also the color mappings (do not necessarily have to correspond to heights)
and the overall shape of the relief sculpture (not necessarily on a plane).
- Image Editing:
We must provide the user with a rich set of "brushes" to interact
with the 2D image in creating the sculpture.
- Interactive 3D Mesh Editing:
the user must be allowed to change the mesh directly rather than through
the image. A fundamental experiment is to see if the user will take advantage
of both methods of interaction: some things are easier to edit through
the 2D image, other things are easier through the mesh directly in 3D.
- Alternative
Forms of Input and Interaction: we could possibly provide the user
with interaction through a graphics tablet (pen computing) or through a
head-mounted display and hand tracker.
- Relief Sculpturing System Layout and
Design: the encompasses the overall layout of the program including
its interface and the interaction of the various parts (the other categories).
The progress is to proceed as follows:
- Finish the OpenGL based viewer. This will provide the basic framework
in which to work. I will provide basic navigation routines that I will
refine throughout the course of the project.
- Generalize the image-to-mesh process. I plan to provide many different
meshing strategies from a given 24-bit heightmap.
- Integrate the 2D image with the 3D viewer. Provide an interface to
both.
- Add some basic image editing features for the 2D view. The user will
be allowed to create simple height maps directly through some simple tools
or by loading in an image. Various adjustable parameters will be provided
for deciding the height values. An interface for all of this must be implemented
in the form of some type of toolbar.
- Provide mappings of the relief sculpture into various shapes (spheres,
cylinders, tori, mirrored surface, etc.).
- Implement basic 3D mesh editing. At first the user will be able to
select and move control points in the mesh in a very limited fashion; the
image will be updated accordingly.
- Provide additional navigation ability. Allow the user to walk on the
surface of the sculpture without passing through it.
- Experiment with fancier mesh generation alternatives: NURBS, etc.
- Experiment with alternative image processing and filtering techniques.
- Try alternative forms of input and interaction: graphics tablet and
head-mounted display.
- Add animation recording and playback capabilities not only for the
camera, but for the sculpture generation.
What will we have to show for it?
- "super-viewer" of triangle-based models complete with a wide-range
of navigation and object manipulation routines, path recording and playback,
and a screen-capturing "snapshot" utility. Perhaps reading of
NURBS surfaces will also be included. The viewer will definitely support
mouse and keyboard input, but perhaps also input from the "JoyBox"
and the head-mounted display and "Pythons".
- fast method for creating sophisticated free-form surfaces (sculptures)
in an intuitive manner.
- sophisticated integration of 2D and 3D manipulations of a 3D model
that utilizes geometric and image-based methods.
- create a complete, new, and fairly general modeling program for a wide-range
of free-form surfaces that includes: relief sculptures; lathed objects;
terrains and heightfields; spherical, cylindrical, or toroidal terrain
mappings; and CSG sculptures.
Readings
- How to Turn Right, Ken Shoemake, SIGGRAPH '91 Course Notes.
- Animating Rotation with Quaternion Curves, Ken Shoemake, SIGGRAPH
'85, Vol 19, No. 3.
- Quaternion Calculus for Animation, Ken Shoemake, SIGGRAPH '91
Course Notes.
- ARCBALL: A User Interface for Specifying Three-Dimensional Orientation
using a Mouse, Ken Shoemake, SIGGRAPH '91 Course Notes.
- Polar Decomposition for Rotation Extraction, Ken Shoemake, SIGGRAPH
'91 Course Notes.
Home