8.2 FEEDBACK ELEMENTS
Of the basic feedback elements, described in section 5.2, those that are especially useful
in manipulation are indicators, handles, verbal messages, and sound effects. Here
the focus is on elements that are suited for relational feedback, in particular ones formulated
to provide the user with a visual feel for how objects are situated during
direct manipulation in a 3D scene.
One way to categorize relational feedback elements is by how they indicate object
and environmental relationships. For example, one type projects— sticks out— into
the surrounding space from the host object. Another type encloses the host object to
indicate its spatial extent. And yet another type, the tic mark, is a small line or symbol
that assists with alignment or that indicates when alignment is achieved. A different
way to distinguish relational feedback elements is by whether they participate by showing
relations actively or passively. Passive elements, such as outlines and projections,
are decorations that require no active processing. Instead, they do their job strictly by
their visual appearance and the manner in which they occlude or reveal surrounding
objects. Active elements, on the other hand, require explicit geometric processing to
determine when specific spatial relationships occur, such as when two edges align and
a tic mark appears.
Because of their use for in-scene manipulation, many of these elements benefit
from revealment techniques discussed as part of feedback and visibility. For example,
snap elements on objects are used to snap and attach objects together— two critical
functions in manipulation. It is convenient, if not vital, for the user to see and access
the snap elements even if surrounding objects hide them. Use of the X-ray overlay
technique is one way to satisfy this need. Many of the visual attributes for feedback
elements discussed earlier in section 6.2, such as distinction, size, and orientation, are
also applicable to snap elements and the other feedback elements described here.
| Table 8. 2 Relational feedback elements for manipulation |
| Feelers |
- Visual aids showing the relation of an object to its neighbors and surroundings
- Passive feelers are visual only
- Active feelers require real-time geometric processing
|
| Projections |
- A feeler that projects from an object into the scene
- Line, plane, or complex shape indicating proximity, alignment, or affinity
|
Skirts |
- A projection appearing as a translucent box underneath or beside an object
- Idiom for a lifted object
- Intersects with surrounding objects to show proximity
|
| Outlines |
- Encloses or delineates an object, object part (vertex, edge, face), or object group
- As a feeler, shows spatial extent
- As control feedback, indicates selection and mouseover
- As a control widget, serves as a drag handle
|
| Tic marks |
- A small line or symbol marking a spatial position, graduating a spatial range, or
indicating alignment
- As a feeler, indicates proximity or alignment
- As control feedback, indicates graduations over a range of motion
|
| Rulers |
- Provides quantitative measurement of size, distance, angle, and so on
- As a feeler, indicates distance between or position of objects in the scene
- As descriptive feedback, indicates size, angle, curvature, and so on of an object
- As a tool, an active or passive measuring tool manipulated by the user
|
| Snaps |
- Hybrid of relational and control feedback indicating where and how attachment
can occur
- Can have a type to enforce selective matching
- Can have an orientation to enforce geometric alignment
|
8.2.1 Feelers
When the user views a 3D world on a 2D display, there can be confusion as to how far
away objects are from the user or from other objects. This was described earlier by the
example of looking at a simple box in the scene and not being able to tell whether the
box is small, above the floor, and near; or whether it is large, on the floor, and far. It is
generally useful and sometimes even necessary to provide visual aids showing where
an object is in the world in relation to its neighbors and surroundings. Elements used
to provide this type of relational feedback are called feelers.
Relational feedback elements can serve in many feedback and control capacities,
feelers being a major one. The term feeler refers to both a class of elements as well as
a role in which other elements can serve. Most of the elements described below are
either a specific type of feeler element, or can serve in the capacity of a feeler.
8.2.2 Projections
Projecting feelers, or projections, can take the form of lines, planes, boxes, outlines, and
even lightning bolts. Some show proximity and alignment, and others show affinity.
For example, a plane might project from an edge of the host object parallel to a face of
the object. As the user moves the object, so too moves the plane projecting into space.
By moving the target object, the user can get a sense for where the object is in relation
to neighboring objects by the way the plane intersects them, and whether or not the
target face is aligned with some other object. A special form of planar projection feeler
is the skirt, which is described and shown in section 8.2.3.
 |
| | Figure 8. 7 When opposing snap points are close enough to
snap, they highlight and a feeler indicates what will be
snapped. (Courtesy of TechniCon Corporation) |
An example of a projecting
feeler with affinity
might be a lightning bolt
that appears between
snap points on nearby
objects. A snap point
indicates where, on an
object, other objects can
be connected. The lightening
bolt's appearance is
an idiom telling the user
that the points will be
snapped together if the
user lets go of the mouse
button. An example is
shown in figure 8. 7.
As with any feedback
technique, it is important for projecting feelers to minimize their interference with the
user's view of the surroundings; otherwise, the solution might be worse than the problem.
In general, feelers should be visible only when the host object is selected or being
manipulated; and they should be as small as possible while still getting the job done.
If a line will do, then use it instead of a plane because the line will be less intrusive.
The position of the feeler on the target can also help. For example, lines projecting at
floor level from the target object would help indicate proximity to and alignment with
other objects on the floor with minimal interference to viewing the contents of the
room. If the feeler must be a plane, then consider making the plane semitransparent
so surrounding objects can be seen through it. This also helps the user with depth perception
because near objects will appear clearly, and far objects will appear hazy
through the feeler plane. Limiting the extent of the feeler, rather than letting it stretch
to infinity, can also help to minimize presentation clutter. For example, the extent can
be limited to the nearest intersecting object or to a particular surrounding entity, such
as the floor or walls in a room. This, however, makes the projection an active feeler,
e. g., as an alignment tic mark, instead of a passive one.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|