exploring interactive curve and surface manipulation using a...

8
physical tools which flex to produce curves (e.g., flexible steels). Because virtual manipulation and physical manipulation of curves are so different, a designer’s physical modelling skills do not wholly transfer to virtual modelling. For example, a designer can express a particular shape using a flexible french curve by simply bending the french curve. However, with a virtual curve it may not be clear how the control vertices need to be placed to attain this shape. Certain physical objects can also quickly produce curves and sur- faces that are hard to create using virtual techniques. For example, the affordances of spring steels are exploited by clay autobody sculptors who use large spring steel rulers, flexed into shape using both hands, to smoothly sweep out a curved surface on clay. Obviously, both virtual and physical curve modelling have their own pros and cons. What we are interested in is exploring the idea of combining virtual and physical curve creation and control tech- niques. The key element in our ability to combine these two worlds is a unique input device called ShapeTape TM (Figure 1) [8], which allows users to directly manipulate a virtual curve as a physical object. Our combined interaction style is inspired by our previous example of clay autobody sculptors using steels to sweep out curved surfaces. In this paper, we explore the use of ShapeTape for performing some basic curve and surface creation and manipulation opera- tions. We present a prototype system we have built to serve as a framework for this exploration. This exploration differs from pre- vious non-conventional modeling paradigms [7, 10, 12] in that we use ShapeTape to directly control modeling curve primitives. We describe the set of interactions that we implemented within this framework and our observations and issues with these interactions. We then discuss how these specific issues generalize to other domains and devices. Figure 1: ShapeTape controlling a 3d virtual curve. 6dof tracker with 4 buttons ShapeTape tapecurve Exploring Interactive Curve and Surface Manipulation Using a Bend and Twist Sensitive Input Strip Ravin Balakrishnan 1,2 , George Fitzmaurice 1 , Gordon Kurtenbach 1 , Karan Singh 1 1 Alias|wavefront 2 Department of Computer Science 210 King Street East University of Toronto Toronto, Ontario Toronto, Ontario Canada M5A 1J7 Canada M5S 3G4 {ravin | gf | gordo | ksingh }@aw.sgi.com [email protected] Abstract We explore a new input device and a set of interaction techniques to facilitate direct manipulation of curves and surfaces. The input device, called ShapeTape TM , is a continuous bend and twist sensi- tive strip that encourages manipulations that use both hands and, at times, all 10 fingers. We explore this input and interaction design space through a set of usage scenarios for creating and editing curves and surfaces as well as consider general interactions such as command access and camera controls. This investigation is carried out by extending Alias|wavefront’s modeling and animation pack- age, Maya. CR Categories and Subject Descriptors: H.5.2 [Information Interfaces and Presentation (e.g., HCI)]: User Interfaces - Input devices and strategies, Haptic I/O, Interaction styles; I.3.3 [Com- puter Graphics]: Picture/Image Generation - Line and curve gener- ation; I.3.6 [Computer Graphics]: Methodology and Techniques - Interaction techniques. Additional Keywords: Input devices, bimanual input, ShapeTape, interaction techniques, gestures, curves, surfaces, 3D modeling. 1 INTRODUCTION In 3D computer graphics modeling, curves are the quintessential primitive for constructing and manipulating surfaces. Successful 3D modelling is largely based on producing the right set of curves which ultimately give rise to the desired 3D shape. Thus, tech- niques for developing and controlling curve shapes are a critical issue. Most current interactive curve manipulation techniques require that the user, to some extent, work with the mathematical defini- tion of a curve to control its shape. For example, curves are created and controlled by virtual techniques such as control vertex posi- tioning and adjusting curve continuity and tangency. In the design industry, traditional physical techniques such as clay modeling and paper drawings are still very popular. In these tech- niques, the curve itself is manipulated directly by copying pre- shaped physical curves (e.g., french curve templates) or using Published in Proceedings of 1999 ACM Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118.

Upload: others

Post on 18-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

physical tools which flex to produce curves (e.g., flexible steels).

Becausevirtual manipulationandphysicalmanipulationof curvesare so different, a designer’s physical modelling skills do notwholly transferto virtual modelling.For example,a designercanexpressa particularshapeusinga flexible frenchcurve by simplybendingthefrenchcurve.However, with a virtual curve it maynotbe clearhow the control verticesneedto be placedto attain thisshape.

Certainphysical objectscanalsoquickly producecurvesandsur-facesthatarehardto createusingvirtual techniques.For example,the affordancesof spring steelsare exploited by clay autobodysculptorswho uselargespringsteelrulers,flexedinto shapeusingboth hands, to smoothly sweep out a curved surface on clay.

Obviously, both virtual and physical curve modelling have theirown prosandcons.Whatwe areinterestedin is exploring theideaof combiningvirtual andphysicalcurve creationandcontrol tech-niques.Thekey elementin ourability to combinethesetwo worldsis a uniqueinput device calledShapeTapeTM (Figure1) [8], whichallows usersto directly manipulatea virtual curve as a physicalobject.Our combinedinteractionstyle is inspiredby our previousexample of clay autobodysculptorsusing steels to sweepoutcurved surfaces.

In this paper, we explore the use of ShapeTape for performingsomebasic curve and surface creationand manipulationopera-tions. We presenta prototypesystemwe have built to serve asaframework for this exploration.This explorationdiffers from pre-viousnon-conventionalmodelingparadigms[7, 10,12] in thatweuseShapeTapeto directly control modelingcurve primitives.Wedescribethe set of interactionsthat we implementedwithin thisframework andourobservationsandissueswith theseinteractions.We then discusshow thesespecific issuesgeneralizeto otherdomains and devices.

Figure 1: ShapeTape controlling a 3d virtual curve.

6dof trackerwith 4 buttons

ShapeTape

tapecurve

Exploring Interactive Curve and Surface ManipulationUsing a Bend and Twist Sensitive Input Strip

Ravin Balakrishnan1,2 , George Fitzmaurice1, Gordon Kurtenbach1, Karan Singh1

1Alias|wavefront 2Department of Computer Science210 King Street East University of Toronto

Toronto, Ontario Toronto, OntarioCanada M5A 1J7 Canada M5S 3G4

{ravin | gf | gordo | ksingh }@aw.sgi.com [email protected]

Abstract

We explorea new input device anda setof interactiontechniquesto facilitatedirect manipulationof curvesandsurfaces.The inputdevice, calledShapeTapeTM, is a continuousbendandtwist sensi-tivestrip thatencouragesmanipulationsthatusebothhandsand,attimes,all 10 fingers.We explore this input andinteractiondesignspacethrough a set of usagescenariosfor creatingand editingcurvesandsurfacesaswell asconsidergeneralinteractionssuchascommandaccessandcameracontrols.This investigationis carriedout by extendingAlias|wavefront’s modelingandanimationpack-age, Maya.

CR Categories and Subject Descriptors: H.5.2 [InformationInterfacesand Presentation(e.g., HCI)]: User Interfaces- Inputdevicesandstrategies,Haptic I/O, Interactionstyles;I.3.3 [Com-puterGraphics]:Picture/ImageGeneration- Line andcurvegener-ation; I.3.6 [ComputerGraphics]:MethodologyandTechniques-Interaction techniques.

Additional Keywords: Input devices,bimanualinput,ShapeTape,interaction techniques, gestures, curves, surfaces, 3D modeling.

1 INTRODUCTION

In 3D computergraphicsmodeling,curvesare the quintessentialprimitive for constructingand manipulatingsurfaces.Successful3D modellingis largely basedon producingtheright setof curveswhich ultimately give rise to the desired3D shape.Thus, tech-niquesfor developing and controlling curve shapesare a criticalissue.

Most current interactive curve manipulationtechniquesrequirethat the user, to someextent, work with the mathematicaldefini-tion of acurve to controlits shape.For example,curvesarecreatedand controlledby virtual techniquessuchas control vertex posi-tioning and adjusting curve continuity and tangency.

In thedesignindustry, traditionalphysical techniquessuchasclaymodelingandpaperdrawingsarestill very popular. In thesetech-niques,the curve itself is manipulateddirectly by copying pre-shapedphysical curves (e.g., french curve templates)or using

Published in Proceedings of 1999 ACMSymposium on Interactive 3D Graphics(I3DG’99), pp 111-118.

Page 2: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

2 SHAPETAPE

ShapeTapeis a48x 1 x 0.1cmrubbertapethatsensesits bendandtwist. Bendandtwist aremeasuredat 6 cm intervals by two fiberoptic bendsensors.Resolutionis limited by the spacingof thesesensors.By summingthebendsandtwistsof thesensorsalongthetape,theshapeof thetaperelative to thefirst sensorcanberecon-structed. We sampled all 16 sensors along the tape at 30Hz.

3 APPLYING SHAPETAPE TO MODELING

Our prototypesystemis built within Alias|wavefront’s 3D model-ing and animation application, Maya. Maya ran on a SiliconGraphics Indigo2 workstation.

We useShapeTapeto controlNURBScurveswithin Maya.A oneto one mappingwas usedbetweenthe Shapetapeand a NURBScurve − changingtheshapeof theShapeTaperesultedin anidenti-cal changeto the NURBS curve. This wasimplementedby map-ping the shapesegmentsalong the ShapeTapeto a subsetof thecontrol polygonof a NURBS curve. The rotationsamplessimplymap to the control vertex sequencesuch that: Pi+1 = Pi+ L*R i,

wherePi is the position vector of the ith control point, Ri the ith

rotation matrix and L a vector representingsegment lengthbetweensamples.P0, R0 is givenby thepositionandorientationofthe first sensoron the ShapeTapein 3D space(we describehowthis is obtainedin the next section).For most applicationswewould like the mappedcurve to be planar. Ri is constructedfromthebendsamplesin this caseandis simply therotationmatrix forthebendcorrespondingto thesumof all bendsfrom 0..i. Incorpo-rating the twist samplesinto the calculationof Ri is straightfor-ward.

3.1 Augmenting ShapeTape

To createandmanipulatecurvesin a 3D scenewe needmorethantheability to simply input theshapeof acurve.Weneedto supportoperationslikecommandexecution,cameracontrols,andposition-ing/orienting the entire curve in 3D space.Since ShapeTaperequiresandbenefitsfrom usingbothhandsandall fingersto oper-ate it, we felt that it would be unwieldy to rely on the status-quomouse/keyboard for thesesecondaryfunctions since this wouldrequirethat the userreleasetheir hold on the tape.We thereforeaugmentedShapeTapeso that secondaryfunctionscould be per-formedwhile bothhandsmanipulatedthe tape.Anotherapproachwould beto designthe interactionssuchthat theShapeTapecouldbe picked up and put down. However, we were interestedin themore extreme designof trying to accomplisheverything whileholding the shapetape.Alternative designsarediscussedlater inthe paper.

To position and orient the curve in 3D space,we attacheda 6degrees-of-freedom(dof) tracker (anAscensionFlock of Birds) tothe startingpoint of the tape(Figure1). The tapeandthe virtualcurve it controls(we call this the “tapecurve”) thenoperatesrela-tive to this starting position.

All our interactionsweredesignedto operatein a perspective viewand,therefore,usersneedto at leastbe ableto tumblethe virtualcamerato get both depth perceptionand different views of thecurves/surfacesthey wereworking on. We provided cameracon-trols by usinga 2-dof customdesignedpuck thatwasoperatedbytheuser’s right foot on a Wacomdigitizing tablet(Figure2). This“footmouse” had a single button on it that allowed the user toswitch to cameratumblemodeandtumblethe sceneby stepping

on the footmouseand moving it aroundon the tablet.Sincethesceneswe wereworking with werenot very complicated,we feltthattumblingwasasufficientcameracontrol.Othercameraopera-tions suchaspan,dolly, andzoomwerenot implementedin ourprototype.

Weaddedfour pushbuttonsto the6-dof tracker to provide for com-mandexecutionandclutchingof the tracker (Figure1). The but-tonswerechosenandarrangedon the tracker suchthataccidentaltriggering was minimized and more than one button could bepressed at the same time.

Usingthetracker buttonsrequiresonehandto beat theendof theShapeTape which reducesthe user’s ability to manipulatetheshapeof theShapeTapeitself. To somewhatalleviatethis problem,we usedtwo footpedals(a rocker pedalanda momentarypedal)operatedby the left foot for additionalbutton input that could beoperatedwhile theuserusedbothhandsto shapethecurve (Figure2).

We now discussseveral interaction techniqueswe have imple-mentedbasedon this input configurationto explore the creationand modification of curves and surfaces.

3.2 Interaction Techniques using ShapeTape.

In a mannersimilar to most 3D modeling packageswe imple-mentedvariouscurve andsurfacemanipulationfunctionsastem-poral modes(commonlycalled“tools”). We did not implementatechniquefor switchingbetweenthedifferenttools.As a stop-gapmeasure,we rely on the keyboardto do this. Ideasfor supportingtool switching seamlesslyin our systemare discussedin a latersection.

In eachof our tools, the following footpedaland button assign-ments were used. Tables 1 and 2 summarize these assignments.

Whentherocker pedalwasup, thetracker wasoperationalandthetapecurve could be positionedandorientedin 3D space.We callthis “position/orienttapecurve mode”. In this mode,buttons1, 2,and 3 engage and clutch movementalong the x, y, and z axesrespectively. Chordingbuttons1, 2, and 3 allowed movementinmultiple axessimultaneously(e.g.,pressingboth buttons1 and2,engagedmovementin theplanedefinedby thex andy axes).But-ton 4 was used as a toggle to enable and disable all three rotationaldegrees-of-freedom of the tracker.

Figure2. Footpedalsandfootmouse. Insetpicture is a closeupof the custom designed footmouse puck.

footmouse

rocker pedal

momentary pedal

button

puck

Page 3: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

Whentherocker pedalwasdown, the tracker wasdisengagedandthe tracker buttonscould be usedto executecommands.We callthis “commandmode”. Button 1 wasalwaysusedto activate thenext stepin thetool currentlybeingused.Button2 signalscomple-tion of a tool’s operationandresetsthetool to its initial state(thisallows a tool’s operationto be repeatedwithout having to re-invoke thetool). Buttons3 and4 wereusedfor commandsspecificto particular tools, which we describe later.

The footmouseandmomentarypedalwereindependentof modesand thus could be used at any time.

3.2.1 Curve Creation

The first tool we explored allows the creationof curves in 3Dspace.As describedearlier, the shapeof the tapecurve was con-trolledby theShapeTapeandits positionandorientationcontrolledby the tracker.

At any time, themomentarypedalcouldbedepressedto freezetheshapeof thetapecurve. Depressingthemomentarypedala secondtime unfreezesthe shapeof the tapecurve. This conceptof freez-ing/unfreezingthe tapecurve shapeusingthe momentarypedalisusedthroughoutour differentinteractiontechniques.Notethat thetapecurvecanstill bepositionedandorientedin 3D spacewhenitsshape is frozen.

Whenin commandmode,pressingbutton1 resultedin a snapshotcopy of the tapecurve beingplacedin its currentlocationandori-entation.We refer to this as “baking” the tapecurve into the 3Dscene.Notethatwe canbake thetapecurve eitherwhenit is live orfrozen.

We found this techniqueto be intuitive for creatingfree-form3Dcurves and it allowed for quick exploration and specificationofcurve shapes, position, and orientation.

While the position and orientationof the tapecurve can be con-trolled fairly preciselyusingour methodsfor constrainingmove-ment to particular axes, it was difficult to preciselycontrol theshapeof thetapecurve.Borrowing from thephysical toolsusedbydesigners,we investigatedusing physical constraintsto improvecontrol over the shape of the tapecurve.

Oneform of physical constraintis to attachspringsteelsto Sha-peTape.Usingsteelsof differentthicknessesanddegreeof flexibil-ity (Figure3a),wecanvary thedeformabilityof ShapeTapeand,ina sense,physically control the smoothnessand curvatureof thetapecurve. Using small stripsof velcro on the ShapeTapeandthesteels,we areable to switch betweendifferent steelseasily. Onecharacteristicof spring steelsis that they have to be continuallyheld in the desiredshapeand do not retain the deformedshapewhenreleased.While this canbea desirablefeaturewhenexplor-ing shape,it canbea shortcomingwhentrying to maintaina par-ticular shapefor a periodof time.To addressthis shortcoming,wedeviseda jig (Figure3b) thatallowedus to mechanicallyhold thespring steel in a deformed shape.Once the desired shapeisobtained,the wingnutson the jig are tightenedand the entire jig(and resulting tapecurve) can be positioned and oriented as

Device Limb Function

rocker pedal left foot up: position/orienttapecurve modedown: command mode

momentarypedal

left foot toggle between freez-ing and unfreezingshape of tapecurve

footmouse right foot tumble camera

ShapeTape bothhands

control shape of tape-curve

tracker right hand control position andorientation of tape-curve

tracker buttons right hand command access andtracker constraints(see Table 2)

Table 1: Functionality of devices

trackerbutton

position/orienttapecurve mode

command mode

button 1 constrain to x axis next step in tool

button 2 constrain to y axis end tool

button 3 constrain to z axis

button 4 rotation on/off

Table 2: Tracker button assignment

Figure 3. (a) Springsteelsof different thicknessesandflexi-bility. (b) Jig for constraining spring steel. (c) Flexiblecurve that retains its deformed shape.

(a)

(b)

(c)

Page 4: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

required.Positionandorientationof the jig canalsobephysicallyconstrainedin a variety of ways.Examplesincludesimply drag-ging the jig on a tabletopto constrainmovementto a plane,ormountingthe jig within a larger jig that imposessomeotherposi-tional or rotational constraints.

The last form of physical constraintwe explored was the useofflexible curves(Figure3c).Thesecurves,usedin thedesignindus-try, do not provide the high level of smoothnessthat springsteelsoffer but retain their deformedshapewhen released.They are agood compromise when smoothness is not an important factor.

Theuseof steels,jigs, andflexible curveshave theadvantagethatthe usercaneasilyswitch betweenthesedifferentconstraintsandleverageoff their existing knowledgeof the physical world whenlearningto usethesetools.Theseadvantageshavebeenexpoundedby Fitzmauriceet. al. [3] in their GraspableUI paradigm,by Ishiiet. al. [4] in their TangibleUI research,andby Hinckley et. al [5].However, one disadvantageis that we also inherit all the limita-tionsof thephysicalworld. Sincewe haven’t yet implementedvir-tual solutionsto addresstheselimitations,we deferthediscussionof these solutions to a later section of this paper.

Given the ability to interactively create3D curves using Sha-peTape,we now describethree techniquesfor creatingsurfacesinteractively from these curves.

3.2.2 Loft

“Loft” refersto theconstructionof a surfacethatpassesthroughaseries of profile curves. The status-quointeraction techniquerequiresthatat leasttwo profile curvesbepredefinedbeforea sur-facecanbelofted over them.Additional curvescanthenbeaddedto extend the lofted surface.

UsingShapeTape,our “loft tool” createssurfacesasfollows: first,we use ShapeTape to bake the initial profile curve (Figure 4a).Then,we pressbutton1 in commandmodeto createa lofted sur-facefrom the initial profile curve (c1) to the tapecurve. Sincethetapecurve is still “li ve”, theusercandynamicallychangetheshapeof theloftedsurfacesegmentin realtime(Figure4b).Pressingbut-ton 1 in commandmodeagain bakes the tapecurve, resulting inbaked curve c2 anda baked surfacefrom curvesc1 to c2. A newlivesurfaceis thenlofted from curvec2 to thetapecurve.Thispro-cesscan be continuedto successively extend the lofted surface.Oncethefinal surfaceis obtained,button2 is pressedandthetape-curve is detached from the final lofted surface (Figure 4c).

Thus,this techniqueallows usersto “drag out” a surfacestartingfrom the initial profile curve, baking sectionsof the surface asdesired.Theability to manipulatethecurrentsurfacesegmentin alive mannerallows the userto preview andexplore variationsoftheforthcomingsurfacebeforebakingit. In contrast,thestatusquointeraction techniquerequiresthe user to lay down a seriesofcurvesandthenloft a surfaceacrossthosecurves.No preview oftheresultingsurfaceis given,andany changeshaveto bemadein apost-creation process.

The physical constraintswe explored in the previous sectioncanalso be usedhereto constrainthe tapecurve and thus createthesmoothcontrolledsurfacesthat are typically usedin non-organictechnical modeling.

3.2.3 Revolve

“Revolve” refersto constructionof a surfaceby revolving a profilecurve about a given axis.

In our “revolve tool”, we first specifytheprofile curve usingSha-

Figure 4. Loft. (a) Placementof initial profile curve. (b) Dragging out first sectionof the loftedsurface. (c) Thefinal surfacelofted over five interactively placed profile curves.

(c)(b)(a)

Figure 5. Revolve. (a) Placementof initial profile curve. (b) Revolvingtheprofile curveaboutthex-axis.(c) Therevolvedsurface can be interactively manipulated to explore different shapes, positions, and orientations.

(c)(b)(a)

Page 5: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

peTape(Figure5a).This curve caneitherbe frozenor live. Then,we pressbutton1, 3, or 4 in commandmodeto revolve theprofilecurve aboutthe x, y, or z axis respectively (Figure5b). Sincetheprofile curve is still controlledby ShapeTape,theresultingsurfacecan therefore be manipulatedin a very interactive manner toexplore different shapes,positions,and orientations(Figure 5c).Button2 canbepressedat any time to completetherevolve opera-tion which bakes the revolved surface.

In status-quorevolve techniques,theresultingrevolvedsurfacecanonly be manipulatedby moving control vertices of the profilecurve or by translating,orienting, or scaling the entire curve.While this is fine for small modifications,it doesnot provide thesenseof engagementor expressivenessof the ShapeTape tech-nique.On thecontrary, ShapeTapein its currentconfigurationdoesnot easily support precision adjustments to the surface.

3.2.4 Extrude

“Extrude” refersto constructingasurfaceby sweepingacrosssec-tional profile curve along a path.

In our “extrude tool”, we first specifyandbake the profile curve(Figure 6a) by pressingbutton 1 in CommandMode.Then, thetapecurve is usedto specifythepathcurve (Figure6b).This curvecan either be frozen or live. Pressingbutton 1 again createsanextruded surface by sweepingthe profile curve along the pathcurve (Figure6c). Sincethe pathcurve is still controlledby Sha-peTape,theextrudedsurfacecannow bemanipulatedinteractively.Button 2 canbe pressedat any time to bake the extrudedsurfaceand detach the tapecurve from it.

As with the Revolve example,the ShapeTapeextrude techniqueallows for moreexpressive manipulationsof the surfacethan thestatus-quointeractiontechnique.However, our techniquecurrentlyallows interactive manipulationof the surfaceonly by controllingthepathcurve,not theprofilecurve.Weplanto developtechniquesto dynamically select which curve ShapeTape controls.

3.2.5 Surface Deformations

Theprevioustoolspermitthecreationof surfaces.Wenow discusstechniquesfor deformingexisting surfacesof arbitraryshape.WeuseShapeTapeto manipulate“wires” − a geometricdeformationtechniquebasedon spacecurves[11]. This applicationalsohigh-lights the use of the ShapeTape’s twist capability.

A wire is a curve whosemanipulationdeformsthe surfaceof anassociatedobjectnearthewire curve.Thedeformationsto objectsarebasedon the relative deviation betweenthewire curve anditscorrespondingreferencecurve (Figure7a).The referencecurve isa congruentcopy of thewire curve madewhenobjectsareassoci-atedwith it. An appealingattributeof wiresis thatnotonly do they

utilize the bendof the curve, but they alsoembodythe notion oftwist around the wire curve and impart it to the surfacestheydeform. We thus are able to use the twist of the ShapeTape todirectly controlthetwist alonga wire curve.Theeffect of twistingthe ShapeTapeis thus manifestedas a surfacedeformationeventhough it is not visually represented on the wire curve.

Our “wire tool” providesthreestylesof interactionto deformsur-faceswith wires.In all threestyles,weattachawire curve to asur-face to be deformedby pressingButton 1 in CommandMode.PressingButton 2 in CommandModedetachesthe wire from thesurface.Button 3 is usedto changebetweenthe threestylesofinteraction.

In thefirst style,ShapeTapecontrolsthebend,position,andorien-tation of the wire curve while the referencecurve remainsstatic.Thisallowsfor creasingdeformationsto becreatedasillustratedinFigures 7b(1) and 8a,b.

The secondstyle operatesin the samemanneras the first styleexcept that the referencecurve is translatedalong with the wirecurve. This allows for “travelling” wrinkle deformationsas illus-trated in Figure 7b(2).

Thethird styleusestwist in additionto bend,position,andorienta-tion to control the wire curve. Adding twist further deformsthecreaseandwrinkle deformationsin a mannersimilar to pinching(Figure 8c).

Wires are a deformationtechniqueoriginally designedto createorganic surfaceslike cloth and skin. We found that using Sha-peTapewith wiresallowedfor deformationsof surfacesthatwouldbe very difficult to specifywith traditionaltools for manipulatingwires.Likeoursurfacecreationtools,theability to quickly exploredifferentdeformationseffectsallowedfor moreexpressive manip-ulation than the control vertex positioning status-quo techniques.

(b)(a)ReferenceCurves

Wire curves 1. Wire curve moved,reference curvestatic

2. Wire &referencecurvesmoved

Figure 7. Wrinklesand creasesusingwires.(a) Showstwo wirecurvesandassociatedreferencecurvesdeforminga surface. (b)1. If a wire curveis movedwhile its referencecurveis static,thewrinkling effect is increased.2. If a wire curve is movedalongwith its reference curve, the wrinkle travels along the surface.

(c)(b)(a)Figure 6. Extrude. (a) Placementof profile curve. (b) Placementof initial pathcurve. (c) Theextrudedsurfacecan be interactively manipulated to explore different shapes, positions, and orientations.

ProfileCurve

ProfileCurve

PathCurve

Page 6: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

4 FURTHER ENHANCEMENTS

Thereareseveral ideaswhich,althoughwe have not implemented,we feel areimportantin continuingto developour ShapeTapepro-totype.

ShapeTape subsectionspecification− The ability to specify sub-sectionsof theShapeTapewould beuseful.For example,supposea user is happy with the shapeof one half of the tapecurve butwishesto modify the other half. Sensorsalong the length of theShapeTapecould be usedto specifywhich subsectionsareactive,thuslimiting changesto the correspondingpartsof the tapecurve.Possiblesensingtechnologiesinclude binary microswitchesandpressure sensitive strips.

ShapeTapeto tapecurvemappings− An importantissueis thecon-trol mappingbetweentheShapeTapeandthetapecurve.In ourpro-totype a one-to-one mapping was used where the unit length of theShapeTapemappedto theunit lengthof the tapecurve with a con-stantgain. Theability to modify this mappingwould bevaluable.For example,the entireShapeTapecould be mappedto a subsec-tion of thetapecurve,allowing finercontrolover thatportionof thetapecurve. Subsectionsof theShapeTapecouldalsobemappedtosubsectionsof the tapecurve in a non one-to-onemanner. Editingof existing curvesin a scenecouldbeachievedby selectinga sub-sectionof a curve andmappingit to a subsectionof thetapecurve.This sectionof the virtual curve could thenbe editedby the Sha-peTape.

Increasing/decreasingcontrol gain − Thecontrolgain of theSha-peTape could also be modified. For example,by increasingthecontrol gain ratio, small ShapeTape bendscould translateintolargerbendsin thetapecurve.This couldbeusedasa conveniencemechanismto reducephysical movement. In contrast,the gainratio could be decreasedand this would result in more precisioncontrol over the bends of the tapecurve.

Non-uniformcontrol gain − Varying the gain ratio over the unitlengthof the ShapeTapemay alsobe a usefulmechanism.Map-pingscouldbedevisedwheretheShapeTapeis muchmoresensi-tive (or insensitive) over certainsectionsof the shape.This couldbeusedto createcurveswhichwhenbenthaveapre-biastowardsacertain shape.

Frameof reference− As thescenerotates(i.e.,whenthecameraismanipulated)shouldthetapecurve remainstationaryin userspace(ego-centric)or turn with the scene(scene-centric)?If the tape-curve followsascene-centricmodel,thiswill sometimesproduceastimulusresponsemismatchbetweenmovementof theShapeTapeandmovementof thetapecurve.However, if thetapecurve followsan ego-centricmodel,this too canleadto problemssincemoving

thescenethenin effect movesthe tapecurve relative to thescene.For example, if the tapecurve was being used as a deformer,unwanteddeformationswould occurwhenthe scenewasrotated.While we have someideasfor solutionsto theseproblems,theyhave not been sufficiently explored.

Additionalcommandaccess− While working with ShapeTape,wefoundit necessaryto provideaway to switchbetweentools.Thereare many possiblesolutionsto explore here.First, we could addadditionalpushbuttonsto the tracker or introducemorefoot ped-als. This solution is not very attractive as the tracker is alreadycrowdedwith buttons.Introducingmorefoot pedalsmaybeprob-lematicastheusermustsearchfor theproperfool pedal,divertingtheir attentionfrom the 3D scene.Second,we could usespeechandvoicerecognitionto specifycommands.Third, wecouldcreatea set of ShapeTapegesturesthat would map to commands.Herethe challengingissuesarebeingableto definemeaningfulshapesthat matchtheir assignedcommandandfinding goodgestureandshaperecognitionalgorithms.Also, we’ll have to togglethe Sha-peTapebetweenspecifyingcommandgesturesandcontrolling thetapecurve.Last,wecouldaddaseriesof pressuresensorsalongthelengthof thetape.Thesepressuresensorscouldbeusedasabuttonstrip for commandcontrol buttons.One limitation of this idea isthat thesebuttonscannotbeusedwhile simultaneouslyspecifyinga shapesince pressingwill deform the tape (for example, the“freeze” commandwould bea poorchoice).While someof theseideasmayresultin agoodsolution,theproblemof providing addi-tional command access remains an open issue.

GUI access− Beyond commandaccess,the ShapeTape devicecouldwork in conjunctionwith standardGUI elementsby drivingthe cursor. This would allow us to usestandardGUI widgetslikegraphicalbuttons,sliders,and menusfor operationssuchas toolswitchingwithout having to put down the ShapeTape.This couldbedoneby trackingthelocationof theendof theShapeTaperela-tive to the screenandmappingthis to a cursorlocation.The footpedalscould be usedfor simulatingmousebuttons.Alternatively,buttonpressescouldbesimulatedwhenthetapeendpointis movedin or out a fixed distance from the screen.

5 GENERAL OBSERVATIONS

Our experiencesso far have leadus to somegeneralobservationsaboutthis styleof input andthesetypesof interactiontechniques.Below we outline our findingsandhow they arerelevant to otherapplication domains.

High dimensioninput − We considerShapeTapeto bein a classofinputdeviceswecall HiD (High dimensioninput).Roughlyspeak-

Figure 8. SurfacedeformationsusingShapeTape. (a) Bendof wire curvedeforminga surface. (b) Bendandpositionof wirecurve deforming a surface. The reference curve is static. (c) Twist of wire curve deforming a surface.

(c)(b)(a)

Page 7: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

ing, HiD devices are devices or arrangementof devices whichallow simultaneousinput of morethan3 degreesof freedom.Sys-temslike the monkey armature[6], dataglove [2] andhaptic lens[9] are examples of HiD devices. In many ways, this paperexploresissuesin harnessingHiD input. We believe that thereareissuescommonto mostHiD input configurations.We now discusswhat we believe to be the major issues.

Regulating Input − HiD devicesrequirethe ability to regulatetheinput. Mechanismsare neededfor easily engaging and ignoringsetsof input dimensions.For example,in our prototype,we foundtheneedto freezethe3D position,3D orientation,andshapeof theinputcurve.Thesemechanismscouldbeprovidedin eitheror boththe virtual or physical mediums.

Needfor other independentdevices− In our prototype,we madeuseof auxiliary devicesto assistin regulatingthe input from ourHiD device (e.g.,usinga footpedalto freezethe tapecurve) or forinterfacecontrol(e.g.,a footmouseto tumblethecameraview). Ingeneral,auxiliary devices are neededif a regulating or interfaceaction interfereswith control of the HiD device. For example,therewasa needto beableto hold theshapeof thetapecurve andat thesametime triggera “freeze” action.Notethatemploying theuseof otherlimbs is acommonpracticein otherHiD domains.Forexample,guitarandpianoplayersusefootpedalsto selectplayingmodes and effects while playing.

Input retention− Ratherthanrequiringauserto “hold” aparticularsettingof a HiD device,a device couldbebuilt suchthat it retainsits settings.For example,by attachingShapeTapeto jigs or flexiblefrenchcurves(Figure3), we createdtheability for theShapeTapeto retainits settings.Removing therequirementof constantlyhold-ing thedevice freesthehandsto operateotherdevicessuchasthemouseandkeyboard.Thismayallow morestandardUI techniquesto be used to support regulating and auxiliary functions.

Interdependenceand quality of input dimensions− A simplifyingbut sometimesconfoundingfactorto considerin HiD input is theinterdependenceof inputdimensions.ConsiderShapeTape− whiletherearea totalof 16sensors,andthus16degreesof freedom,it isdifficult to actuateone sensorin isolation. In fact, the userper-ceivestheShapeTapeasa singlemalleableinput strip.They judgethe quality of the input basedon how quickly andaccuratelythevirtual shapematchesthephysicalinputshape.Thisdirectlycorre-spondsto the quantity and quality of the sensorsas well as thephysical material properties of the ShapeTape.

Senseof engagement− HiD input can offer a greatersenseofengagementand expressioncomparedto traditional lowD input(e.g.,mouse)which often emphasizespecificationand precision.With HiD input,precisioncanbetemporarilyattainedby reducingthe input dimensionsbeingsensed,by usingphysical/virtualcon-straints,and by varying the control gain. In contrast,thereis noeasyway to improve thesenseof engagementwith lowD input.3Dgraphical manipulators[1] are one techniquefor providing agreatersenseof engagementbut thisstill offerslimited expressibil-ity.

Control skill demands− HiD input mayplacea higherdemandonthe user’s motor and cognitive processes.Usersare requiredtoattendand monitor many streamsof simultaneousinput. This isespeciallytrue for precisionwork. We believe that cognitive andmotor demandsmay be reducedwhen: (1) the physical deviceclosely matchesthe virtual representation,(2) the input deviceallows the high dimensionsto be coordinatedin a familiar meta-phor(e.g.,theShapeTapebendandtwist sensorsareaggregatedina single strip), and (3) the interactiontechniquesallow for con-straining input throughother input streams(e.g., tracker buttonsconstrain movement along the x, y, and z axes).

Disadvantagesof physicalrepresentations− While theShapeTapeoffersphysicalmanipulationof aninput strip this approachis sus-ceptibleto theconstraintsof thephysicalworld. For example,anygiven ShapeTapehascertainbendpropertieswhich are invariant.In addition,having customizedinput devices attachedto a givensystemmakesit difficult to move to anotherworkstation.This is incontrastto virtual tools being available on any system.Physicaltools are also subject to the “nulling problem.” This problemoccurswhenthephysicalstateof thedevicestartsoutmatchingthevirtual representationbut becomesstaleasthevirtual statechangeswithout keepingthephysicaldevice consistent.This nulling prob-lem canoftenbealleviatedby operatingthephysicaldevice in rel-ative mode instead of absolute mode.

“Ir onhorseeffect”− In general,amajordesignissuefor HiD inputis the dangerof mimicing propertiesof the analogousphysicaltools too closely. That is, replicatingnot only the advantagesof aphysical tool but also its disadvantages(the iron horseeffect −someof thefirst automobileswerenot only controlledlike a horsebut alsoshapedlike one).Avoiding the iron horseeffect requirescarefully determiningexactly what ability a physical tool offersversus what is merely an artifact of physicality.

6 FUTURE RESEARCH

Therearea numberof issuesrelatingto ShapeTapethatneedto befurther explored:

• Our currentprototypeparadigmhasShapeTapeas the primaryinputdevice,alwaysin hand,but alternative inputconfigurationswith differentcostsandbenefitsarepossible.For example,onealternative hasthe ShapeTapeoperatingon a 2D surfacewherethecontourof the tapeis sensedasan input curve but the loca-tion andorientationof thecurve is managedthroughmoretradi-tional interactiontechniques(i.e.,manipulators)with themouse.The benefitsof this configurationis that the tapedoesnot needto be continuously held and a 6dof tracker isn’t required.

• We would also like to considerthe useof two or more Sha-peTapedevicesto form a shapesheet.This would allow onetodirectly manipulate surfaces.

• While we were happy with the performanceof the footmouseandfoot pedals,webelieve thatadditionaldesigncanbedonetoimprove their usage.

• In additionto usingShapeTapefor modeling,we would like toexplore otherapplicationdomainssuchasanimation.Here theShapeTapecouldbeusedto specifymotionpaths,adjusttimingcurves,motion capture,or for quickly editing andposingchar-acters and deformable objects like cloth.

• Finally, we would like to considerif any of theinteractiontech-niqueswill transferto other two handedinput configurations.For example, one could imagine a “poor man’s” ShapeTape.RatherthanusingShapeTape,two devicessuchastwo pucksonadigitizing surfaceor two 6dof trackerscouldbeused.A virtualcurve betweenthe two devices could be inferred given theirpositions and orientations.

7 CONCLUSIONS

Theone-to-onemappingbetweenShapetapeanda NURBScurveallows for greateaseof useandlearning.For example,themannerin which theshapetapecontrolstheNURBScurve is immediatelyobvious. The fact that the underlyingcurve beingcontrolledis aNURBS curve is completely transparent.

Onedominatingobservation in our prototypewasthat ShapeTapeimpartsanexpressive andlive feelingto operations.Specificallyitallows different shapesand effects to be quickly attained.Thispropertyis especiallysuitablefor conceptualmodeling− modelingdone to allow a designer to quickly explore form, shape, and size.

Page 8: Exploring Interactive Curve and Surface Manipulation Using a ...ravin/papers/i3dg99_shape...Symposium on Interactive 3D Graphics (I3DG’99), pp 111-118. 2 SHAPETAPE ShapeTape is a

ShapeTapeat this point appearslesssuitablefor technicalmodel-ing, which focuseson constructingprecisecurvesandsurfaces.TomakeShapeTapemoresuitable,first, theprecisionof theshapetapeitself would have to improve. Second,both physical and virtualShapeTape specific modeling constraintsand constructswouldhave to be invented and developed.

We believe we have discoveredsomefundamentalsof the basicinteractionframework and input configurationwhich is effectivefor managing the HiD input of ShapeTape.

ACKNOWLEDGMENTS

We thankRussellOwen,EugeneFiume,andBill Buxtonfor valu-ablediscussionsandassistanceduringthecourseof this work. WealsothankLeeDanischof MeasurandInc. for adviceandtechnicalassistance with regards to the ShapeTape device.

REFERENCES

[1] Conner, B.D., Snibbe,S.S.,Herndon,K.P., Robbins,D.C.,Zeleznik,R.C.& van Dam, A. (1992) Three-dimensionalwidgets. Proceedingsof Symposiumon Interactive 3Dgraphics ‘92, 183-188.

[2] CyberGlove. Virtual Technologies.(www.virtex.com)

[3] Fitzmaurice,G. W., Ishii, H., & Buxton,W. (1995).Bricks:Laying the foundationsfor graspableuser interfaces.Pro-ceedingsof CHI’95 Conferenceon HumanFactors in Com-puting Systems,442-449.

[4] Ishii, H., & Ullmer, B. (1997).TangibleBits: Towardsseam-lessinterfacesbetweenpeople,bits andatoms.Proceedingsof CHI’95 Conferenceon HumanFactors in ComputingSys-

tems, 234-241.

[5] Hinckley, K., Pausch, R., Goble, J.C., & Kassell, N.F.

(1994).Passive real-world interfacepropsfor neurosurgical

visualization.Proceedingsof CHI’94 Conferenceon Human

Factors in Computing Systems,452-458.

[6] Monkey. Digital Image Design, Inc.(www.didi.com)

[7] Sachs.E., Roberts,A., & Stoops,D. (1990). A tool for

designing3D shapes.IEEE ComputerGraphics,17(3), 253-

261.

[8] ShapeTape. Measurand Inc.(www.measurand.com)

[9] Sinclair, M. (1997).The haptic lens.Visual Proceedingsof

SIGGRAPH’97 Conference, 179.

[10] Shaw, C. & Green,M. (1994).Two-handedPolygonalSur-

faceDesign.Proceedingsof UIST’94 ACM Symposiumon

User Interface Software and Technology, 205-212.

[11] Singh,K., & Fiume,E. (1998).Wires:A geometricdeforma-

tion technique.Proceedingsof SIGGRAPH’98Conference,

405-414.

[12] Zeleznik, R.C., Herndon, K.P., & Hughes, J.F. (1996).

SKETCH: An interfacefor sketching3D scenes.Proceed-

ings of SIGGRAPH ‘96 Conference, 163-170.