+ All Categories
Home > Documents > Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A...

Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A...

Date post: 16-Jul-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
6
To appear in the ACM SIGGRAPH conference proceedings Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon Kim Joshua Gargus Jarek Rossignac Chris D. Shaw College of Computing Georgia Institute of Technology Figure 1: A sphere is deformed into a spork in 5 Twister steps. Red an green coloring indicate the area of influence of each hand. Abstract A free-form deformation that warps a surface or solid may be spec- ified in terms of one or several point-displacement constraints that must be interpolated by the deformation. The Twister approach in- troduced here, adds the capability to impose an orientation change, adding three rotational constraints, at each displaced point. Further- more, it solves for a space warp that simultaneously interpolates two sets of such displacement and orientation constraints. With a 6 DoF magnetic tracker in each hand, the user may grab two points on or near the surface of an object and simultaneously drag them to new locations while rotating the trackers to tilt, bend, or twist the shape near the displaced points. Using a new formalism based on a weighted average of screw displacements, Twister computes in realtime a smooth deformation, whose effect decays with distance from the grabbed points, simultaneously interpolating the 12 con- straints. It is continuously applied to the shape, providing realtime graphic feedback. The two-hand interface and the resulting defor- mation are intuitive and hence offer an effective direct manipulation tool for creating or modifying 3D shapes. CR Categories: I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—Curve, surface, solid, and ob- ject representations; I.3.6 [Computer Graphics]: Methodology and Techniques—Interaction techniques Keywords: free-form deformation, two-handed interaction, dis- placement and orientation constraints 1 Introduction Designers’ productivity may be enhanced by interactive techniques for shape manipulation, which link gestures to predictable deforma- tion effects and provides realtime visual, and possibly haptic, feed- back. Contributions in this field typically strive to define an abstract mapping between gesture and shape modification and an algorith- mic description of how parameters of shape modifying operators are to be inferred from measures extracted by tracking a gesture. In this paper, we advocate a grab and drag operation, but instead of restricting the dragging to a single point, we let the designer use both hands to grab and simultaneously drag and twist two differ- ent portions of the space in which the surface is embedded. We compute a 3D space warp that satisfies the position and orientation constraints imposed by both hands. Visual feedback is provided at interactive rates, displaying the immediate effect of the 3D warp on the surface of interest, while the user’s hands are still moving and modifying the constraints. We compare our solution for computing the constraint satisfying space warp to other solutions and, based on the deformed surfaces obtained, conclude that it has clear benefits. For example, Figure 1 shows how five two-handed gestures have been used to deform a sphere into a spork (combination of spoon and fork). The method described in this paper focuses on how to produce intuitive deformations of general surfaces from hand gestures. As such, it applies to the creation of 3D models for artistic purposes or for the exploration of crude approximations of shapes. It does not, however, intend to solve issues involved with the precise design of manufactured or functional surfaces. In the following section we justify our design decisions. Sec- tion 3 summarizes related work in the area of non physically based shape deformation. Section 4 presents our preferred solution for the deformation using six and twelve constraints. Section 5 presents al- ternative solutions and compares them with the solution in section 4. Section 6 provides some implementation details and results. 2 Motivation of Design Choices In this section we justify our main design choices: use of grab-and- drag shape deforming operations, use of two hands, use of rigid handles, use of orientation constraints, and use of space warps. Why Grab-and-Drag: Many different techniques can be used to construct 3D shapes. Some interpolate 3D points with implicit surfaces [Turk and O’Brien 2002], others automatically construct surfaces that interpolate 3D curves [Sachs et al. 1991], [Wesche and Seidel 2001], [Grossman et al. 2002], or 2D profiles [Igarashi et al. 1999]. Yet others provide means for the direct drawing of surfaces [Schkolne et al. 2001] or for space painting and carving [Galyean and Hughes 1991]. An alternative to these shape creation techniques is the warping or deformation of existing shapes. Var- ious methods and interaction paradigms have been developed for this purpose. Some let users manipulate the control points of free- 1
Transcript
Page 1: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes

Ignacio Llamas Byungmoon Kim Joshua Gargus Jarek Rossignac Chris D. Shaw

College of ComputingGeorgia Institute of Technology

Figure 1: A sphere is deformed into a spork in 5 Twister steps. Red an green coloring indicate the area of influence of each hand.

Abstract

A free-form deformation that warps a surface or solid may be spec-ified in terms of one or several point-displacement constraints thatmust be interpolated by the deformation. The Twister approach in-troduced here, adds the capability to impose an orientation change,adding three rotational constraints, at each displaced point. Further-more, it solves for a space warp that simultaneously interpolatestwo sets of such displacement and orientation constraints. With a 6DoF magnetic tracker in each hand, the user may grab two pointson or near the surface of an object and simultaneously drag themto new locations while rotating the trackers to tilt, bend, or twistthe shape near the displaced points. Using a new formalism basedon a weighted average of screw displacements, Twister computes inrealtime a smooth deformation, whose effect decays with distancefrom the grabbed points, simultaneously interpolating the 12 con-straints. It is continuously applied to the shape, providing realtimegraphic feedback. The two-hand interface and the resulting defor-mation are intuitive and hence offer an effective direct manipulationtool for creating or modifying 3D shapes.

CR Categories: I.3.5 [Computer Graphics]: ComputationalGeometry and Object Modeling—Curve, surface, solid, and ob-ject representations; I.3.6 [Computer Graphics]: Methodology andTechniques—Interaction techniques

Keywords: free-form deformation, two-handed interaction, dis-placement and orientation constraints

1 Introduction

Designers’ productivity may be enhanced by interactive techniquesfor shape manipulation, which link gestures to predictable deforma-tion effects and provides realtime visual, and possibly haptic, feed-back. Contributions in this field typically strive to define an abstract

mapping between gesture and shape modification and an algorith-mic description of how parameters of shape modifying operatorsare to be inferred from measures extracted by tracking a gesture.

In this paper, we advocate a grab and drag operation, but insteadof restricting the dragging to a single point, we let the designer useboth hands to grab and simultaneously drag and twist two differ-ent portions of the space in which the surface is embedded. Wecompute a 3D space warp that satisfies the position and orientationconstraints imposed by both hands. Visual feedback is provided atinteractive rates, displaying the immediate effect of the 3D warp onthe surface of interest, while the user’s hands are still moving andmodifying the constraints. We compare our solution for computingthe constraint satisfying space warp to other solutions and, based onthe deformed surfaces obtained, conclude that it has clear benefits.For example, Figure 1 shows how five two-handed gestures havebeen used to deform a sphere into a spork (combination of spoonand fork).

The method described in this paper focuses on how to produceintuitive deformations of general surfaces from hand gestures. Assuch, it applies to the creation of 3D models for artistic purposes orfor the exploration of crude approximations of shapes. It does not,however, intend to solve issues involved with the precise design ofmanufactured or functional surfaces.

In the following section we justify our design decisions. Sec-tion 3 summarizes related work in the area of non physically basedshape deformation. Section 4 presents our preferred solution for thedeformation using six and twelve constraints. Section 5 presents al-ternative solutions and compares them with the solution in section4. Section 6 provides some implementation details and results.

2 Motivation of Design Choices

In this section we justify our main design choices: use of grab-and-drag shape deforming operations, use of two hands, use of rigidhandles, use of orientation constraints, and use of space warps.

Why Grab-and-Drag: Many different techniques can be usedto construct 3D shapes. Some interpolate 3D points with implicitsurfaces [Turk and O’Brien 2002], others automatically constructsurfaces that interpolate 3D curves [Sachs et al. 1991], [Wescheand Seidel 2001], [Grossman et al. 2002], or 2D profiles [Igarashiet al. 1999]. Yet others provide means for the direct drawing ofsurfaces [Schkolne et al. 2001] or for space painting and carving[Galyean and Hughes 1991]. An alternative to these shape creationtechniques is the warping or deformation of existing shapes. Var-ious methods and interaction paradigms have been developed forthis purpose. Some let users manipulate the control points of free-

1

Page 2: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

form deformation lattices [Sederberg and Parry 1986], [Coquillart1990], or vertices of multiresolution meshes [Zorin et al. 1997].Higher-level techniques have been proposed for the direct manipu-lation of free-form deformation [Hsu et al. 1992] or for the mappingof two-handed spatial and pictographic gestures to axial deforma-tions [Nishino et al. 1998]. The technique described in this paperbelongs to this group. It is based on a grab-and-drag shape deform-ing operator, and thus falls within the paradigm of direct manipu-lation of shape. It does not limit the user’s interaction to controlpoints and does not restrict the operations to be axial deformations.

Why Use Rigid Handles: A human hand offers many degreesof freedom, some of which have been exploited for shape controlusing gloves [Nishino et al. 1998]. We chose instead to have theuser control the position and orientation of a small rigid object ineach hand. These two 6 DoF tracked objects represent handles thatmay each be used to grab a portion of space and to pull and twistit. Our decision was justified by the availability of robust 6 DoFtrackers [Polhemus 2002] and by the simplicity of the correspond-ing intentional semantics.

Why Use Orientation Constraints: The way our fingers andhands manipulate a deformable object imposes constraints on theorientation of its surface after a deformation. Combining multipleposition constraints (i.e. 3 triangle vertices), each roughly corre-sponding to a finger-imposed constraint, would allow the user tocontrol the surface orientation indirectly. However, we have con-cluded that controlling multiple position constraints individuallywith the purpose of changing surface orientation may be cumber-some, resulting in undesired undulations of the surface and in nu-meric instabilities. Thus we support orientation constraints. Pre-vious work by Fowler [1992], for the geometric manipulation oftensor product surfaces, and by Gain [2000], to allow the manipu-lation of the derivative frame with Directly Manipulated Free-FormDeformation (DMFFD), argue for the usefulness of such orienta-tion control. Figure 2 illustrates orientation constraints showing thedeformation of a flat surface with three different constraints.

Figure 2: Benefits of orientation constraints (left to right): trans-lation along vector OO′, translation and rotation about translationvector OO′, translation and screw rotation about an axis perpendic-ular to the translation vector OO′.

Why Use Two Hands: A previously proposed use of two handsin the context of object manipulation allows the user to controlthe object’s global position and orientation with one hand whilethe other hand performs some editing operation [Shaw and Green1997]. This method is used in our system. In addition to such anasymmetric use of the hands, we propose using two hands togetherto control a shape deforming operation and to provide a natural in-terface that builds upon our daily experience in manipulating cloth,paper, or plastic with both hands. Figures 1 and 3 show deforma-tions that would be difficult to specify with a single hand.

Why Warp Space: Some shape deformation techniques arephysically based ( [Terzopoulos and Fleischer 1988], [James andPai 1999], or [Szeliski and Tonnesen 1993], ) providing high fidelityapproximations of material properties such as plasticity, elasticity,or flexibility. A physically plausible behavior that is intuitively un-derstood by the designer makes it easier to predict the effect of agesture and thus to plan a sequence of deformations that lead to adesired shape. Unfortunately, physical realism is too expensive forrealtime feedback. Thus, we have opted for a compromise, whichoffers a simple and intuitive map between hand-gestures and space

Figure 3: Benefits of two-hand deformation (left to right): transla-tion only, translation and screw rotations, translation and screw ro-tations bending the surface. The screw motion trajectory is shownas a yellow curve. The screw axis of each screw rotation is shownas a pink cylinder.

warps that is independent of the manipulated surface. The cost ofcomputing the warp parameters is negligible and its effect appearsphysically plausible and quite predictable.

3 Prior Work

Deformation techniques, including physically based ones, are sur-veyed in [Gibson and Mirtich 1997] and [Gain 2000]. Space warp-ing and morphing techniques are thoroughly covered in [Gomeset al. 1999]. Physically based deformations are covered in [Metaxas1996]. In accordance with the focus of this paper, this section sum-marizes work in non physically based deformations, with specialemphasis in space warping techniques.

Several approaches are based on the local deformation of a sur-face. Parent [1977] used decay functions to diminish the effect ofa displacement imposed on a user selected vertex in a mesh as afunction of the geodesic distance, approximated by the topologicaldistance on the connectivity graph. Allan et al. [1989] and Bill[1994] developed systems that made use of more elaborate decayfunctions. Modern software packages, such as Discreet 3ds max 4and 5 [Discreet 2002], also allow weighted manipulation of verticeswith an adjustable decay function.

Zorin et al. [1997] presented a system for multiresolution meshediting in which vertices at different levels of subdivision can bemanipulated with adjustment vectors defined in local frames, withthe purpose of preserving details.

Other approaches are based on the idea of space warping, whichis independent of the representation ,and thus well suited for edit-ing triangle meshes, voxel volumes, control points of interpolatingcurve patches or scattered point data. Barr [1984] published globalmappings for twisting, bending and tapering space deformations.Chang and Rockwood [1994] introduced a generalized de Castel-jau approach to deformations. The Axial Deformations of Lazaruset al. [1994] allowed the use of curves with any shape as the axisfor a generalized cylinder with variable radii and local frames atkey points. Wires, by Singh and Fiume [1998], took curve baseddeformation techniques further, but at a higher computational cost.

Sederberg and Parry [1986] introduced the free-form deforma-tion (FFD), based on lattices of control points and trivariate Bern-stein polynomials. Greissmair and Purgathofer [1989] implementedFFD with trivariate B-splines; Coquillart [1990] and MacCrackenand Joy [1996] extended FFD to support more general lattices,while Hsu et al. [1992] developed a version of FFD that allowsdirect manipulation.

Borrel and Bechmann [1991] and later Borrel and Rappoport[1994] developed realtime techniques for computing space warpsthat simultaneously interpolate several point-displacement con-straints. More recently, Milliron et al. [2002] introduced a generalframework for geometric warps.

2

Page 3: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

4 The Proposed Twister Solution

By moving a tracker with one hand, the user controls its positionand orientation, i.e., the pose of a coordinate system. When theuser grabs a point in space by pressing a button, the pose of thetracker is recorded as the starting pose. While the button remainspressed, subsequent displacements and rotations of the tracker up-date the ending pose. At any moment during the manipulationphase, Twister computes a space warp that takes as input the startingpose C (defined by a local coordinate system with origin O and threeorthogonal directions U,V,W ) to the ending pose C′ (defined by alocal coordinate system with origin O′ and directions U ′,V ′,W ′).We assume that W = U×V and W ′ = U ′×V ′. We want a smoothspace warp that takes the starting pose to the ending pose exactlyand whose effect decays away from the grabbed point. This condi-tion results in three translational and three rotational constraints. Tomeet these six constraints, we construct a screw motion that movesthe starting pose to the ending pose. We apply the full screw at thegrabbed point and diminish its magnitude with distance from thegrabbed point. When the two trackers are used simultaneously wecompute the two screws for each point and blend them.

4.1 Single-hand Twister

The screw motion of a point P describes an helical trajectory. It isfully defined by a starting and ending pose. A screw motion thatmaps C to C′ is completely defined by an axis of unit direction Dpassing through a point A and by an angle a of rotation around theaxis and a translation distance d along the axis [Rossignac and Kim2001]. A screw motion is minimal when a ∈ [0,π]. The parametersof a minimal screw may be computed as follows.

Let UU ′ := U ′−U , VV ′ := V ′−V , and WW ′ := W ′−W . When|UU ′| = |VV ′| = |WW ′| = 0, the deformation is a pure translationby vector OO′. Otherwise, only one difference can be null. Assumewithout loss of generality that UU ′ is not null. (If UU ′ is null,rename the vectors.) As illustrated in Figure 4, the direction ofthe screw axis D, the translation distance d and the angle a arecomputed by

D := UU ′×VV ′ +VV ′×WW ′ +WW ′×UU ′; D := D/|D|

a := 2sin−1(

|UU ′|

2|D×U |

)

d := D ·OO′

(1)

The projection of O′ on the plane through O with normal D isO′′ := O′ − dD. Let M be the mid-point (O + O′′)/2 of OO′′.From tan(a/2) = |OM|/|AM| the distance |AM| is computed as|AM| =

|OO′′|2tan(a/2)

. The direction from M to A is computed byN := D×OO′′. Note that since D⊥OO′′ and |D| = 1, |N| = |OO′′|.The point A is computed as

A = M + |AM|N|N|

= M +|OO′′|

2tan(a/2)

D×OO′′

|OO′′|

= M +D×OO′′

2tan(a/2)= M +

D× (OO′−dD)

2tan(a/2)

= M +D×OO′

2tan(a/2)

(2)

The image of an arbitrary point P under this screw motion isP′ := (AP ·U)U ′ + (AP ·V )V ′ + (AP ·W )W ′ + dD + A. Considerthe family S of interpolating transformations that define the succes-sive poses taken by an object during this screw motion as the timeparameter t is varied from 0 to 1. For a given t,S(t) may be pro-duced through the following sequence. Translate by −A; Rotate D

PSfrag replacements

A

O

O′′ = O′−dD

M = O+O′′

2a/2

D×OO′′

2tan(a/2)

PSfrag replacements

AO

O′′ = O′−dDM = O+O′′

2a/2

D×OO′′

2tan(a/2)

WW ′

UU ′

VV ′

W

U

V

W ′

U ′

V ′

a

D

Figure 4: Computation of screw parameters.

to Z; Translate by td along Z; Rotate by ta around Z; Rotate Z toD; Translate by A. To animate a screw motion, for each time t, thecombined effect of these transformations may be composed into asingle 4× 4 matrix. If the desired result was the animation of anobject along the helical trajectory of the screw motion, the parame-ter t would be identical for all points in the object. To produce thedesired space warp, a different t is computed for each point P on theobject (the set of points P depends on the underlying representationand may for instance comprise the vertices of a triangle mesh). Weuse a function t(P) to control the decay of the effect of the screwwith distance from O. By using the decay, t(P) := cos2 (

|OP|r

π2)

, weobtain S(1) at O, S(0) outside of a ball of center O and radius r, anda smooth variation in between.

4.2 Two-hand Twister

The formulation described above leads to intuitive and effective de-formations for a single hand constraint. It may also be used to solvefor two simultaneous constraints when the grabbed point O of eachhand lies outside of the ball of influence of the other, by simplyadding the decayed effect of each screw.

In cases where the ball of influence of one hand contains thegrabbed point Q of the other hand (i.e, |OQ| < r), naive additionof the displacements produced by the two sets of constraints affect-ing a common point would not satisfy the constraints. Hence, toensure the desired constraint satisfaction, we adjust the formula fort as follows. Let s = |OQ| and p = OP ·OQ. If p < 0, we usethe same expression for t as before. Otherwise, we replace P byP + (p/s)((r − s)/s)(OQ/s) in the computation of t. This trans-formation corresponds to a minimal squashing of half of the ballof influence, so that it no longer contains Q. The squashing is for-mally a scaling by s/r, in the direction OQ, with fixed point O asshown in Figure 5. When needed, we apply such a scaling to thedecay functions for both hands. We compute the images of P bythe decayed screw motions of both hands and then add the two dis-placements to P. Note that our choice of the function t guaranteesthat the sum of the two weights for a point on the line segmentbetween the two grabbed points will be one when |OQ| < r; i.e.:∀P: |OP|/r ∈ [0,1] ⇒ t(|OP|/r)+ t(1− |OP|/r) = 1. This prop-erty avoids undesired bumps in the common region.PSfrag replacements

P

sO Q

Figure 5: The balls of influence are squashed when they contain thegrabbed point of the other ball.

When the radius of influence r is large enough to keep the objectinside the ball of influence, and the two grabbed points are placed in

3

Page 4: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

appropriate positions, we can obtain deformations which, althoughnot strictly equivalent, are very similar in their effects to some ofBarr’s global and local deformations [Barr 1984]. For example, wecan obtain a twist-like deformation by rotating the two trackers inopposite directions about the line that joins them (see Figure 6).A bend-like deformation can be obtained by rotating the trackersin opposite direction about an axis perpendicular to the line joiningthem, and an optionally translating them symmetrically in the planethat has the rotation axis as normal. The main advantage of ourtechnique is that the user can select from a wider range of less purewarps through an intuitive two-handed interface, easily combiningtwisting and bending.

Figure 6: A box twisted (left) and bent (right) by Twister. The axisof each screw deformation is displayed as a small pink cylinder.

5 Alternative Approaches

In this section, we develop two alternative formulations of a defor-mation that satisfies displacement and orientation constraints andshow that they are less effective than the Twister approach intro-duced in the previous section.

The first alternative is to consider a linear combination of trans-lation and rotation around the constraining point (Figure 7). Thissimple scheme first satisfies the rotational constraint by applying arotation about the axis D at point O and then the translational oneby applying a translation OO′.

PSfrag replacements

original surfacerotated surface

deformed surface

a

O

O′

Figure 7: Illustration of the linear combination of translation androtation.

The same computations used above for the screw motion can beused to compute the rotation axis direction D and angle a. Thedecay function is the same as the one discussed above. The maindifference lies in the choice of the rotation axis, which here goesthrough O and needs no longer be parallel to the translation vector.The effect of this change on the resulting deformation is significant,especially for large displacements with large angles of rotation.

The second alternative is based on Scodef [Borrel and Rap-poport 1994], which interpolates multiple translational constraints.Given a set of constraining points O1,O2, ...,On and their warpedpositions O′

1,O′2, ...,O

′n, Scodef combines n radial basis functions

φ(X) ∈ R to compute a space warp F(P),P ∈ R3 that satisfies all

of these constraints. The space warp F(P) is in the form of theweighted sum of the bases centered at O1,O2, ...,On.

F(P) =n

∑j=1

φ jA j , φ j = φ(P−O j) , A j ∈ R3 (3)

Unknowns are the coefficients A j that can be solved from the con-straining equations.

F(Oi) =n

∑j=1

φi jA j = O′i , φi j = φ(O′

i −O j) (4)

Even though Scodef does not solve the rotational constraints di-rectly, it can achieve rotation by placing three constraint pointsalong the axes of the initial coordinate frames and defining theirimages in the target frames. Note that the rotation can be arbitrar-ily close to the commanded rotation by placing these points closeenough to the constraining points. In the two-hand case there aretwo sets of such constraints, therefore we need six constrainingpoints.

Figure 8 shows the result of the deformations produced by thethree methods in a 2D planar setting. The original undeformedshape is a straight line. For small rotation angles, all three behavewell and produce similar results. However, as the rotation angleincreases, self intersections and the sharp cusp that appears nearthem are least prominent with Twister. We conclude that for de-formations combining large displacements and large rotations, ourscrew-based approach is capable of producing better results thanthe other two.

In addition to a tendency to produce more self-intersections, theScodef-based method presents another problem, known as spacetearing, which has its roots in the mathematical blending procedureinherent to it. This problem is reported in [Borrel and Rappoport1994]. When two constraints are close together compared to theregion of influence of the basis function, i.e., in near singular case,they are conflicting with each other. In this case, the resulting mag-nitudes of the bases are very large. As a result, large portions of thesurface are deformed in a direction opposite to that imposed by thedisplacement constraint.

Although Scodef based deformations can accommodate morethan two sets of constraints, we do not need to exploit this power inour two hand operation mode. The simplicity of our user interfacehas enabled us to design a blending function that handles the over-lapping area well. We conclude that the combination of the screwmotion and the squashing-based blending produces better resultsthan the other two approaches.

6 Implementation and Results

We have implemented Twister in C++ with OpenGL on a dualPentium 3 866 Mhz with 256 MB of RAM, a NVIDIA Quadro4900 XGL graphics card and two Polhemus Fastrak trackers withthree buttons attached to each. This implementation provides re-altime (20 frames per second in average) feedback for mesheswith up to 30,000 vertices. In order to preserve smoothness ofthe deformed surface without imposing an excessive burden onthe processing and rendering units, an adaptive surface subdivi-sion must be performed during the deformation [Gain and Dodgson1999]. To decide whether an edge (A,B) is to be split the distance|(S(A)+ S(B))/2− S((A + B)/2)| is compared against a thresholdthat can be adjusted to trade speed for smoothness.

By recording the grab-release pairs of constraints for each handat every deformation step we can reproduce at a later time a se-quence of deformations. These deformations can be played backon the same object or on a slightly different or more detailed ver-sion of the object. For example, a deformation may be designed

4

Page 5: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

−180o

Scr

ew

Screw AxisGrabbed Point

Rot

/Tra

nS

code

f

−135o −90o −45o 0o 45o 90o 135o

Figure 8: Comparison in various amounts of rotation.

at interactive rates on a simplified imposter and then executed ona full resolution finely tessellated model. The poses that controlthe animations may be generated procedurally and may be used toillustrate an interactive editing session.

To increase user’s productivity, we provide a quick way ofchanging the radius of the ball of influence by pressing a buttonon each tracker and moving the trackers closer or further away.

A spherical volume will sometimes select too much. Our usershave developed a user interface idiom where they take advantageof the squashing of the volumes that takes place when the distancebetween the two balls of influence is less than their radii, and thenperform the warp with only one hand.

There is a limitation on the maximum angle of rotation that canbe reached in a single Twister operation, which is 180 degrees inany direction. The user can concatenate several Twister operationsby pressing a button to freeze the model, while maintaining thesame selection of vertices and their weights. This allows the userto return the hand to a relaxed position before twisting another 180degrees. This process can be repeated any number of times.

Our experiments indicate that the Twister operator combinedwith the two-handed interface is intuitive and effective for creat-ing and editing a large variety of shapes. For example, the seriesof images in Figure 1 show the 5 Twister operations that were usedto transform a sphere into a spork. Figure 9 shows three objectsproduced from a sphere in a few deformation steps.

7 Future Work

In addition to the integration of Twister with a broader set of previ-ously proposed shape editing operation, we plan the following twoextensions.

With the recent development of new materials and of highprecision manufacturing technologies, one may hope that high-resolution, computer controlled hydraulic mechanisms that sensepressure and manipulate real surfaces will soon become availableand will provide the ultimate man-shape interaction paradigm. Onesuch project sponsored by the NSF [Allen et al. 2001] has led tothe development of a new haptic interface through which the com-puter controlled surface can sense and track individual fingers ofa human hand [Gargus et al. 2002]. This interface will naturallysupport multiple displacement constraints. We envision trackingthree finger tips per hand and attaching a coordinate system to eachtriplet. In this way, the user will be able to control the position andorientation of the two coordinate systems with a displacement orrotation of the wrists. We hope that the Twister operator describedhere will be a useful tool for specifying large deformations of sucha new medium.

We are exploring the possibility of using vertex programmingfacilities available on current graphics hardware to provide bet-

ter frame rates when interactively editing larger models. We havefound two ways of taking advantage of vertex programs. In bothcases graphics hardware acceleration is only used for display pur-poses to provide realtime feedback to the designer while warping.Once complete, the same computations are performed on the CPU;therefore there is no need to read data back from the graphics card.Vertex programs may be used to compute a color that represents theweight that is assigned to each vertex as a function of its distance tothe two trackers. In our implementation, this color feedback helpsthe user decide where to place the trackers. Vertex programs mayalso compute the warped position for each vertex, as described insection 4. Early experiments with vertex programs have shown sig-nificant performance improvements.

8 Acknowledgements

This work was supported by NSF/ITR Grant 0121663, and by aSeed Grant from the GVU Center at Georgia Tech. We also wishto thank Jesse Shieh for his help and Greg Turk for his feedback onthe early versions of this manuscript.

References

ALLAN, J. B., WYVILL, B., AND WITTEN, I. 1989. A Methodology forDirect Manipulation of Polygon Meshes. New Advances in ComputerGraphics (Proceedings of CG International ’89), 451–469.

ALLEN, M., BOOK, W., EBERT-UPHOFF, I., ROSEN, D., ANDROSSIGNAC, J., 2001. Digital Clay for Shape Input and Display: NSF-ITR/PE+SY Award#:0121663, September.

BARR, A. H. 1984. Global and Local Deformations of Solid Primitives.Computer Graphics (Proceedings of ACM SIGGRAPH 84), 18, 3, 21–30.

BILL, J. R., AND LODHA, S. 1994. Computer Sculpting of PolygonalModels using Virtual Tools. Tech. Rep. UCSC-CRL-94-27, Baskin Cen-ter for Computer Engineering and Information Sciences, University ofCalifornia, Santa Cruz, U.S.A., July.

BORREL, P., AND BECHMANN, D. 1991. Deformation of n-DimensionalObjects. In SMA ’91: Proceedings of the First Symposium on Solid Mod-eling Foundations and CAD/CAM Applications, ACM Press, ACM, 351–370.

BORREL, P., AND RAPPOPORT, A. 1994. Simple Constrained Deforma-tions for Geometric Modeling and Interactive Design. ACM Transactionson Graphics, 13, 2, 137–155.

COQUILLART, S. 1990. Extended Free-Form Deformation: A SculptingTool for 3D Geometric Modeling. Computer Graphics (Proceedings ofACM SIGGRAPH 90), 24, 4, 187–196.

DISCREET, 2002. Discreet 3ds max 5,http://www.discreet.com/products/3dsmax/.

5

Page 6: Twister: A Space-Warp Operator for the Two-Handed Editing ...jarek/papers/Twister.pdf · Twister: A Space-Warp Operator for the Two-Handed Editing of 3D Shapes Ignacio Llamas Byungmoon

To appear in the ACM SIGGRAPH conference proceedings

Figure 9: Some objects generated with Twister from a sphere.

FOWLER, B. 1992. Geometric Manipulation of Tensor Product Surfaces. InProceedings of the 1992 Symposium on Interactive 3D graphics, ACMPress, ACM SIGGRAPH, 101–108.

GAIN, J. E., AND DODGSON, N. 1999. Adaptive Refinement and Deci-mation under Free-Form Deformation. In Eurographics UK ’99, Euro-graphics.

GAIN, J. E. 2000. Enhancing Spatial Deformation for Virtual Sculpting.PhD thesis, St. Johns College, University of Cambridge.

GALYEAN, T. A., AND HUGHES, J. F. 1991. Sculpting: an InteractiveVolumetric Modeling Technique. Computer Graphics (Proceedings ofACM SIGGRAPH 91), 25, 4, 267–274.

GARGUS, J., KIM, B., LLAMAS, I., ROSSIGNAC, J., AND SHAW, C. 2002.Finger Sculpting with Digital Clay. Tech. Rep. GIT-GVU-02-22, GVUCenter and College of Computing, Georgia Institute of Technology.

GIBSON, S. F. F., AND MIRTICH, B. 1997. A Survey of Deformable Mod-eling in Computer Graphics. Tech. Rep. TR-97-19, Mitsubish ElectricResearch Laboratoy.

GOMES, J., DARSE, L., COSTA, B., AND VELHO, L. 1999. Warping andMorphing of Graphical Objects. Morgan Kaufmann Publishers Inc.

GREISSMAIR, J., AND PURGATHOFER, W. 1989. Deformation of Solidswith Trivariate B-splines. In Eurographics ’89, Eurographics, 137–148.

GROSSMAN, T., BALAKRISHNAN, R., KURTENBACH, G., FITZMAU-RICE, G., KHAN, A., AND BUXTON, B. 2002. Creating Principal 3DCurves with Digital Tape Drawing. In Proceedings of the SIGCHI Con-ference on Human Factors in Computing Systems, ACM Press, ACMSIGCHI, 121–128.

HSU, W. M., HUGHES, J. F., AND KAUFMAN, H. 1992. Direct Manipu-lation of Free-Form Deformations. Computer Graphics (Proceedings ofACM SIGGRAPH 92), 26, 2, 177–184.

IGARASHI, T., MATSUOKA, S., AND TANAKA, H. 1999. Teddy: a Sketch-ing Interface for 3D Freeform Design. In Proceedings of ACM SIG-GRAPH 99, ACM Press, ACM SIGGRAPH, 409–416.

JAMES, D. L., AND PAI, D. K. 1999. ArtDefo - Accurate Real Time De-formable Objects. In Proceedings of ACM SIGGRAPH 99, ACM Press,ACM SIGGRAPH, 65–72.

LAZARUS, F., COQUILLART, S., AND JANCENE, P. 1994. Axial Defor-mations: An Intuitive Deformation Technique. Computer Aided Design,26, 8 (August), 607–613.

MACCRACKEN, R., AND JOY, K. I. 1996. Free-Form Deformation WithLattices of Arbitrary Topology. In Proceedings of ACM SIGGRAPH 96,ACM Press, ACM SIGGRAPH, 181–190.

METAXAS, D. N. 1996. Physics-Based Deformable Models: Applicationsto Computer Vision, Graphics, and Medical Imaging. Kluwer AcademicPublishers, January.

MILLIRON, T., JENSEN, R. J., BARZEL, R., AND FINKELSTEIN, A. 2002.A Framework for Geometric Warps and Deformations. ACM Transac-tions on Graphics, 21, 1, 20–51.

NISHINO, H., UTSUMIYA, K., AND KORIDA, K. 1998. 3D Object Model-ing Using Spatial and Pictographic Gestures. In Proceedings of the ACMSymposium on Virtual Reality Software and Technology, ACM Press,ACM, 51–58.

PARENT, R. E. 1977. A System for Sculpting 3-D Data. Computer Graph-ics (Proceedings of ACM SIGGRAPH 77) (July), 138–147.

POLHEMUS, 2002. Polhemus Fastrak,http://www.polhemus.com/ftrakds.htm.

ROSSIGNAC, J. R., AND KIM, J. J. 2001. Computing and VisualizingPose-Interpolating 3D Motions. Computer Aided Design 33, 4, 279–291.

SACHS, E., ROBERTS, A., AND STOOPS, D. 1991. 3-Draw: a Tool forDesigning 3D Shapes. Computer Graphics and Applications, IEEE 19,18–26.

SCHKOLNE, S., PRUETT, M., AND SCHROEDER, P. 2001. Surface Draw-ing: Creating Organic 3D Shapes with the Hand and Tangible Tools. InProceedings of the SIGCHI Conference on Human Factors in ComputingSystems, ACM Press, ACM SIGCHI, 261–268.

SEDERBERG, T. W., AND PARRY, S. R. 1986. Free-Form Deformationof Solid Geometric Models. Computer Graphics (Proceedings of ACMSIGGRAPH 86), 20, 4, 151–160.

SHAW, C., AND GREEN, M. 1997. THRED: A Two-Handed Design Sys-tem. Multimedia Systems, 5, 2, 126–139.

SINGH, K., AND FIUME, E. 1998. Wires: A Geometric DeformationTechnique. In Proceedings of ACM SIGGRAPH 98, ACM Press, ACMSIGGRAPH, 405–414.

SZELISKI, R., AND TONNESEN, D. 1993. Surface Modeling with OrientedParticle Systems. In Proceedings of ACM SIGGRAPH 93, ACM Press,ACM SIGGRAPH, 185–194.

TERZOPOULOS, D., AND FLEISCHER, K. 1988. Modeling Inelastic Defor-mation: Viscolelasticity, Plasticity, Fracture. Computer Graphics (Pro-ceedings of ACM SIGGRAPH 88), 22, 4, 269–278.

TURK, G., AND O’BRIEN, J. F. 2002. Modelling with Implicit Surfacesthat Interpolate. ACM Transactions on Graphics, 21, 4, 855–873.

WESCHE, G., AND SEIDEL, H.-P. 2001. FreeDrawer: a Free-Form Sketch-ing System on the Responsive Workbench. In Proceedings of the ACMSymposium on Virtual Reality Software and Technology, ACM Press,ACM, 167–174.

YU-KUANG CHANG AND ALYN P. ROCKWOOD. 1994. A Generalizedde Casteljau Approach to 3D Free-form Deformation. In Proceedings ofACM SIGGRAPH 94, ACM Press, ACM SIGGRAPH, 257–260.

ZORIN, D., SCHROEDER, P., AND SWELDENS, W. 1997. Interactive Mul-tiresolution Mesh Editing. In Proceedings of ACM SIGGRAPH 97, ACMPress, ACM SIGGRAPH, 256–268.

6


Recommended