next up previous
Next: Element Pairs Up: Warping Previous: Feature-Based 3D Warping

Individual Feature Elements

Individual feature elements should be designed in a manner such that they can delineate any feature an object may possess. However, expressiveness should not sacrifice simplicity, as complex features can still be matched by a group of simple elements. Hence, the defining attributes of our elements encode only the essential characteristics of features:

Spatial configuration:
The feature's position and orientation are encoded in an element's local coordinate system, comprising four vectors. These are the position vector of its origin , and three mutually perpendicular unit vectors , and , defining the directions of the coordinate axes. The element's scaling factors , , and define a feature's extent along each of the principal axes.
Dimensionality:
The dimensionality of a feature depends on the subjective perception of a feature's relative size in each dimension: the tip of the plane's nose is perceived as a point, the edge of the plane's wing as a line, the dart's fin as a surface, and the dart's shaft as a volume. Accordingly, our simplified elements have a type, which can be a point, segment, rectangle, or box. In our magnetic sculpting analogy, the element type determines the shape of its influence field. For example, a box magnet defines the path of points within and near the box; points further from the box are influenced less as their distance increases.

The reader familiar with the 2D technique of [2] will notice two differences between our 3D elements and a direct extention of 2D feature lines into 3D; in fact, these are the only differences as far as the warping algorithm is concerned.

First, in the 2D technique, the shape of a feature line's influence field is controlled by two manually specified parameters. Instead, we provide four simple types of influence fields --- point, segment, rectangle, and box --- thus allowing for a more intuitive, yet equally powerful, UI.


  
Figure 2: 2D warp artifacts (not to scale). (a) shows the result of squeezing a circle using two feature lines placed on opposite sides of the circle. The warped circle spills outside the corresponding, closely spaced, lines. Similarly, in (b), the narrow ellipsoid with two lines on either side does not expand to a circle when the lines are drawn apart; we get instead three copies of the ellipsoid.


Second, our feature elements encode the 3D extent of a 3D feature via the scaling factors , , and ; by contrast, feature lines in [2] capture only the 1D extent of a 2D feature, in the direction of each feature line. These scaling factors introduce additional degrees of freedom for each feature element. In the majority of situations, these extra degrees have a minor effect on the warp and may thus be ignored. However, under extreme warps, they permit the user to solve the ghosting problem, documented in [2] and illustrated in figure 2. For instance, in part (b) of this example, the ellipsoid is replicated because each feature line requires that an unscaled ellipsoid appear by its side: the feature lines in [2] cannot specify any stretching in the perpendicular direction. However, in a 2D analogue of our technique, the user would use the lines' scaling factors to stretch the ellipsoid. First, the user would encode the ellipsoid's width in the scaling factors of the original feature lines. Then, in order to stretch the ellipsoid into a circle, the user would not only move the feature lines apart, but will also make the lines' scaling factors encode the desired new width of the ellipsoid. In fact, using our technique, a single feature line suffices to turn the ellipsoid into a circle.



next up previous
Next: Element Pairs Up: Warping Previous: Feature-Based 3D Warping



Last update: 11 May 1995 by Apostolos "Toli" Lerios
tolis@cs.stanford.edu