Comp 145 – UNC Chapel Hill

User Manual

Project 12

3D Widget for the inTouch System

Submitted to :

Prof. Greg Welch

Prof. Ming Lin

May 1, 2001

______Mark Foskey (Technical Director)

______Joohi Lee (Quality Assurance)

______Bryan Crumpler (Librarian)

______Derek Hartman (Producer)

Document Change History

3/1/01 Initial version, formatted identically to outline in course web page.

3/9/01 Revised to approximate final manual format

4/14/01 Added to outline form

4/28/01 Revised outline, added pictures/screenshots

Introduction

Purpose

This document is intended to educate the user on how to start the inTouch system, how to use each of its functions via the UI, and how to end an inTouch session.

Audience

The reader is expected to be a beginner to inTouch, but with some knowledge about computer graphics, general computer usage, and the phantom interface.

Document Conventions

In this draft, italics indicate descriptions of text to be added later. Text in roman type should be read as a draft of the actual content. This paragraph is a special case.

inTouch System Overview

inTouch, can be used as a geometric modeler, where the user may load a simple primitive such as a triangle mesh approximation of a sphere and deform it to create an interesting model. Or, it can be used as a finishing system in conjunction with an existing modeling package by creating sharp features and finer details, as well as painting color directly onto the model's surface. Alternatively, it can be used as a natural and intuitive editing and painting tool to modify and refine a model scanned by a model digitizer. It complements existing techniques and modeling software. The system has the following characteristics:

·  Direct third-dimensional model interaction with a haptic interface -- We use a commercial force-feedback device (PHANToM) and H-Collide to interact with a virtual model by directly manipulating points on the model surface and placing paint on the desired location with relatively high fidelity (limited by pixel precision).

·  Multiresolution model editing -- Based on a subdivision surface representation, we can shape and edit models of arbitrary topology at varying levels of detail. Due to the uniformity of representation, the resulting meshes can be used directly for rendering and simulation without any format conversion.

·  Interactive 3D painting -- Given true 3D interaction, we can paint directly onto the surface of the model without cumbersome mapping schemes or other object registration problems.

The User Interface is a 2D menu drawn over the edge of the projected 3D scene which contains the model being edited and the PHANToM probe. The user can effectively interact with the 3D scene and the 2D menu without ever having to let go of the stylus.

In addition to file I/O, the user can position, orient, and scale the models with various 3D techniques. For shape deformation, the interface allows the user to pick the desired edit level and type of probe constraint. Actual deformations occur by pressing and releasing the button when in contact with the model surface. The most recent mesh edit or brush stroke can be undone by simply double clicking the stylus button when not in contact with the surface.

For 3D painting, the user can interactively choose the color, saturation, and luminance of the brush stroke as well as its radius and falloff by naturally dragging in a 2D canvas. The haptic stylus inputs the 3D location of the virtual editing tool and paintbrush controlled by the user. It is drawn in the 3D scene as a sphere of radius equal to the effective radius of the virtual brush and colored the same color as the paint being applied. The radius is increased relative to the force exerted by the user on the haptic stylus as in real painting.


Starting an inTouch session

It is assumed the user has obtained the executable file for inTouch for the operating system with which the user has chosen to use, along with all associated object files, graphic files, and modeling files.

Before starting inTouch, the Phantom Server must be activated. Do this by locating the Phantom server on the associated PC with which the Phantom is connected. Usually this is located in d:\feeler\phantomServers\phantom server ghost3.0\phan_server

Running this file will activate the Phantom. The Phantom will automatically calibrate itself, and no adjustments are required.

On the Unix variant computer, navigate to the directory containing the inTouch executable. Barebones execution can be achieved by typing:

modelMaster -phantom Phantom@modelingX-cs

where the 'X' is replaced by the number of the modeling station on which the Phantom server is being run.

Other options that can be added to the command line include:

-i <input file name>

try .gorg files in ~geom/geom4/feeler/VR2000

-stereo

make sure the crystal eyes are switched on

-o <output gorg file name>

-oI <output file name for ppm screen capture>

-geom <xofset> <yoffset> <width> <height>

-smooth <additional levels of subdivision smoothing to add>

if you use this option you must save the model quit,

and reload

-smoothBrushStroke

turns on the paint brush stroke smoothing feature

after you release the button the stroke will be smoothed,

but you will have to wait

-paintOnly

disables sculpting so one can paint on an arbitrary mesh


Using the inTouch system

Figure 1. Start up scene

When the inTouch system is correctly started, a screen should appear much like the one presented in Figure 1. In the center of the screen is the model. The default model is a solid sphere, however if another model was specified when the system was started, it will appear instead of the sphere in the center of the screen. On the right side of the screen is the toolbar containing the eight tools of inTouch. The functionality of each of these tools is described below. Somewhere near the center of the screen, the current tool (defaulted to the claw) will appear. Hovering the end of the selected tool over the toolbar and pushing the Phantom button will select a new tool.

Paintbrush

The paintbrush is the primary tool for coloring the model. When the paintbrush is selected, the paintbrush tool will become the new selected tool. (Figure 2). To paint, the paintbrush tool must be in contact with the model. Move the Phantom stylus until the haptic feedback stops your motion. This indicates you are in contact with the model. Press the Phantom button (on the stylus, near the joint) to activate the paintbrush. As long as the button is held down, the paintbrush will continue to color the area of the model in which it comes in contact.

The Paintbrush Options menu (Figure 3) will be open at all times the paintbrush tool is in use. It appears in the upper left corner of the screen. At the top of the menu is a large tri-colored triangle, with a white, black, and user-defined colored corners. Hovering the end of the paintbrush over any point on the triangle and pressing the Phantom button will select the color of the point over which the paintbrush is hovering. This color will be reflected in the colored square in the bottom-right side of the Paintbrush Options menu. Also, the paintbrush tool will change color to reflect the new color choice.

To define the color of the user-selected corner of the color triangle, click on the gray box on the line under the word 'Hue'. While clicking on the box, slide it either left or right to move up or down the color spectrum. As the slider moves, the new color will be reflected in the above color triangle. A similar procedure used in conjunction with the 'Falloff' slider will change how thick the paint will be around the edges of the brush, and changing the 'Size' slider will change the size of the brush itself. Note that although the brush size may be changed larger or smaller, the Paintbrush tool itself will not change in size.


Figure 2. Paintbrush /
Figure 3. Paintbrush Option
Select brush color, falloff and size

Plunger

The plunger is the primary tool for deforming the modeling shape. When the plunger is selected, the plunger tool will become the new selected tool (Figure 4). To deform the model the plunger tool must be in contact with the model. Move the Phantom stylus until the haptic feedback stops your motion. This indicates you are in contact with the model. Press the Phantom button (on the stylus, near the joint) to activate the plunger. While the button is held down, the area underneath the plunger will be "attached" to the plunger and can be moved about at the user's discretion. The area of the model around the plunger will stretch or shrink in accordance with the movement, in much the way that putty or clay reacts to prodding.

The Plunger Options menu (Figure 5) will be open at all times the plunger tool is in use. It appears in the upper left corner of the screen. . The menu contains a single vertical slider, which will change the size of the area attached to the plunger during a deformation, and will therefore change the size of the bumps and dents created by the tool. Sliding the 'Bump Size' slider upwards indicates a smaller attachment area (and hence a smaller bump) where as sliding the slider downward will increase the attachment area.


Figure 4. Plunger /
Figure 5. Plunger Option
Select bump size. +:increase –:decrease

Claw

The claw is the primary tool for transforming the model. That is, the claw allows the user to translate, rotate, and scale the model within the limits of the screen. When the claw is selected, the claw tool will become the new selected tool (Figure 6). The claw, unlike all other manual tools, does not need to be in contact with the model's surface in order to transform its location. Indeed it is sometimes easier, although far less intuitive, to select the space around the model and shift the model from that point. Translating and rotating the model are easily accomplished by manipulating the Phantom. Scaling the model involves use of the Claw Option menu (Figure 7). Sliding the vertical 'Zoom' slider upwards will scale the model larger, while dragging the slider down will shrink the model.


Figure 6. Claw /
Figure 7. ClawOption
Adjust zoom.

Magnet

The magnet is a secondary deformation tool that acts like, but not identically to the plunger. The Magnet (Figure 8) functions, like the plunger, by coming in contact with the surface of the model. However, unlike the plunger, the magnet tool does not attach to one area, but instead will slide along the model's surface, raising or lowering the elevation depending on the position of the Phantom. In this manner, valleys and mountains can be created with one tool, rather than raising multiple bumps or dents with the plunger. The magnet also uses the Plunger Option menu (Figure 5) to change the size of the area which it will deform.


Figure 8. Magnet

Undo

The undo function will take back the last complete action taken by the user. A 'complete' action is defined as the last event from Phantom button press to Phantom button release. The undo function will not change the current tool nor does the feature have an associated Options menu.

Save

The save function will save the model as either a user-specified file name or as felt.gorg, depending on if the user specified a filename when executing the program. The newly saved model will be saved within the directory containing the executable file. Subsequent uses of the save tool will save over previous uses. The save function will not change the current tool nor does the feature have an associated Options menu.

Snapshot

The snapshot tool takes a snapshot (screenshot) of the current frame buffer, saves the buffer by the filename feltModel.ppm, and places the model in the directory containing the executable. Subsequent uses of the Snapshot tool will save over previous uses. The snapshot function will not change the current tool nor does the feature have an associated Options menu.

Quit

The Quit function safely terminates the execution of the program. Note that the Phantom server may still be running and will need to be closed separately on the PC on which it is running.

Figure 9. A screen shot from the running system

Figure 9 illustrates several of the above tools. The paintbrush tool is currently selected. The Paintbrush Options menu can clearly be seen in the upper left corner of the window. Also, it is clear that the basic model shape has been modified with the use of the plunger.


Appendixes

For more information about this project, please contact:

Professor Ming Lin

(919) 962-1972

This manual was written by:

Derek Hartman

Mark Foskey

Joohi Lee

Bryan Crumper