Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

3D interaction studies using the shape-matching paradigm Jang, Stanley 1992

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


831-ubc_1992_fall_jang_stanley.pdf [ 3.48MB ]
JSON: 831-1.0051413.json
JSON-LD: 831-1.0051413-ld.json
RDF/XML (Pretty): 831-1.0051413-rdf.xml
RDF/JSON: 831-1.0051413-rdf.json
Turtle: 831-1.0051413-turtle.txt
N-Triples: 831-1.0051413-rdf-ntriples.txt
Original Record: 831-1.0051413-source.json
Full Text

Full Text

3D INTERACTION STUDIES USING THESHAPE-MATCHING PARADIGMbySTANLEY JANGB.Sc., The University of British Columbia, 1990A THESIS SUBMITTED IN PARTIAL FULFILMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF SCIENCEinTHE FACULTY OF GRADUATE STUDIES(Department of Computer Science)We accept this thesis as conformingto the required standardTHE UNIVERSITY OF BRITISH COLUMBIAOctober 1992© Stanley Jang, 1992In presenting this thesis in partial fulfilment of the requirements for an advanceddegree at the University of British Columbia, I agree that the Library shall make itfreely available for reference and study. I further agree that permission for extensivecopying of this thesis for scholarly purposes may be granted by the head of mydepartment or by his or her representatives. It is understood that copying orpublication of this thesis for financial gain shall not be allowed without my writtenpermission.(Signature)Department of Computer ScienceThe University of British ColumbiaVancouver, CanadaDate 	 October 8, 1992DE-6 (2/88)AbstractAt one time, 3D computer applications were only available on very specialized and very expensiveworkstations. However, technology on typical desktop computers has improved dramatically over the lastdecade, and is now capable of 3D graphics. If shrewd choices are made concerning the graphics hardwareand software, a reasonably priced desktop computer will allow adequate real-time interaction for manyapplications. This thesis investigates some of these choices using a generalized program written to serveas an expandable testbed for evaluating some of the factors affecting user interaction in three dimensions.An important set of 3D tasks that occurs in applications such as computer aided design andcomputer animation is curve or surface design. Not only is the 3D environment an essential issue inefficiently completing these tasks, but so are the properties of the spline formulation and spline interactiontechnique chosen to represent the curves or surfaces. Previous work has shown that the B-splineformulation is quite effective for the interactive construction of 2D spline curves. A possible drawbackin using the B-spline for the more difficult task of 3D curve construction is the fact that its control verticesmay lie far away from the curve, making its manipulation unintuitive. A direct manipulation technique,allowing a curve to be manipulated with points that lie on the curve itself, offers an alternative to controlvertex manipulation.An experiment was conducted using the testbed to compare the interactive design of 3D curvesusing control vertex manipulation of B-spline curves and a particular type of direct manipulation of B-spline curves. The results of the experiment revealed that "direct manipulation" was significantly fasterthan control vertex manipulation, without sacrificing accuracy in the shape of the final 3D curve.iiTable of ContentsABSTRACT 	  iiTABLE OF CONTENTS 	 iiiLIST OF TABLES 	  vLIST OF FIGURES 	 viACKNOWLEDGEMENTS 	 vii1. INTRODUCTION 	  12. THE BASIC 3D TASKS 	  42.1 Manipulating Points 	  62.1.1 Selecting Points 	  62.1.2 Moving Points 	  82.1.3 Other Input Devices 	  82.2 Modifying the Object's Orientation 	  112.3 Rendering the 3D Scene 	  143. SPLINE CURVES AND THE SHAPE-MATCHING PARADIGM 	  203.1 B-Spline Curves 	  223.2 Shape-Matching Paradigm 	  243.3 Shape-Matching Experiments 	  253.3 Direct Manipulation 	  284. DIRECT MANIPULATION EXPERIMENT 	  344.1 Environment 	  35iii4.2 Target and Controlled Curves 	  354.3 Experiment Procedure 	  374.4 Subjects 	  414.5 Analysis of Experimental Curve-Matching Data 	  424.5.1 Testing Hypothesis 1 — Analysis of Spline Manipulation Technique	  454.5.2 Testing Hypothesis 2 — Analysis of Learning Effects 	  464.5.3 Testing Hypothesis 3 — Interaction between Learning and Technique 	  484.5.4 Comments from Subjects 	  494.6 Discussion of Results 	  515. A TESTBED FOR 3D INTERACTION EXPERIMENTS 	  615.1 The 3D Task 	  62	5.2 Movement of Control Points     635.3 Curve Rotation 	  665.4 Depth Cues 	  675.5 Spline Curves 	  685.6 Other Options 	  686. SUMMARY AND FUTURE WORK 	  70BIBLIOGRAPHY 	  73APPENDIX A. HELP TEXT PAGES 	  75APPENDIX B. EXPERIMENT SUBJECT FORMS 	  88APPENDIX C. BACKGROUND OF EXPERIMENT SUBJECTS 	  93APPENDIX D. EXPERIMENT RESULTS 	  95APPENDIX E. DESCRIPTION OF TARGET CURVES 	  102ivList of Tables4.1 Time and error results 	 444.2 Comment form results. 	 505.1 Mouse input and the corresponding actions: unconstrained 2D movement. 	  655.2 Mouse input and the corresponding actions: constrained 3D movement. 	  655.3 Mouse input and the corresponding actions: constrained and unconstrained 2D movement. 	 65C.1 Background of Experiment Subjects 	  94D.1 Trial Data - CV1 	 96D.2 Trial Data - CV2 	 97D.3 Trial Data - DM1 	  98D.4 Trial Data - DM2 	  99D.5 Subject Data - CV1 	  100D.6 Subject Data - CV2 	  100D.7 Subject Data - DM1 	  101D.8 Subject Data - DM2 	  101vList of Figures2.1 Right-hand coordinate system for objects represented on the display 	  52.2 Selecting a point in 3D using a mouse 	  73.1 A spline with its control vertices (squares) and joints (circles) 	  223.2 B-spline blending functions for a single curve segment as a function of the parameter t 	 233.3 B-spline blending functions for first four curve segments 	  244.1 A synopsis of a complete curve-matching trial 	  404.2 Raw time data for control vertex manipulation 	  544.3 Raw time data for direct manipulation 	  544.4 Mean trial times for control vertex manipulation 	  554.5 Mean trial times for direct manipulation 	  554.6 Median trial times for control vertex manipulation 	  564.7 Median trial times for direct manipulation 	  564.8 Raw error data for control vertex manipulation 	  574.9 Raw error data for direct manipulation 	  574.10 Mean trial errors for control vertex manipulation 	  584.11 Mean trial errors for direct manipulation 	  584.12 Median trial errors for control vertex manipulation 	  594.13 Median trial errors for direct manipulation 	  594.14 Regression lines for mean trial times 	  604.15 Regression lines for mean trial errors 	  60viAcknowledgementsDr. Kellogg S. Booth: supervisor, Dr. David R. Forsey: faculty reader, Dr. Peter Graf (dept. ofPsychology): faculty reader, experiment design and statistical analysis, Dr. Colin Ware: statistical analysis,Imager and GraFiC Laboratories through grants from NSERC and IBM.viiChapter 1IntroductionWith ever-improving computer technology fuelling the emergence of 3D interactive computer applications,there is a growing need to study and improve the interface between the human user and the computer.These changes often involve many compromises because although the needs and requirements of 2Dcomputer interaction are well known, the needs and requirements of 3D interaction are still beingdiscovered. For example, the mouse is an excellent two dimensional input device. The feedback obtainedfrom the cursor on the screen makes its use very efficient and predictable. However, for 3D applicationsthe mouse falls short by one dimension. Is the mouse sufficient for these tasks, or should users invest inone of the elaborate new 3D input devices now available? The mouse does prove to be adequate for many3D applications if implemented with appropriate constraints.In this thesis, an expandable testbed was written to study different interaction techniques for 3Dapplications. The program allows the user to select a variety of options affecting the interaction technique,the environment and the rendering used in the display during the execution of simple 3D tasks. A number1I Introduction	 2of 3D tasks are available for testing. Some of the interaction techniques are constraints on the movementof points and the rotation of objects using the mouse. Options affecting the environment include the sizeof icons and windows, and mouse speed. Most of the display options are depth cues to help in visualizing3D shapes. Using the testbed, 3D interfaces can be informally compared and new ideas may beimplemented without excessive modifications to the program.The testbed is also capable of conducting formal experiments to analyze 3D interaction. Itcontains software to provide a complete on-line tutorial, handle experiment administration and tabulateresults, including a full record of subjects' actions. To test the software, a "shape-matching" experimentwas conducted. Research used this paradigm for the study of 2D spline curves at the University ofWaterloo. The experiment in this thesis is an extension of that work, but dealing with 3D spline curves.It investigated two techniques for 3D B-spline manipulation. B-splines are approximating splines,meaning that their control vertices do not in general lie on the curve. Compared to an interpolating splinein which control vertices do lie on the curve, control vertex manipulation of a B-spline may be lessintuitive. It is not always obvious which part of the curve a given control vertex affects, especially for3D curves represented by a 2D projection on the display screen. A different set of manipulation pointscan be created, all of which do lie on the curve. Using these points, the B -spline behaves much like aninterpolating spline. 3D curve manipulation using these points may be more intuitive than using thecontrol vertices. The 3D shape-matching experiment discussed in this thesis formally compares these twomanipulation techniques.The effort in modifying the source code to work with 3D splines is a good example of thedifficulty in implementing a 3D application using an input device originally designed for 2D applications.1 Introduction	 3Although mathematically 3D splines are not much more complicated than 2D splines, the interfaceallowing the curves to be manipulated requires much work. The interface is more elaborate for tworeasons. First, in 2D there are but two degrees of translation and only one degree of rotation, while in3D there are three degrees of translation and three degrees of rotation. Second, the mouse and the CRTdisplay, the standard input and output devices for a workstation, are both 2D devices. This hardware isfine for 2D spline manipulation, but not immediately adequate for 3D splines. The testbed can be usedto explore interaction techniques using these devices for 3D tasks.Interaction techniques for the generic 3D tasks that are used in the shape-matching paradigm arediscussed in Chapter Two. The actions executed are split up into the three tasks: manipulating points,changing object orientation and rendering the 3D scene. Each of these tasks are discussed separately andtypical examples for achieving them are given.Chapter Three introduces the B-spline formulation. The shape-matching paradigm is defined andprevious studies using it are reviewed. A direct manipulation technique for B-splines is introduced.Chapter Four deals with the direct manipulation experiment, explaining the experimental procedure, theselection of subjects, the environment, the results gathered, and a statistical analysis of those results.The 3D testbed itself is discussed in Chapter Five, which describes all of the various options.Chapter Six summarizes the thesis and mentions some interesting future studies that are planned for thetestbed.Chapter 2The Basic 3D TasksThe majority of 3D applications for computer graphics workstations involve designing, manipulating orstudying "real" objects. Examples include CAD (computer aided design), scientific visualization andcomputer animation. Some specific 3D tasks performed in these applications are the design of a house,the manipulation of models of chemical molecules or the study of a patient's jaw in dentistry. Uponcloser inspection, these tasks may be broken down into three basic, generic tasks that are executed overand over again. These basic tasks form the building blocks of the larger tasks. The basic tasks are:1. manipulating points,2. changing the orientation of objects relative to the viewer, and3. rendering the 3D scene.To illustrate the function of these basic tasks, the design of a house using a CAD system mightbegin with the creation and manipulation of a set of points to form the first wall. Successive walls would42 The Basic 3D Tasks 	 5be constructed in the same manner, but the orientation of the partially completed house on the computerdisplay would have to be changed to construct some of the walls. During this entire process, the 3D shapeof the house as represented on the 2D display would have to be interpreted through rendering algorithmsthat might include perspective and hidden surface removal.There are numerous techniques that are available for each of the basic tasks. No one techniqueis best for all applications, but some are geared more towards a specific type of application than others.Many of the techniques that will be discussed have been implemented in the testbed software.Some of the discussion that follows deals with rotations of objects represented on the CRT display.The coordinate system used in these discussions will be as shown in Figure 2.1. The x axis runshorizontally across the screen, the y axis runs vertically along the screen, and the z axis runs out of thescreen. This is the standard right-handed coordinate system.Fig 2.1 Right-handed coordinate system forobjects represented on the display.2 The Basic 3D Tasks	 62.1 Manipulating Points2.1.1 Selecting PointsThe mouse, after the keyboard, is by far the most popular input device for computer graphics workstations.The mouse works well with the CRT display because one is a 2D input device and the other a 2D outputdevice. Traditionally, many applications have been 2D. But for 3D applications, the mouse and the CRTeach fall one dimension short. We can either use the mouse to provide constrained 3D interaction, or wecan use a 3D input device. Constrained interaction is often a viable approach. In fact, the vast majorityof 3D applications use the mouse as the primary input pointing device.The most common technique is to allow the mouse to act as a 2D pointing device with aperspective or orthogonal projection on the display. Points can be selected by simply placing the cursorover the desired point. If a new point is being entered, the depth can be set to some default value'. Ifwe are selecting an existing object and the particular view is cluttered with selectable objects, making itdifficult to select the correct object, the program can simply pick the nearest object. This is the techniqueused for the shape-matching experiment presented later. Because the number of selectable points is verysmall, conflicts are rare. When a conflict does arise, the user can change the viewpoint or orientation ofthe scene so that there is no longer a conflict. If the scene is very complicated, this solution may not workbecause every view may contain a conflict. Many of the commercial 3D modelling systems simply pickall objects that are under the cursor. To overcome this, one can either pick from a different view, pick'Methods for changing the depth are discussed in the next few sections.2 The Basic 3D Tasks	 7the object by name, pick its icon from a list, zoom in until there is no longer a conflict, or set some ofthe obstructing objects to be invisible.Fig 2.2a Pick vertex of square.LOAFig 2.2b Rotate objects first. Fig 2.2c Now pick vertex.An alternative technique, illustrated in Figures 2.2(abc), allows the user to input or select a 3Dpoint without ambiguity, but requires two mouse button clicks. In the figures, the user wants to select thevertex of the square that coincides with the triangle. As before, the cursor is moved over the 2Dprojection of the object and it is selected (Figure 2.2a). The selection is ambiguous because the cursoris pointing at several objects. What the user has done is not pick a point in 3D, but a line in 3D that isrepresented as a point in the given projection. The set of possible objects lie on this line. To pick thedesired object from the line of objects, the user can change the orientation of the scene (Figure 2.2b) sothat the projection of the line is in fact a line. The user can then pick the object from the line of objects(Figure 2.2c). Essentially, the mouse is being used to generate two intersecting rays in 3D that willuniquely locate the desired point, where the final selection depends on two 2D point selections, anintermediate rotation of the objects with respect to the viewpoint, and the rendering of the auxiliary linedetermined by the first 2D point selection.2 The Basic 3D Tasks 	 82.1.2 Moving PointsAfter a point has been selected, one may want to move or drag it to a different location. Again, there isthe problem of the mouse not providing enough degrees of freedom. The most common technique is toallow the mouse to manipulate the point on a 2D projection of the scene while holding the depth constant(i.e., movement is constrained to a plane parallel to the screen). Given the ability to work from a differentview, the point can then be moved in all three dimensions. Movement may also be constrained to someoblique plane or to a line in 3D for a specific application. For example, some commercial modellers allowconstrained movement horizontally or vertically on the screen.Constrained motion using a mouse may sound more restrictive than it really is. On a CRTdisplay, even with the best depth cues, it is difficult to accurately modify the depth of an object (i.e., intoor out of the screen). So, to change the depth of a point, one would likely prefer to work with anorthogonal view where the corresponding movement is parallel to the screen, even if unconstrained 3Dmovement was available from the input device.2.1.3 Other Input DevicesAs mentioned earlier, the mouse is by far the most common input device used for pointing. In fact, everycurrent workstation comes equipped with one. The mouse has proven to be extremely versatile for thevariety of software applications available. However, some complicated tasks benefit from an input devicewith more degrees of freedom. These devices are not very popular for a number of reasons including cost,2 The Basic 3D Taskshardware compatibility, software compatibility, and ease of use or effectiveness. They are used primarilyin research labs and for some special applications. Most of these input devices offer six degrees offreedom, three for translation and three for rotation. Below is a partial list of current six-degree-of-freedom input devices.Polhemus IsotrakThe Isotrak uses a pulsating magnetic field to determine position and orientation. It consists of twocomponents, a source and a sensor. The source remains fixed and emits the magnetic field, while thesensor, a very small unit, may be placed around a finger or mounted on one's head. Both the source andthe sensor contain three mutually orthogonal coils. The coils in the source are pulsed at separate times,and the coils in the sensor record the magnitude of each pulse, providing nine values that are used todetermine the position and orientation of the sensor with respect to the source. The Polhemus offers anadequate sampling rate and fairly good accuracy, but is susceptible to noise from other electromagneticdevices and metallic objects, and it is expensive ($3000).Ascencion BirdThe Bird is similar to the Isotrak except that it uses electromagnetic radiation instead of a pulsatingmagnetic field. In comparison, it provides a higher sampling rate and is less susceptible to interference.2 The Basic 3D Tasks	 10Logitech 6D MouseUnlike the two previous devices, the Logitech mouse uses ultrasound between the transmitter and receiver.The transmitter is a triangle with speakers at each of its comers. The receiver is the 6D mouse, whichcontains three microphones to sample the signals from the transmitting triangle. The mouse also operatesin a 2D mode, similar to a cordless 2D mouse. Compared to the Bird and the Isotrak, it is less sensitiveto disturbances from surrounding objects (unless they emit ultrasound) and is much cheaper ($1000), butit lacks the same degree of accuracy.SpaceballThe Spaceball is a six degree of freedom joystick. It is not as versatile as the other devices in that itcannot be mounted on some part of the body and moved freely in 3D. The user grasps a large ball at theend of the joystick that can be moved forward-backward, left-right, and up-down, as well as rotating itabout its three degrees of rotation (pitch, yaw, and roll). Unlike a joystick, the "stick" does not move.Inside the large ball that one grasps, is a smaller ball which is fixed to the stick, and thus does not move.These two balls are attached to each other by a number of springs. So, the large ball is free to moverelative to the smaller ball inside. It is the force on these springs that are used to calculate the six degreesof freedom. The most common complaint about this device is the lack of tactile feedback provided bythe device itself. The large ball of the joystick moves very little because it is the force on the springs thatare measured, not a displacement in translation or rotation. Because the movement is minimal, the userdoes not know if the correct input has been applied unless the application program provides adequatevisual feedback on the display.2 The Basic 3D Tasks	 11ADL-1 6D TrackerThe 6D Tracker employs a mechanical arm to determine position and orientation. It consists of the mainunit, a mechanical arm with two limbs, and a harness for one's head. The main unit is fixed and containsa microprocessor for calculating the six parameters. The arm connects the main unit to the harness. Theharness can either be secured to one's head, or it can be replaced with a handle for hand manipulation andused as a pointing device. There are a total of six precision potentiometers at the joints of the 6D Trackerthat provide the six degrees of freedom. Compared to the Isotrak or the Bird, this device is moreburdensome when mounted on one's head. But, because it uses simpler technology, it is available forabout half the cost and is not prone to interference. It is capable of sampling rates at least as high as theother devices.2.2 Modifying An Object's OrientationThe previous section has revealed the importance of having different orientations of the scene or objectfor a 3D task. Even in the real world, we rotate objects in our hand to study them. The view of theobjects in a scene may be modified in two ways: either by rotating the object in question about its centre 2,or by changing the eyepoint of the viewer in the scene. The latter requires control of all six degrees offreedom whereas the former only deals with the three rotation parameters. In both cases, the mouse lacksthe required degrees of freedom.2Any one of the calculated centres will suffice.2 The Basic 3D Tasks	 12Modifying the eyepoint is commonly done when the displayed projection represents a camera, asin 3D modelling/animation software, or the particular hardware includes a head-mounted tracking devicesuch as those mentioned previously. Because there are six degrees of freedom when manipulating theeyepoint, doing so without a 6D input device (i.e., using a mouse) is very tedious. For example, tomodify the eyepoint for the perspective window in some commercial modelling software, one must firstselect the parameter to be changed and then change that parameter using the mouse or keyboard. Ittypically requires several changes to obtain the desired view.To rotate an object, a centre of rotation must be defined. This point should be close to the centreof the object, otherwise the object will orbit around the point and fly off the display screen when rotated.One can imagine that the ultimate input device for this task would be a model of the object which the usercould hold in his hand and orient as desired, causing the object represented on the screen to rotateaccordingly. One can then generalize this idea by having a sphere or some other simple object that onecan hold in his hand as the input device. Many of the input devices described in the previous section areused in this way to modify the viewing rotation parameters.Because of the constraints in using a mouse for this purpose, much research has been performedto maximize its intuitiveness and efficiency. With a bit of software, the mouse can be used as a "virtualtrackball", imitating trackballs that may be found in video games and as input devices for some computers.This interface for the mouse maps the three degrees of object rotation to the two degrees of mouse motionin a predictable manner. For example, a very simple implementation is to let horizontal movement of themouse correspond to rotation about the y axis and vertical movement correspond to rotation about the xaxis. Rotation about the z axis is never performed. This implementation is fine for gross movements, but2 The Basic 3D Tasks	 13lacks intuitiveness when attempting accurate, fine rotations.A better approach is one published by Chen, et al. [Chen90]. Their approach simulates a realtrackball input device. The imaginary trackball, or sphere, surrounds the object on the display screen.The mouse or cursor can then be used to rotate the object by rolling the imaginary sphere. When themouse is moved, a vector is generated which in turn generates an axis of rotation and an angular velocity.In general, the rotation generated is a product of rotations about all three axes. Pure x or y rotations areobtained by moving the mouse along the horizontal or vertical axis of the imaginary sphere, and pure zrotation is accomplished by moving the mouse around the circumference of the sphere. Shoemake andothers have devised variations on the virtual trackball [Shoe92].Given one's favourite virtual trackball implementation, there are still a number of differenttechniques for interaction. The techniques described thus far are positional techniques where eachincremental movement of the mouse leads to an incremental rotation of the object. If the mouse does notmove, the object does not rotate. For these techniques, the only mouse information required is the currentlocation of the mouse and its previous location. Another class of interaction techniques, called adirectional trackball, looks at the original position of the mouse (i.e., the location of the mouse when thevirtual trackball was invoked) and the current position. These two points define a vector whose directionmay be used with a constant angular velocity to generate incremental mouse locations to be given to thepositional trackball to rotate the object. This is not another virtual trackball implementation, merely adifferent interaction technique. Because only the original and current mouse positions are used, the objectis constantly rotating unless these two mouse positions coincide. If the mouse is held still, rotationcontinues about the same axis. Essentially, the user is able to perform large rotations smoothly without2 The Basic 3D Tasks	 14having to pick up the mouse. The directional trackball is useful for the visualization of a complicatedobject where smooth continuous rotation helps in studying its 3D shape. With the positional trackball,this kind of rotation is just not possible. From personal experience, the disadvantage of this interface overthe original is that finding a precise view is difficult. This problem is significant during construction orediting tasks where one may want a particular view of the object.An extension to the directional trackball interface looks at the magnitude of the vector formed bythe original and current mouse positions as well as the direction. The magnitude can be used to set therate of the object's rotation, as opposed to keeping a constant rate of rotation. This rate-controlledtrackball is easily implemented given the directional trackball. The behaviour of this interface is similarto the directional interface except that the user has more control. By keeping the mouse close to theoriginal position, the user can rotate as slowly as desired, allowing more precision. However, it is difficultto make small adjustments in the direction of the vector and thus the direction of rotation when the vectoris so short.2.3 Rendering the 3D SceneThe CRT display is a two-degree-of-freedom output device. When the scene contains 3D data, the useris once again constrained. Essentially, what is rendered is a 2D projection of the scene. This may appearto be sufficient because pictures and photographs are 2D projections and they do a good job of portrayingthe 3D world. But photorealistically rendered objects are very compute intensive, so often the user isshown only a wire-frame representation or a polygonal approximation. During the construction of a 3D2 The Basic 3D Tasks 	 15object (i.e., in CAD applications), the user must have more than a 2D projection. Depth information isneeded as well. Numerous techniques for providing depth cues on a computer display are available.Some of these are discussed below.Multiple simultaneous viewsThe simplest method is to provide multiple views. Architects and draftsmen used this technique wellbefore the advent of computers. Many CAD software and 3D modelling/animation systems incorporatethis technique. Usually, three orthogonal views and possibly another arbitrary view are provided. Forexample, these may include the front view, top view, right view, and the camera's view. The first threeviews are usually used for the construction of the 3D object, and are orthogonal projections, while thecamera's view, a perspective projection, is used for visualization of the object. It is difficult to buildobjects in a perspective projection, so construction usually takes place in the three orthogonal windows.Perspective projectionNormal visualization of 3D objects relies on a perspective projection rather than an orthogonal projection.The geometry of objects in a perspective projection is the same as that in images formed by the humanvision system, so the scene appears more natural. With this projection, distant objects are made smallerthan near objects and parallel lines travelling away from the viewer converge in the distance. Sometimesthe geometry is exaggerated slightly to strengthen its effect as a depth cue. Other depth cues may be usedin conjunction with a perspective projection.2 The Basic 3D Tasks	 16Z-buffer Hidden Surface RemovalTypically, a computer displays every object in the scene in some systematic order regardless of thelocation of the objects in relation to each other (i.e., objects blocked from view are drawn as well). If theobjects are wireframe, one sees all of the lines, but if the objects are shaded, the projection can be quiteconfusing. An excellent depth cue is to remove portions of objects that are occluded in the given view.Hidden surface removal is primarily used for visualization and not for construction because informationabout occluded objects is lost when the depth cue is used. A number of algorithms exist for this task, butit is frequently performed in hardware with a z-buffer. The pixel location of every point that must bedrawn is computed. These pixel values (RGB or colour table value) are then stored in the frame bufferwhile the depth of the point represented by each pixel is stored in the z-buffer. The z-buffer containsstorage for the depth of every pixel on the display. If more than one point is drawn on the same pixel,their depth values are compared and the one closer to the viewer is retained in the frame buffer. Whenevery point of every object has been computed and all have had their depth values checked, the pixel datastored in the frame buffer is displayed on the screen.2D GridA 2D grid oriented in the x-z plane with the lines running parallel to the axes placed in a perspectiveprojection provides the user with an inexpensive depth cue. Because of the projection, the lines of thegrid parallel to the z axis converge in the distance. Some commercial 3D modelling/animation systemsuse this grid in the camera's window.2 The Basic 3D Tasks	 17Mesh surfaceMany 3D models can be effectively represented on the computer display with just a wireframe. But whatif the model consists primarily of curved surfaces? There are no edges to display and simply drawing theoutline is not adequate. A mesh representation of the surface can deliver the necessary shape or curvatureinformation. Used in conjunction with hidden surface removal, the user is given a very usefulrepresentation of the object.Flat or Interpolated ShadingA shaded image of a scene is visually more pleasing than a wireframe representation. All objects in thereal world have some "colour" associated with them. Flat shading is the simplest form of shading,covering each polygon representing the object with a uniform colour. However, most objects, especiallythose with curved surfaces, vary in their colour because of light and surface properties. Interpolatedshading can be used to blend the colours between a number of points. For a triangle, one can assigndifferent shades to each point and interpolated shading will produce a triangle with smooth variations incolour. Varying the colour of a curved surface in this way approximates the smooth changes in itsshading. Gouraud shading is a kind of interpolated shading that minimizes intensity discontinuities.2 The Basic 3D Tasks 	 18ShadowsShadows cast by objects provide further realism and provide an additional depth cue. A shadow givessome indication of the distance of objects from the light source and the relationship between two objectsif one object's shadow hits the other object. Rendering a scene with light sources, however, is veryexpensive. Some research has been done with fake shadows to determine their effectiveness as a depthcue [Wang92]. These fake shadows are in the correct location, but they are of a simple shape such as acircle or a square.Intensity Cue or Z axis ModulationAnother depth cue is to set the colour of an object depending on its relative depth. In general, objectsfarther away from the viewer approach the background colour while objects closer to the viewer approachsome chosen colour for the object. This technique is inexpensive and very effective.Kinetic Depth EffectRelative depths between objects may be determined when there is motion involved. Consider the casewhen the motion is rotation about a vertical axis inside an object. For points that lie between the viewerand the rotation axis, the closer the point is to the viewer, the faster it moves. In order for this depth cueto be effective, the hardware must be able to produce smooth motion. Several years ago, this would havebeen much to ask for, but today, even desktop personal computers have the necessary compute power.2 The Basic 3D Tasks 	 19Stereopsis:A depth cue that the human vision system utilizes when viewing a 3D scene is binocular disparity. Itrelies on the fact that humans have two eyes that have similar but slightly different points of view. Eacheye receives a 2D image of the 3D scene. The two images differ in that some objects present in bothimages are not in the same horizontal location. This difference in the horizontal location is calledhorizontal disparity. The amount of horizontal disparity depends on the depth of object in the view.Objects far away have very little horizontal disparity while objects very close to the viewer have muchmore.Binocular disparity does not exist when viewing a picture or a 2D image. Each eye receives thesame image so the horizontal disparity is zero for all objects. To obtain this depth cue when looking ata 2D representation of a 3D scene, each eye much be given a different image. On a computerworkstation, this may be accomplished with the following techniques: polarizing the light from the twoimages in different directions and having the viewer wear glasses with polarized lenses so that each eyesees one image but not the other, using colour filters instead of light polarization: or flashing the twoimages alternately on the same monitor and having the viewer wear glasses that have electronic "shutters"opening and closing in synchrony with monitor. To obtain smooth motion, the monitor should have arefresh rate of at least 120 Hertz. Another solution is to have the user look at two monitors, one for eacheye. Some head-mounted displays used for virtual reality applications employ this technique.Chapter 3Spline Curves and the Shape-Matching ParadigmIn this chapter, some background information is presented on splines, in particular B-splines, to preparethe reader for the discussion of the curve-matching experiment discussed in Chapter Four. The shape-matching paradigm is described and results from previous shape-matching experiments are summarized,revealing the reasons for choosing B-splines in this experiment. A comparison between 2D and 3D splinecurves is given to justify the hypothesis that curve manipulation in 3D is more difficult than manipulationin 2D. A "direct manipulation" technique for B-splines is introduced to alleviate this problem.A spline is a class of mathematical formulations for representing curves. A spline curve is madeup of a number of curve segments each of which is represented by a set of polynomials (often cubic).The coefficients of the polynomials are determined by a basis matrix (or a set of blending functions) anda vector of geometric constraints (called a geometry vector). These constraints are a number of 3D pointscalled control vertices. The blending functions are unique for a given spline fonnulation. So the equationfor a curve segment Q(t) is Q(t) = T • M • G where T is a vector of polynomials in t, M is the basis matrix203 Spline Curves and The Shape-Matching Paradigm	 21and G is the geometry vector. Expanding this product using cubic polynomials gives:M 11 m 12 m 13 m14 Cl .Q(t) = [x(t) y(t) z(t)] = [t 3 	t2 	t	 1]m21 m22 m23 M24 G2M31 m32 m33 m34 G3M41 m42 m43 M44The product T • M gives the blending functions for the spline which can be written explicitly as the vector[ k(t) b2(t) b3(t) b4(t) ]. Each of the elements Gi is a vector describing the 3D location of a controlvertex.Explicitly multiply T • M and then using the summation formula for matrix multiplication yieldsthe alternative representation for the curve as a weighted sum of basis functionsQ(t) =	 bi(t) • G.where the vector-valued G. are the weights for the basis functions bi .Each segment is joined to the next one at a point, called a joint. Figure 3.1 shows a spline withsix curve segments defined by nine control vertices represented as squares. The ordering of the verticesalong the curve is illustrated by the lines joining them forming a set of control polygons for each curvesegment. The joints, shown as circles, separate neighbouring curve segments on the curve.One important property of splines is local versus global control. A spline with local control has3 Spline Curves and The Shape-Matching Paradigm	 22control vertices which, when moved, only affect the section of the curve in the vicinity of the controlvertex moved. Control vertices for a spline with global control will affect the entire curve when moved.Another property is interpolating versus approximating of the control vertices. Interpolating splinesintersect a subset of its control vertices while approximating splines in general, do not.Fig 3.1 A spline with its control vertices (squares) and joints(circles).3.1 B-Spline CurvesLike many other splines, B-splines approximate curves using piece-wise cubic polynomials. B-splineshave local control and are approximating. The minimum cubic B-spline curve is a B-spline curvesegment, defined by four control vertices. The segment is constructed by taking a weighted average ofthe four control vertices. The B-spline blending functions shown in Figure 3.2 illustrate the weighting3 Spline Curves and The Shape-Matching Paradigm 	 23of the control vertices along a curve segment. These functions are derived from the B-spline basis matrixwhich can be used to compute the spline curve segment. The basis matrix or blending functions, alongwith the control vertices, completely define the curve. Figure 3.2 illustrates the use of the blendingfunctions. At t=0, the functions give the weights for each control vertex at one end of the curve segment,and at t=1, are the weights for the other end of the segment. In the middle of the segment, at t=0.5, v1and v2 get almost half of the weight each, leaving very small weights for v0 and v3. These weights mustsum to one. Notice that at the endpoints, the weight for one of the control vertices (v0 and v3,respectively) drops to zero so that the endpoints are a weighted average of only three control vertices.Fig 3.2 B-spline blending functions for a singlecurve segment as a function of the parameter t.To approximate a more complicated curve, two or more curve segments may be joined togetherto produce a B-spline curve providing more degrees of freedom. The second segment uses the nearestthree control vertices from the first segment so that a B-spline curve consisting of two segments has fivecontrol vertices. Figure 3.1 shows a B-spline curve with nine control vertices and six curve segments.As mentioned earlier, the point on the curve where the two segments are joined is called a joint. Because3 Spline Curves and The Shape-Matching Paradigm 	 24joints occur at the endpoints of curve segments, their locations are calculated from only three controlvertices. Because each segment is partially defined by the three vertices from the previous segment, eachcontrol vertex may affect up to four curve segments. Figure 3.3 shows the blending functions for fourconsecutive segments of a B-spline curve. Notice that the control vertex v3 contributes to all four curvesegments with a smoothly 3 varying weighting factor. So for a cubic B-spline curve comprising n curvesegments, n+3 control vertices are required.Fig 3.3 B-spline blending functions for first four curve segments.Each control vertex affects at most four curve segments, verifying its local control property. Thefact the curve is created from a weighted average of several control vertices shows that it is approximatingand not interpolating. A full explanation of B-splines is beyond the scope of this thesis. The interestedreader may consult any of the standard texts for additional information [Bart87, Foley90].'This "smoothness" gives the cubic B-spline curve C 2 continuity where two consecutive curve segments meet, i.e.,the first and second derivatives at each joint are equal.3 Spline Curves and The Shape-Matching Paradigm 	 253.2 Shape-Matching ParadigmSpline curves are widely used for interactive curve design in industry. Examples include the design offonts, the design of motion paths for animation cameras, and automotive and aeronautical CAD. Asdiscussed in previous sections, there are many mathematical formulations for splines. Most of these offerenough freedom to represent a variety of curves, but their behaviours during interactive curve manipulationare diverse. Some of them offer manipulation techniques that are easier to use or are more intuitive,especially for the novice user. To formally compare these different techniques, experiments can beconducted in which subjects are asked to design a number of specified "target" curves using differentmanipulation techniques. To determine which of the techniques is the best for the interactive design ofcurves, the amount of time taken to construct the curves and the accuracy obtained can be analyzed.One major problem with such an experiment is how to describe the target curves to the subjectsso that they can attempt to design the curves. In industry, designers are usually not given acomprehensive list of requirements for a curve to be designed, but rather have an idea of the curve in theirmind based on some constraints from the application. Although an experiment should be as realistic aspossible, subjects must be given a concise description of the target curves to ensure that all subjects havethe same goal so that their performance can be judged for correctness. Because of the difficulty inspecifying the target curves, we are lead to consider an alternative task. Instead of trying to design curvesfrom some description, subjects are given the target curves and they simply attempt to match them asaccurately and as quickly as possible by manipulating a working curve to the target curve with successivemanipulation of control points. It is hoped that this curve-matching experiment is equivalent to the curve-design experiment in that the results from the former can be applied to the latter.3 Spline Curves and The Shape-Matching Paradigm 	 263.3 Shape-Matching ExperimentsA number of different splines have been tested in previous 2D shape-matching experiments using thisparadigm. Some of their properties are reviewed below along with the results of the those experiments.Finally, some background information regarding the splines used in the experiment described in this thesisare given.The first experiment to use the shape-matching paradigm was conducted by Eric Bosch. Hecompared the effectiveness of four spline formulations: B-spline, Bezier, Catmull-Rom, and C 2interpolating. Each of these splines is represented by piecewise cubic polynomials. The Catmull-Romand C2 interpolating splines are interpolating while Bezier is both approximating and interpolating. Asnoted in the previous section, B-splines are approximating. All of the splines offer local control exceptfor C2 interpolating. The results of the experiment produced no clear favourite, but two results weresignificant. The B-spline was the most accurate of the formulations and the Catmull-Rom spline was mostpreferred by subjects. For further details, refer to Bosch's masters thesis [Bosch88] or a subsequentjournal article [Bosch93].Paul Ruest conducted the second curve-matching experiment, using an enhanced version of EricBosch's software. He explored the usefulness of the tension parameter available in the rational B-splineand the Beta2 spline. This parameter allows additional control over the curve beyond the actual placementof control vertices. These two splines were compared to B-splines with seven and ten control vertices,but no tension parameter. The rational B-spline and Beta2 each had seven control vertices and a tensionparameter for each vertex, offering much more control of the curve than a B-spline with seven control3 Spline Curves and The Shape-Matching Paradigm 	 27vertices. Results from the experiment revealed that tension was not useful for this task and the overallwinner was the B-spline with ten control vertices. Refer to Ruest's masters thesis[Ruest89] or asubsequent journal article [Ruest] for details of the experiment.From these results, B-splines appear to be a good choice for curve design. Interestingly, theCatmull-Rom spline was most favoured by the subjects and did perform reasonably well in Bosch'sexperiment. Further insight into these results may be obtained by looking at some of the properties ofsplines that are relevant to interactive curve manipulation. Both B-spline and Catmull-Rom have localcontrol, often a desirable property. Local control allows the user to work on one section of the curve ata time without disturbing the rest of the curve. A differing property between the two splines is thatB-spline is approximating while Catmull-Rom is interpolating. Intuitively, an interpolating spline shouldbe easier to use than an approximating spline because the effect of the control vertices on the interpolatingspline is more predictable. The vertices on an approximating spline may potentially lie very far awayfrom the curve, making it difficult to determine which vertex affects a certain section of the curve. Thisdifference does not seem to be very important for 2D curves.The Catmull-Rom spline seems to have a better set of properties for the curve-matching task overthe B-spline, and was preferred by the experiment subjects, but the B-spline was still more accurate.Perhaps the Catmull-Rom spline would have out-performed the B-spline if the target curves were morecomplicated with self-intersections. Then, the interpolating spline would have a larger advantage over theapproximating spline because of the added complexity. This thought leads the way to the current curve-matching experiment, which deals with 3D curves.3 Spline Curves and The Shape-Matching Paradigm 	 28Mathematically, 3D splines are not much more complicated than their 2D counterparts. The basisfunctions remain the same as do the calculations for the spline. There is simply one more coordinate tocalculate. However, the style of interaction can be vastly different. Manipulating 3D splines representedas a 2D projection on a computer display is much more difficult than doing so with 2D splines. Even asimple curve may be seen as having a number of intersections in a given view. An interesting questionthen, is whether a 3D curve-matching task is sufficiently complicated for an interpolating spline to be amajor benefit over an approximating spline. The next section describes a method that allows a B-splinecurve to imitate an interpolating spline, allowing for a comparison between two different B-splineformulations in Chapter Four.3.3 Direct Manipulation"Direct Manipulation" is a term coined by Shneiderman [Scheid83] almost a decade ago. He used it todescribe computer interfaces that were easy to learn and master, were intuitive for the novice andexperienced computer user, and were enjoyable to use. He did not give a precise definition of the termbut described it with a variety of examples, a list of properties, and quotes from others describing directmanipulation. Here is a list of properties which he gave:• Novices can learn basic functionality quickly, usually through a demonstration by a moreexperienced user.• Experts can work extremely rapidly to carry out a wide range of tasks, even defining newfunctions and features.3 Spline Curves and The Shape-Matching Paradigm 	 29• Knowledgeable intermittent users can retain operational concepts.• Error messages are rarely needed.• Users can immediately see if their actions are furthering their goals, and if not, they cansimply change the direction of their activity.• Users experience less anxiety because the system is comprehensible and because actionsare so easily reversible.• Users gain confidence and mastery because they initiate an action, feel in control, and canpredict system responses.The following quotations were provided to anecdotally describe direct manipulation: "what you see is whatyou get" and "a representation of reality that can be manipulated".The term "direct manipulation" has been used to describe the technique of manipulating a splinecurve by picking any point on the curve, dragging it to a new location, and having the curve pass throughthe new point [Bart89]. In this thesis, direct manipulation refers to a similar technique where a finitenumber of points on the curve are chosen for manipulation. Before describing the technique, somejustification is presented for labelling this technique as "direct manipulation".In comparing this technique to the standard manipulation technique for a spline where controlvertices (possibly lying far away from the curve) are dragged, direct manipulation appears to have anumber of advantages. It should be easier for a novice to learn, more predictable, and "closer to reality".In curve design, the user has a particular curve in mind that he would like to represent on the computer.As the shape is being formed, the user knows which parts are not quite right and how the curve should3 Spline Curves and The Shape-Matching Paradigm	 30deform to fix it. It should be possible to push and pull on parts of the curve itself to achieve this task,not drag points which are off the curve. To understand this, imagine someone working with a stiff wireor a piece of rope on the ground to obtain a certain configuration. The person grabs parts of the wire orrope and bends or moves it to the desired location. Working with a curve represented on the computershould be no different. Given the preceding arguments, it is felt that the spline manipulation techniquedescribed in the remainder of this chapter satisfies Shneiderman's definition of "direct manipulation" sothe technique will be referred to as "direct manipulation". The experiment presented in Chapter Fourquantitatively compares this direct manipulation of a B-spline with standard control vertex manipulationof a B-spline.The implementation essentially involves creating an alternative set of control vertices providingthe user with the illusion that the spline is an interpolating spline as opposed to an approximating spline.These points will be called direct manipulation points. When discussing a set of curve manipulationpoints (control vertex or direct), they will generically be referred to as control points. The curve is stilldefined by the control vertices, so both sets of points must be kept up-to-date during curve manipulation.The implementation can be divided into two parts: the calculation of the locations on the spline of thedirect manipulation points and the updating of the control vertices to produce the changes in the curveafter modification of the direct manipulation points.Many choices are available for the selection of the direct manipulation points. Any number ofthese points may be used and they may be placed anywhere on the curve. In fact, having an "infinite"number of them is not only possible, but very useful. Of course, the number of points is not really infinitebecause the mouse and the computer display deal with discrete elements. What is meant by "infinite" is3 Spline Curves and The Shape-Matching Paradigm 	 31that a user may select any part of the curve and modify it by dragging that part to a new position. If thisinterface is applied to spline surfaces, manipulation would be analogous to sculpting because the user isable to change any part of a surface by simply grabbing a point on the surface and moving it in 3D. Thisimplementation has been used successfully for a hierarchical B-spline surface modeller [Fors90].The shape-matching experiment presented in this thesis required that there be the same numberof direct manipulation points as control vertices in order for the two interaction techniques to be as similaras possible. A variety of locations are possible for these points. The joints of the B-spline curve werechosen. The reason for this will become apparent in the next paragraph. A minor detail is that there aretwo fewer joints than there are control vertices, making it appear that there is less control of the curveusing this implementation of direct manipulation. This was actually not a problem because only a subsetof the control vertices were modifiable by the user, so only a similar subset of direct manipulation pointswas needed. This point is discussed in more detail in the chapter on the shape-matching experiment.The update of the control vertices is quite simple and, depending on the interaction desired, maybe trivial. When a direct manipulation point is moved, at least one and possibly more control verticeshave to be updated to reflect the change in the curve. It is the designer's choice which of the controlvertices are affected by each direct manipulation point. Of course, none of these points can affect morethan four control vertices because points on the spline are determined by at most four control vertices.In the shape-matching experiment's implementation, each direct manipulation point is mapped to only onecontrol vertex. In the blending function for a B-spline curve (Figure 3.3), the weight of any of the controlvertices varies from 0 to 2/3. For any point on the spline in which a control vertex gets a weight of morethan 1/2, that control vertex has the dominant influence on that point of the spline. We chose to use the3 Spline Curves and The Shape-Matching Paradigm 	 32joints of the spline for the locations of the direct manipulation points. It is at these points that a controlvertex assumes its maximum weight of 2/3, so this is the lone control vertex that is updated when thecorresponding direct manipulation point (or joint) is moved. This is the technique used by Forsey. Thedirect manipulation points are referred to as "edit points" [Fors90]. Because only one control vertex isupdated, the same local control is retained even when using direct manipulation. If, on the other hand,we chose to map our direct manipulation points (the joints) to all three control vertices which affect it,spline manipulation would be less localized. Specifically, six curve segments surrounding the joint wouldbe modified instead of just four.If every point on the spline is a direct manipulation point, there are two choices for the updateof the control vertices. One can update every control vertex which affects the point picked on the splineor one can update the single control vertex which has maximum influence over the point picked. In thefirst option, the amount to update each of the four control vertices can be determined from the weightsfor that point. If only one control vertex is updated, a problem arises in the middle of a curve segmentwhere two control vertices are "tied" for the maximum influence (i.e., there is no dominant control vertex).One can either chose one vertex by default or use both of them. This issue does not arise for the joints.In our implementation, looking at each direct manipulation point (Di) and corresponding controlvertex (Ci) pair, we can derive an equation relating them:3 Spline Curves and The Shape-Matching Paradigm 	 33The control vertices Ci.1, Ci, and C'41 determine the value of Di which is also joint lc,. The weights orcoefficients used for the control vertices are derived from the B-spline blending functions. If Di is movedby Ai, we get the following equation:-1 C. +3-(C.+-3  )+-1 C. =D.+A6 " 3 i 2 i 6 " 1 'So, according to the second equation, if Di is moved by Ai, the spline should be updated by moving C'iby 1.5A.. The implementation is simple. When any of the direct manipulation points is moved, thecorresponding control vertex is moved by one and a half times that amount.Notice, however, that because the position of a direct manipulation point is defined by threecontrol vertices, when one direct manipulation point is moved causing a control vertex to be moved, theneighbouring direct manipulation points must also move in response to that control vertex's new value.This behaviour is the one major drawback of our direct manipulation technique. We can hope that theresults of the shape-matching experiment will reveal whether this is significant for interactive curvemanipulation. This is the focus of the next chapter.Chapter 4Direct Manipulation ExperimentA curve-matching experiment comparing the effectiveness of direct manipulation of 3D B-spline curveswith that of control vertex manipulation was conducted to test the hypothesis that although directmanipulation may not provide a significant advantage when matching 2D curves, it would prove to besuperior for 3D curves. Control vertex manipulation is indirect because these points may potentially lievery far away from the spline curve itself. When working with 3D curves represented on a 2D display,this indirection could be a major barrier to overcome in successfully manipulating the curves.In the experiment, the 3D task that subjects performed was the matching of 3D spline curves.Like most 3D tasks, this one may be divided into the sub-tasks discussed in Chapter 2. The first sub-task,the manipulation of points, corresponds to the selecting and moving of control points, either controlvertices or direct manipulation points. The second sub-task, modification of object orientation,corresponds to the 3D rotation of the curves on the display. The third sub-task, rendering of the 3D scene,corresponds to the choice of depth cues for the 3D curves.344 Direct Manipulation Experiment	 354.1 EnvironmentThe experiments took place in the GraFiC Laboratory in a corner separated from the rest of the lab withblack curtains. The enclosed area, approximately three meters by three meters, contained an office chair,a table, and a Silicon Graphics Iris 4D workstation, model 240VGX. The computer was actually locatedin a machine room, so only the monitor, keyboard, and mouse were present. Because the mouse was usedfor the vast majority of the experiment, it was placed directly in front of the seated subject, near the edgeof the table. The location of the mouse and its optical mouse pad could not be changed by the subjectbecause the pad was secured to the table top with tape. This was done to prevent it from sliding duringthe experiment. The keyboard was placed between the mouse and the monitor. A single lamp with a 60watt household light bulb was placed behind the monitor and pointed upwards and away from the subject.The laboratory itself was dimly lit, so with the curtains closed, screen glare was negligible. Contrast onthe monitor was set to its maximum as was the intensity. The terminator switches on the back of themonitor were all set to 75 ohm.4.2 Target and Controlled CurvesBoth the target and the controlled curves were defined by B-splines with nine control vertices. Theposition of each control vertex for the target curve was randomly generated. There were twenty targetcurves used in the experiment. After the set of target curves were created, they were screened for theirlevel of difficulty, but none were rejected. The four practice target curves were not randomly generated,but were carefully chosen so that the initial practice trial was straightforward, with each successive trial4 Direct Manipulation Experiment	 36gradually becoming more difficult.Several options were available for the initial position of the controlled curve. In previous 2Dcurve-matching experiments [Bosch87, Ruest89], the controlled curve was laid out diagonally across thescreen. One difficulty in those experiments was the matching of the endpoints of the target curves. Formany of the matches, the control points were not properly spaced along the target curve, so although thematch was acceptable, the controlled curve would protrude past the end of the target curve. Some subjectsresolved this problem by wrapping the controlled curve back onto the target curve. Matching theendpoints in a 2D curve-matching task is already difficult; for 3D curves, it is nearly impossible for anovice user. To simplify the matching of the curves for this experiment, it was decided that the endpointsof each controlled curve would be permanently attached to the target curve so that only the middle sectionneeded to be manipulated. To achieve this, the three control vertices at either end of the controlled curvewere assigned to the corresponding control vertices in the target curve, and thus were not modifiable bythe subject during the trial. With this constraint in place, each trial involved matching the three middlecontrol points of the controlled curve to those of the target curve, leaving the other six control pointsunchanged. Only the three manipulated control points of the controlled curve were displayed. Thecoordinates for the control vertices for each of the target curves are listed in Appendix E. Although therendering of the curves will be different depending on the software and hardware used, this data doesallow an exact reproduction of the 3D shape of the curves for similar experiments that may be run in thefuture.4 Direct Manipulation Experiment	 374.3 Experiment ProcedureThe experiment was divided into two independent sessions for each subject. One session dealt with B-Spline curves using standard control vertex manipulation while the other dealt with B-Spline curves usingdirect manipulation. The order in which the two sessions were performed was random, with half of thesubjects doing the sessions in each order. Subjects were required to complete an entire session in onesitting. They were not allowed to complete both sessions in one day, but the second session had to beperformed during the same work week as the first. These constraints were enforced to allow short-termlearning to occur between the two sessions and to avoid long-term learning.Prior to the start of the first session, each subject filled out a personal information form and aconsent form. Each session comprised an on-line tutorial (which was optional for the second session),twenty-four trials that were separated into four initial practice trials and twenty recorded trials, and a shortsubjective rating session. At the end of each session, subjects were given a comments form to fill out.Copies of these forms can be found in Appendix B.During each trial, the subject was presented with two 3D B-Spline curves, one blue and one red,drawn inside a shaded 3D bounding box filling the entire screen. The blue curve remained fixedthroughout the trial and was called the target curve. The shape of the red curve could be changed, andwas therefore called the controlled curve. This curve could be manipulated by moving any of the threecontrol points, represented as small black cubes. If the trial was part of the direct manipulation sessionof the experiment, the control points would all lie on the controlled curve. If it was a control vertexsession, they would not. The task during each trial was to modify the controlled curve so that it matched4 Direct Manipulation Experiment	 38the target curve as closely as possible in a short amount of time. Because the curves were threedimensional, it was necessary to view and manipulate the curves in different orientations to complete thematch.To move a control point, the subject would place the cursor over the desired point, press and holddown the left mouse button, and drag the cursor, moving the control point along with it. To change theorientation of the curves, the subject was given the ability to rotate the curves by ninety degrees in anydirection using the middle mouse button. Depending on which region of the screen the cursor was inwhen the button was released, the curves would rotate in one of the four directions. The rotation was notinstantaneous, but took about a second to complete. This helped the subject visualize the shape of thecurves. The right mouse button was used to end the trial. Details of the user interface can be found inthe tutorial reproduced in Appendix A.During the course of a trial, the subject was required to do the following: select a START buttonon the screen which starts the timer and displays the curves for matching; match the curves; stop the timerby picking the appropriate item from a pop-up menu; and, fmally, give a subjective rating of the match.The subject was allowed to pause as long as desired between trials. Figure 4.1 illustrates the executionof a trial.To help analyze the subjective ratings for each trial, subjects were given a rating session after thecompletion of all of the trials. During this session, they were simply required to study a set of matched3D curves and to rate them in the same manner as in the trials. There were twenty pairs of curves in aset, the first group (a group consisted of four pairs of curves) were common to all subjects, while the next4 Direct Manipulation Experiment	 39group consisted of the 4th, 8th, 12th, and 16th matches performed by the subject displayed in the sameorientation in which the subject last viewed them during the trial. The third group of curves were thesame as the second group except that the view had been rotated by 90 degrees about the z axis. Thefourth and fifth group used the same pairs of curves again, but started with a random view.The software used to conduct the experiment is described in Chapter Five. It is available to otherresearchers for use in similar hardware environments.ITTI mworimord.1 1,1.1 renotnine") After rotating the view up.	k) After rotating the view up. I) Stop, rate match.4 Direct Manipulation Experiment 	 40a) START button. 	 b) Initial view of curves. 	 c) After moving the middlecontrol point.d) After moving other control 	 e) After rotating the view to the	 f) After moving more points.points. 	 right about the vertical axis.g) After rotating the view up 	 h) After moving the middle 	 I) After rotating the view to theabout the horizontal axis. 	 point. 	 right about the vertical axis.Flg 4.1 A synopsis of a complete curve-matching trial.4 Direct Manipulation Experiment	 414.4 SubjectsSixteen subjects took part in the experiment. Twelve were male and four were female. Five of thesubjects had completed engineering undergraduate degrees, six were engineering students, three hadscience undergraduate degrees, one was a chemical technician and one was a school teacher. Their agesranged from 21 to 32. Every subject had some kind of computer experience, and all but one had somemouse experience. Seven subjects had used a curve drawing program previously and four had someknowledge of spline mathematics. The majority of the subjects were enlisted with advertisements placedin the Electrical Engineering building and the Pulp and Paper Research Centre. A detailed description ofthe subjects is provided in Appendix C.Originally, subjects were obtained from a sign-up sheet attached to an advertisement posted in thePsychology building. On the sign-up sheet, potential subjects left their names and phone numbers.However, some of these people were very difficult to reach, and of those who scheduled times to performthe experiment, many either cancelled or did not show up. Only two people actually arrived for theexperiment, both of whom did not follow the experiment instructions correctly and thus could not continuewith the experiment. From this unsuccessful experience, it was learned that interested subjects shouldcontact the experiment supervisor, not vice versa. It was also concluded that for this experiment,pre-requisites should include some kind of technical background and a good comprehension of writtenEnglish.After interviewing some pre-experiment subjects and the two unsuccessful subjects from thePsychology sign-up sheet, it became obvious that a random pool of subjects would not work. The4 Direct Manipulation Experiment 	 42problem was not that the spline manipulation was too difficult, but that the interpretation of the curvesas 3D objects being represented on the display was very daunting for some of the people. In fact, thiswas the problem that the two unsuccessful subjects had. They failed to understand that the curves werethree dimensional, and that matching the curves required matching in every dimension. They onlymatched the curves in one view and stopped. The background needed for this experiment was notnecessarily a science or an engineering degree, but some experience in visualizing 3D objects. Suchexperience could be obtained in a drafting course, a molecular chemistry course, a vector calculus course,or perhaps even a metal or wood working course. It was hoped that Engineering students (or alumni)would have this background.4.5 Analysis of Experimental Curve-Matching DataFor this curve-matching experiment, the following three hypotheses were investigated:H 1 . Direct manipulation is "better" than control vertex manipulation for 3D curve-matching.H2. Learning has a major effect on the performance of this task.H3. Direct manipulation can be learned faster than control vertex manipulation.Results from the experiment were collected from statistical analysis of the time and error data,subject comments forms, playback data, and verbal discussions with the subjects. Other results could beobtained at a later time because every trial was recorded to a playback file, and thus could be played backin real time to tabulate more data. Hypothesis 1 was verified. Direct manipulation was faster than control4 Direct Manipulation Experiment	 43vertex manipulation. Hypothesis 2 was also verified, and was in fact the strongest effect in the curve-matching experiment. There was no statistical evidence for Hypothesis 3.The majority of the analysis looked at the time and error results from the experiment. Two typesof analysis were used, the t-test and the analysis of variance (ANOVA). Literature on these tools can befound in any introductory statistics text [Devo82]. The t-test was used to compare the means from twosamples of data and determine if there was enough evidence to conclude with some minimum probabilitythat the two means should be different. For this analysis, that probability was 0.95. In other words, theprobability (called a) of concluding a difference in the means when there really was not one, was 0.05or less. When a conclusion can be made that the means are different, that result is said to be significant.At the same time, a 95% confidence interval can calculated for the difference in the means. An ANOVAwas used to compare the interaction of two factors in a set of samples. Again, an a value of 0.05 orlower was used to decide if a result was significant. Both types of analysis assume that the samples arenormal and homogeneous (each block has the same variance). However, in [Glass72], it is shown thatthe results of a t-test or ANOVA are still valid when the data is heterogeneous, as long as each block hadthe same number of data values. For completeness, the sample variances for each block were calculatedand checked for extreme deviations.The experiment results can be broken up into four blocks upon which the analysis was based.These included control vertex sessions performed as first sessions, control vertex sessions performed assecond sessions, direct manipulation sessions performed as first sessions, and direct manipulation sessionsperformed as second sessions. These blocks are later referred to as CV1, CV2, DM1, and DM2respectively. Each of these blocks consisted of twenty trial results from eight subjects. For a given4 Direct Manipulation Experiment	 44Table 4.1 Time and error results.Results CV1 CV2 I 	 DM1 DM2 	 1Median Time (sec.) 161 125 140 110Median Error (pixels) 13.0 8.9 9.5 10.3subject, the twenty trials involved matching a fixed set of twenty target curves given in a randompermutation. For each analysis, a block of results was averaged by subject, trial, or item. For example,in a subject analysis, the average for each subject over all trials was calculated and that data was used inthe analysis. Because there were eight subjects in a block, the subject analysis dealt with eight values.For a trial analysis, averages over all eight subjects for each of the twenty trials were used. Trials arelabelled by their chronological order for each subject. For an item analysis, averages over all eightsubjects for trials containing each target curve were used. There were twenty different target curves sotwenty values for each block were used in this analysis. In most cases, grouping the data in each of theseways produced similar results unless there were outliers in the data. Thus, comparing these results helpedreveal possible outliers.There are a number of techniques for averaging a set of data. The mean is the most commonmeasure. However, it is not very useful when the data contains outliers, or extreme data points. Themean should especially be avoided when the data is bounded on one side, as is the case with time data,because outliers are certain to bias the mean in only one direction. Two other averaging measures, themedian and the mean of the log transform of the data, are less affected by outliers. For this experiment,the median was chosen over the mean of the log transform because transforming data is more complicated4 Direct Manipulation Experiment	 45when reporting results of means and confidence intervals and the median analysis did provide asatisfactory analysis.Table 4.2 summarizes the data. Note that these averages are different from those given in the nextsections because they are medians computed over the entire block of data, while those in the next sectionsare means of medians across trials or across subjects for the block.4.5.1 Testing Hypothesis 1 — Analysis of Spline Manipulation TechniqueTo determine which technique performed best in this experiment, the t-test was used to analyze the timeand error data. Because of the possible learning factor involved in the experiment, the analysis comparedCV1 and DM1 and ignored CV2 and DM2. This data is similar to that which would be generated in abetween subjects analysis because the eight subjects who produced data for CV1 were different from theeight subjects in DM1. A trial analysis of time was significant with a = 0.01. The mean values for CV1and DM1 were 161 sec. and 140 sec., respectively, with a difference of 21 sec. A 95% confidenceinterval for the difference in mean times was (6.6 sec., 35 sec.). A subject analysis was also performed,but because of large variances between subject scores, not enough data was available to produce asignificant result. A trial analysis of the error generated a significant result with a = 0.01 and mean errorsof 13.0 and 9.5 pixels for CV 1 and DM1. So, direct manipulation was superior for subjects with no priorexperience in performing this task.An alternative question is: which technique is better for experienced subjects? For this analysis,4 Direct Manipulation Experiment	 46"experienced" is defined as having previously matched curves with either technique, so a comparisonbetween CV2 and DM2 was made. A trial analysis of time was significant with a = 0.01 with respectivemean times of 125 sec. and 110 sec. Analysis of the error did not produce significant results. Again,direct manipulation proved to be the better technique.4.5.2 Testing Hypothesis 2 — Analysis of Learning EffectsTo study the effects of learning, t-tests were performed on CV1 vs. CV2, DM1 vs. DM2, the first ten trialsof CV1 vs. the last ten trials of CV1, and similarly for CV2, DM1, and DM2. Also, graphs of the datawith regression analyses were produced. For CV1 vs. CV2, the trial analysis of time was significant witha = 0.001 with mean times of 161 sec. and 125 sec., a difference of 36 sec. A 95% confidence intervalfor the difference is (23 sec., 47 sec.). A subject analysis of time was significant with a = 0.02. A trialanalysis of error was significant with a = 0.002, and mean errors of 13.0 and 8.9 pixels. For DM1 vs.DM2, a trial analysis of time was significant with a = 0.001 with mean times of 140 sec. and 110 sec.A 95% confidence interval for the difference is (18 sec., 42 sec.). A trial analysis of error showed nosignificant results.Similar analysis was performed on the first half of a block vs. the second half of the block. Noneof the blocks produced significant results except for CV1. For that analysis, significant results were foundfor both the trial analysis of time and of error for a = 0.05. The mean times for the first and second halfwere 172 sec. and 151 sec., while the mean errors were 15.6 pixels and 11.5 pixels.4 Direct Manipulation Experiment	 47These results show that the learning factor is present across sessions and may in fact be strongerthan the technique factor. The differences in mean times for CV1 vs. CV2 and DM1 vs. DM2 werealmost double those in the technique analysis. Within the blocks, significant effects in learning were onlyfound in CV1.To further analyze the learning factor, a number of graphs were plotted and regression lines werefitted to the point data. Figures 4.2 and 4.3 are point plots of the raw time data for CV1 and CV2 (Figure4.2) and DM1 and DM2 (Figure 4.3). Figures 4.4 and 4.5 contain plots for mean trial times for each ofthe four blocks. Figures 4.6 and 4.7 show the median trial times. These six graphs are repeated for theerror data in Figures 4.8 to 4.13. The twelve graphs plot the trial number vs. trial time (in seconds) ortrial error (in pixels). The trial numbers take into account the four initial practice trials, and the trials froma subject's second session are numbered so that they continue from the first session and again take intoaccount the four initial practice trials. Thus the first trial of the first session is trial five and the first trialof the second session is trial twenty nine. All of the graphs contain linear regression lines as well. Theregression lines for the raw data (Figures 4.2, 4.3, 4.8 and 4.9) are the same as the correspondingregression lines for the mean trial data (Figures 4.4, 4.5, 4.10 and 4.11). The data points in the graphsin Figures 4.6, 4.7, 4.12 and 4.13, the median trial data, are the data values that were used in the trialanalysis for the t-tests. Figure 4.14 includes the regression lines for the mean trial times for each of thefour blocks while Figure 4.15 includes the regression lines for the errors.The equation for a regression line provides information about the amount of learning and the levelof difficulty of the task. A large y-intercept indicates a difficult task requiring more time to complete ora higher level of error. A large negative slope represents rapid learning or improvement. To analyze the4 Direct Manipulation Experiment	 48significance of these lines, hypothesis tests were performed to determine if the null hypothesis of slope= 0 could be rejected. For the median time data (Figures 4.6, 4.7, and 4.14), all of the regression lineshad a negative slope but none produced a significant result. For the median error data (Figures 4.12, 4.13,and 4.15), a significant result was obtained only from CV1 with a= 0.05 and a 95% confidence intervalfor the slope of (-0.47, -0.05).4.5.3 Testing Hypothesis 3 — Interaction between Learning and TechniqueA two factor ANOVA was performed to study the interaction between the technique factor and thelearning factor. For the trial analysis of time, both the technique and the learning factor were significantfor a = 0.01, with the result for the learning factor being much stronger. For the subject analysis of time,only the learning factor was significant at that level of a. In both analyses, there was no evidence ofinteraction. So, for the time data, the two factors were independent. Learning affected the two techniquesin similar ways and vice versa. In contrast, for the trial and subject analysis of error, the technique andlearning were not significant, but the interaction factor was. Learning affected the error of one technique,control vertex manipulation, more than it did direct manipulation. In fact, in comparing the plot in Figure4.13, the median error for each trial did not change appreciably from DM1 to DM2.4 Direct Manipulation Experiment	 494.5.4 Comments from SubjectsThe comment forms collected information about match strategies, rating criteria, curvemanipulation technique rankings, and general comments. The comments on the match strategies can bedivided into three groups. They were either strategies performed prior to actual curve matching, generalmatching techniques, or some specific ordering to the manipulation of the control points. The first groupof strategies included rotating the initial curves and looking for the easiest view to begin matching,spreading out the control points towards the perimeter of the match area and away from the target curve,and rotating the curves several times to visualize the 3D shape of the curves. About one quarter of thesubjects mentioned that they looked for the easiest view before matching, and from reviewing the playbackof some trials, at least half of the subjects did use that strategy some of the time. Some subjects matchedthe curves by manipulating the control points starting from one end of the curve to the other, while othersstarted at both ends and worked their way towards the middle. General matching techniques includedrough matches in the first few views and then fine tuning by rotating through several more views, orobtaining accurate matches for the first couple of views and finishing the match with only a few morerotations. For the latter method, some subjects discovered that after a match in the first view and oneninety degree rotation, matching in this view required only horizontal or vertical movement of the controlpoints, but not both. At this point, subjects had a good match, and with only one or two more viewswould finish the trial.The subjective ratings were not well received by the subjects. Over half of them complained thatthey did not have any kind of a scale on which to base their initial matches. Throughout the experiment,they had trouble using the entire rating scale as instructed in the tutorial. Subjects usually matched until4 Direct Manipulation Experiment	 50a certain accuracy was reached so that all of their matches received similar ratings. About one quarterof the subjects used the trial time and the difficulty of the match as part of the criteria in rating the match,enabling them to rate on a slightly wider scale.Subjects were given three questions in which they were asked for a preference between the twocurve manipulation techniques. The questions and the results are summarized below:Ql. In which session did you find the control of the curves easiest?Q2. In which session did you think that you were the most successful in your fmal matches?Q3. Which session did you enjoy the most?Table 4.2 Comment form resultsQuestion CV 1st Session DM 1st Session	 1 Total Score	 IQl: easiest 6 DM vs. 2 CV 6 DM vs. 1 CV 12 DM vs. 3 CVQ2: most successful 4 DM vs. 2 CV 4 DM vs. 3 CV. 8 DM vs. 5 CVQ3: most enjoyable 5 DM. vs. 2 CV 6 DM vs. 0 CV 11 DM vs. 2 CVThe results were divided into two groups of subjects, those who used control vertex manipulationin the first session and those who used direct manipulation. Some of the responses to these questionsindicated a tie or no preference between the two techniques. These responses were simply omitted fromthe table. For the first and third question, direct manipulation was the overwhelming favourite. The scorefor the second question was much closer because, as discussed previously, most subjects were equally4 Direct Manipulation Experiment	 51successful with all of their matches. The difficulty of the trial, whether due to the technique or not, wasreflected in the match time not the match quality. Some of the subjects commented that their choices wereaffected by the learning factor. They felt that their second session was more successful, regardless ofwhich technique was used, because they were more familiar with the task. The results for these subjectsconfirmed that their second sessions were, in fact, more successful.Finally, the miscellaneous comments provided by the subjects echoed some of the points alreadydiscussed. Direct manipulation was more automatic while control vertex manipulation was harder in thatwithout prior experience, one did not know which point affected a particular region of the curve. Therating of the matches was very difficult in the early trials of the experiment, but became easier in thesecond session. The learning factor significantly affected the match strategy. Two subjects claimed thatdirect manipulation was easier for approximate matches while control vertex manipulation was superiorfor fine-tuning. The latter observation may be due to the fact that when a direct manipulation point ismoved, its neighbouring points move as well, making fine adjustments more difficult.4.6 Discussion of ResultsThe match times for each trial produced the most interesting results as evidenced in the analysisin the previous section. The match errors provided some insight into the match strategies of the subjects.The error metric used was the sum of the Euclidean distances between the location of the target curve'scontrol vertices and the controlled curve's control vertices. The units used for the distances were theworld coordinates of the vertices that were bounded by a unit cube. These values were then converted4 Direct Manipulation Experiment	 52to screen pixels by scaling them by 500, the approximate length of a side of the unit cube. This metricwas initially implemented because of its simplicity. However, there was some concern as to its accuracyas an error metric for this task because the subject does not base the match on the control vertices, butrather the relationship between the two curves.In general, trial performance was a trade-off between match time and accuracy. In most cases,the trials were not extremely demanding, and a fairly constant, high level of accuracy was maintained.Any effects due to learning or difficulty of the target curve were observed in the trial time alone. Forsome subjects, however, having little curve-matching experience and faced with the less intuitive controlvertex manipulation, early trials in CV1 did prove to be extremely demanding. In these cases subjectswere forced to compromise the desired level of accuracy for a reasonable match time.Preliminary work with test subjects revealed that for each subject, upon mastering the manipulationtechniques, the match errors did not vary considerably. Each subject had his own idea of an adequatematch which may have partially depended on his amount of patience or stubbornness. For each trial, thecurves were simply matched until that level of accuracy was obtained. So subjects essentially kept theerror constant for each trial and varied the match time. For this reason, the initial error metric was usedinstead of investigating other possibilities. Of course, a new metric could have been implemented evenafter the experiment by extracting the final values for the control vertices of the controlled and targetcurves. The subjective ratings did not prove to be very useful. Subjects found it very difficult to rate theearly trials because they did not know what a good or poor match looked like. The written commentsoffered important information about match strategy. Finally, the playback data verified the subjects'written comments about strategy as well as revealing other trends and strategies during matching.4 Direct Manipulation Experiment 	 53Two minor problems were encountered during the experiment. The first problem was themisunderstanding of the initial subjects about having to perform a 3D match as opposed to a 2D match.Updating the tutorial and screening the subjects as discussed in Section 4.4 appeared to be an adequatesolution. The second problem was the fact that the computer which was used for the experiment wasconnected to the network in the Department of Computer Science, allowing other users to log in and useit. During each experiment, the list of processes running on the experiment computer was monitoredperiodically. On two separate occasions users logged in to the computer and started compute-intensiveprocesses, momentarily slowing down the experiment software.50— •••4 Direct Manipulation Experiment 	 54time (sec)• •..„300— •.:• • • 	 • 	 • .	200— 	 sl• 	 • 	 ••	 •• 11 	• 	• 	 .• 	 • 	 • • ••ID 	 l • 	o•	 •: ••• •	 ••••. • •••	150... 	 : 		•	• 	 • •• 	 •*- 	 •••I	• • 	 $	•• 	 • ::•• f 	 1 . ' I. .• 	 .• 	 •••• 	 •	 .•.•• . . • Ill•• ••• 	 : 	 ••: 	 .:•:• 	 IS 	 • .•• 11	•• 	• • 	 • • _ 	 e.• 	• 	• 0 •	100—	 • 	 • •• • •••s• 	 •••• • • ••• • •••••	„•• 	 •••• • 	 • 	 ••11 	 : 	 1.. 	 •fl,• •	 • • •„• • 	 •	l• „	 • ••• •••• : 	 ••• • •250— 	 • ••• 	 •• • 	 • 	 •• • 1 	 . 	 . 	 „,• ••trial no.10 	 20 	 30 	 40Fig 4.2 Raw time data for control vertex manipulation (CV1: trials 5-24 and CV2: trials 29-48).time (sec)• •300— 	 ••250— 	 •• ••: • .• •• •	200-1	 • 	 ...... ••S . *: •:: 	 • 	 •• 	 • 	 • 	 ••	. 	 •	l 	 • • • 	 • . 	 • 	 • 	 •••150— 	 • • 	 • 	 • 	 •	.., 	 ......	 • 	 .., 	 ..• •••	••..*. ... 	.	1• .1 • ••• 	 1 I • 	 • • 	 !	••_. 	 : s . 	 it•... 	 .. 	 •1 •	•• 	 • 	 • 	 .11 	 0: 	 1 	 •••• 	 ... 	 •• •'co — 	. 	 .. 	 0. • • Ses.• •	 • • $ • 6..  S: 	 SS• 84. 	 . 	 ..•	: 	 ea:. .:6 	 ...a. • :.:0 1/ 	• •.0 	 0e 	 11.• e50—•• • • • 	 •• .. 	 ••. 	 • 	 • • • 	 • 	 • 	 •trial no.10 	 20 	 30 	 40Fig 4.3 Raw time data for direct manipulation (DM1: trials 5-24 and DM2: trials 29-48).Fig 4.4 Mean trial times for control vertex manipulation (CV1: trials 5-24 and CV2: trials 29-48).Fig 4.5 Mean trial times for direct manipulation (DM1: trial 5-24 and DM2: trial 29-30).4 Direct Manipulation Experiment 	 554 Direct Manipulation Experiment 	 56time (see)300200—150—100—••• •• • ••  •• • • •. ••     50—trial no.10 	 20 	 30 	 40Fig 4.6 Median trial times for control vertex manipulation (CV1: trials 5-24 and CV2: trials 29-48).Fig 4.7 Median trial times for direct manipulation (DM1: trials 5-24 and DM2: trials 29-48).• •• •error (pixels)60—50—•40—•• ••• ••	. 	•• ••• $• • • 	 •• • 	 • 	 • j•• •• •6•••• •- 	 $ 	 • 	 •• 	 •• 111 	 • • •	••. 	 .•01•s • •'i s ! ••• :• • I ; I• : 	 • •trial no.12 	 18 	 24 	 30 	 36 	 42 	 48630—20—1 0—g••• •••• •• •• • • 	 • • 	 •• I 	 • • ••I . ° I . • 	 . 11•▪ • 	 •••••••••••	 •: . 	 • I. . • • 	 !•, ••4 Direct Manipulation Experiment 	 57Fig 4.8 Raw error data for control vertex manipulation (CV1: trials 5-24 and CV2: trials 29-48).error (pixels)60—50—40— • •• •30—•20—. • ••• • ••. 	 • ••• .•! 	 •. :.I•s••• .• •• ■•• • . lo t_ ••. • 1 _ _ .10— 1 : :• : ••1.• • 	 :1•• •: " i i !s 	 : 11 .• 1 111 •• Is 	 ! 81 ! ; 	 ; ; ; ; ! i11 se 8 	 .•I • : • # • 6 • • e 	 ..• • • • • :6 	 12 	 18 	 24 	 30 	 36 	 42 	 48trial no.Fig 4.9 Raw error data for direct manipulation (DM1: trials 5-24 and DM2: trials 29-48).. • • •••• •Fig 4.10 Mean trial errors for control vertex manipulation (CV1: trials 5-24 and CV2: trials 29-48).error (pixels)60—50—40—301-20—•• • 	 •• • • • •trial no.10 	 20 	 30 	 4010—4 Direct Manipulation Experiment 	 58Fig 4.11 Mean trial errors for direct manipulation (DM1: trials 5-24 and DM2: trials 29-48).4 Direct Manipulation Experiment	 59error (pixels)60—50 —40—30—20—10— 	 •• • 	 •	 • • • 	• •trial no.10 	 20 	 30 	 40Fig 4.12 Median trial errors for control vertex manipulation (CV1: trials 5-24 and trials 29-48).error (pixels)60-50 —403020 •10 ••• 	 • 	 • • • •trial no.10 	 20 	 30 	 40Fig 4.13 Median trial errors for direct manipulation (DM1: trials 5-24 and DM2: trials 29-48).4 Direct Manipulation Experiment	60Fig 4.14 Regression lines for mean trial times ( CV1: y = 207 - 1.93x ; CV2: y = 200 - 1.76x ;DM1: y = 1.75 - 1.97x; DM2: y = 129 - 0.40x ).Fig 4.15 Regression lines for mean trial errors ( CV1: y = 46 - 1.480x ; CV2: y = 12 -0.003x ; DM1: y = 11 + 0.052x ; DM2: y = 15 - 0.055x ).Chapter 5A Testbed for 3D Interaction ExperimentsThe software used for the direct manipulation experiment is actually a subset of a larger program with anabundant list of options including depth cues and parameters to customize the 3D task. This source codeis a re-working of Ruest's experiment software [Ruest89]. The modification of his software to work with3D curves was fairly easy because the Silicon Graphics library routines (GL) works in a 3D world bydefault. However, the revision of the user interface to handle 3D curve-matching generated manyquestions to which there were many possible answers. For example, how should 3D movement of thecontrol points be handled using the mouse as the input device? Instead of just offering one interface tothe curve-matching task, a number of distinct interfaces were implemented. In doing so, theireffectiveness for this particular 3D task could be tested first hand. Some of these interfaces were well-suited for the curve-matching task, while others appeared to be more effective for other 3D tasks.Besides the different 3D interface options, the environment and the specific task have a numberof options to change their properties. Many aspects of the program can be changed either from a pop-up615 A Testbed of 3D Interaction Experiments 	 62menu, command-line arguments, or a parameter file, making the software quite versatile. For example,the thickness of the curves or the speed of the mouse can be changed from a menu rather than updatinga constant in the source code and re-compiling. With such versatility, the software is very useful for thedesign of future experiments. The researcher can easily compare a variety of techniques and environmentswithout rewriting parts of the source code. In fact, an objective comparison is possible because matchevaluation routines and other software for running an actual experiment are already available. For thesame reason, when the design of the experiment has been completed, preparing the software for the formalexperiment requires minimal work.5.1 The 3D TaskThe testbed is equipped with other 3D tasks besides 3D curve-matching. After matching some 3D curveswith the newly written program, there was some concern that matching 3D splines might not be a suitabletask for an experiment investigating 3D interface design. As an alternative, a docking task wasimplemented. It involved moving and orienting an object in three dimensions to try to fit it into a holein a surface that was cut to fit the object in only one orientation (similar to puzzles for children). The taskwas conceptually very simple, requiring little background knowledge, yet it involved manipulation of theobject in all six degrees of freedom (three translational and three rotational).After a few modifications to the 3D curve-matching task, it was decided that the task was adequatefor the study of 3D interaction. The remainder of this chapter will discuss the options provided by thesoftware. Some have been implemented specifically for the curve-matching task, but apply equally well5 A Testbed of 3D Interaction Experiments	 63to the docking task and other tasks.5.2 Movement of Control PointsThe technique used in the direct manipulation experiment was to provide unconstrained two dimensionalmovement on a plane parallel to the screen, identical to that used in the 2D curve-matching task. Thethird degree of motion of the control point was manipulated by rotating the curves and then moving it toa new location. This method is probably the most intuitive if using a 2D input device, and is also thetechnique used in most 3D CAD and modelling packages where the simultaneous display of multiple 2Dprojections is often provided.A technique offering constrained 3D movement of the control points does allow manipulation ofeach of the three dimensions without the need for rotating the curves, as opposed to the previoustechnique. Depending on which of the three mouse buttons is used to select a control point, movementis either in the x, y, or z direction. Disadvantages of this technique are that unconstrained movement isnot possible and two of the three mouse buttons execute one of two actions (moving a control point orrotating the curves/ending the trial), depending on the location of the mouse (on a control point or not ona control point). The multiple uses of these buttons make the interface more complicated than theprevious technique.A third technique provides both constrained and unconstrained movement. It uses only two5 A Testbed of 3D Interaction Experiments 	 64buttons to handle the movement by recognizing double-clicking 4 and chording' as well as single buttonclicks. The right button serves just the one function of exiting the task. Tables 5.1, 5.2 and 5.3 map themouse input to the actions that they perform.In comparing these techniques, some issues need to be investigated. One issue is whether or notconstrained movement is useful. For curve-matching, constrained movement does not seem to be usefulunless an orthogonal projection is used with the following strategy: match the curves perfectly in the initialview, rotate the curves by ninety degrees, then match the curves in the third dimension by moving thecontrol points either horizontally or vertically depending on the rotation. If the curves are matched in oneview, then two of the three coordinates for each control point are correct. To complete the match, moveeach point such that only the last of the three coordinates is modified (i.e., constrained movement). Thisstrategy appears to be optimal, because only two views have to be matched, and only one rotation is made.Without constrained movement, it is difficult to match the last coordinate without upsetting the match ofthe first two coordinates.A second issue is whether movement in depth is beneficial as compared to rotating the object firstand then moving in the desired direction. The usefulness of movement in depth depends on theeffectiveness of the given depth cues, but in most cases, the accuracy of movement in depth is far worsethan that in the horizontal or vertical direction. Virtually no CAD or modelling software allows movementof objects in depth.4Double-clicking is accomplished by pressing a mouse button twice in close succession.5Chording is accomplished by pressing two mouse buttons at the same time.5 A Testbed of 3D Interaction Experiments 	 65Table 5.1 Mouse input and the corresponding actions: unconstrained 2D movement.Mouse Button I	 Cursor on control point I Cursor NOT on control pointleft 2D movement ---middle rotation rotationright exit exitTable 5.2 Mouse input and the corresponding actions: constrained 3D movement.I Mouse button I	 Cursor on control point I Cursor NOT on control pointleft vertical movement ---middle horizontal movement rotationright depth movement exitTable 5.3 Mouse input and the corresponding actions: constrained and unconstrained2D movement.I Mouse Button Cursor on control point 1 Cursor NOT on control pointleft vertical movement ---middle horizontal movement rotationright exit exitdouble click left 2D movement ---double click middle 2D movement ---chord left-middle 2D movement ---5 A Testbed of 3D Interaction Experiments 	 665.3 Curve RotationMany techniques are available for rotating objects in 3D. In general, 3D object rotation with a mouse isaccomplished using a virtual trackball algorithm. For more details on virtual trackbans and definitionsof some of the terms that will be used in this section, refer to Chapter Two. The algorithm of Chen, etal. [Chen90] is implemented in the curve-matching software with positional, directional, and rate-controlled interfaces. The positional interface is the standard trackball interface used in most applications.The directional and rate-controlled interface are very useful for the visualization of 3D objects becausethey allow the user to study the 3D information from the rotating objects without having to continuallyslide and pickup the mouse. On the other hand, they are not as effective as the positional interface forrotating an object during a construction task because precise rotations are more difficult.The rotation technique used in the experiment was not a virtual trackball, but was a constrainedtechnique allowing only ninety degree rotations about the x and y axes. This technique seemed to provideenough freedom for the curve-matching task. It was felt that providing a virtual trackball interface mightcomplicate the task and jeopardize the results of the main factor studied, the manipulation technique.Given the greater freedom of a virtual trackball, subjects would likely spend too much time rotating thecurves rather than matching them.The last alternative available in the curve-matching software is to provide multiple orthogonalviews instead of any rotation technique at all. Similar to most 3D modelling software, three smallwindows can be laid out on the display showing the front, top, and side view of the curves. Each windowis essentially a 2D curve-matching task. In informal studies, this interface turned out to be inferior to a5 A Testbed of 3D Interaction Experiments 	 67large, single window with a rotation technique. For complicated curves, it seemed nearly impossible tovisually merge the information from the three windows to obtain a complete mental picture of a 3D curve.As mentioned in Chapter Two, the smooth rotation of an object is a very good depth cue; this is availablewith any of the virtual trackball techniques.5.4 Depth CuesA comprehensive list of depth cues was given in Chapter Two. A subset of these was implemented inthe curve-matching software. The two display techniques for the curves are perspective and stereoperspective. The full set of parameters for the two projections are modifiable from pop-up menus duringthe curve-matching task. These parameters include the viewer distance from the monitor for perspectiveand the interocular distance for stereo.Gouraud shading can be used both in the curves and in the background as an optional depth cue.For the curves, the colour can be interpolated between two boundary colours with the weighting dependanton the depth of that part of the curve. This technique is sometimes referred to as z axis modulation.Usually, the boundary colours are chosen so that the curves approach the background in colour the fartheraway it is. The background can be shaded to simulate a single light source behind the subject byinterpolating the colours of the walls to be darker, the farther they are from the subject.Some preliminary work with shadows has been implemented. Shadows of the control points canbe orthogonally projected onto the left, right, top, and bottom walls. These shadows give the subject a5 A Testbed of 3D Interaction Experiments 	 68good idea of the depths of the control points. Further work will involve shadows for the curves and theability to manipulate the control points by selecting the shadows. This will provide another method formoving the points in three space using a mouse.5.5 Spline CurvesThere are a number of options dealing specifically with the curves. The spline formulation to use maybe chosen from the following: B-spline, rational B-spline, beta2 spline, and natural spline. The numberof control vertices for the curve may also be set. For B-splines, the formulation used in the directmanipulation experiment, either control vertex or direct manipulation may be selected. The number ofend control vertices on the controlled curve that are fixed to the corresponding vertices on the target curvemay also be set. In the experiment, three vertices on either end of the curves were fixed. The width ofthe curves as represented on the display can be modified from the pop-up menu. Finally, display of thesolution (i.e., the control vertices on the target curve) may be toggled on and off. This option is used fordebugging the software, but not in actual experiment trials.5.6 Other OptionsMost of the options for the curve-matching software are selected from a parameter file, the command-line,or a pop-up menu. A very important option is whether or not the trial is to be run in experiment mode.In this mode, the pop-up menu is disabled and a special quit menu is enabled whose only entries are5 A Testbed of 3D Interaction Experiments	 69"quit" and "resume".Additional miscellaneous options are listed below.• The speed or sensitivity of the mouse can be modified from the pop-up menu.• The colours for the background walls can be changed from the menu.• Control points may be represented as wire frame or a solid cube.• Any window or icon appearing during the trial or tutorial may be moved or re-sized.Most of the options discussed in this chapter may be invoked when running the testbed from pop-up menus, parameter files or command-line, and may be used in a formal experiment. Not all of theoptions can be implemented without editing the source code. This is a topic for future work.Chapter 6Summary and Future WorkThree major contributions were made in this research. First, a prototype testbed for the study of 3Dinteraction techniques was written. Using this software, one of a number of simple tasks can be performedusing some combination of these interaction techniques. Second, additional experience was gained in thedesign of a 3D curve-matching experiment using experiment software similar to that used in previous 2Dwork. Finally, an experiment was conducted to compare direct manipulation of B-spline curves withcontrol vertex manipulation of B-spline curves. The results provided evidence that direct manipulationwas the better technique.This experiment was the first of the curve-matching experiments dealing with 3D splines. At thesame time, the attention has shifted towards the 3D interaction techniques. Further research in this areaincludes both enhancements to the testbed software and additional experiments. The software can beexpanded to use other input devices and run different 3D tasks. It can also be generalized to simplify theimplementation of such modifications. The list of future experiments to be performed is extensive,706 Future Work 	 71involving both curve-matching and other tasks. Some of the more immediate proposed studies are listedbelow:• Running a similar experiment with "shadows" of the control points and curves orthogonallyprojected onto each of the four side walls of the box enclosing the curves. Besides providingdepth information, the shadows of the control points can be picked and dragged along the wall,forcing the actual control point to move in response. Using this interface, the subject couldconceivably complete the entire match in 3D without changing the orientation of the curves.Essentially, five views would be displayed on the screen at all times, four of which would be atreduced resolution as shadows.• Representing the curves as smooth, generalized cylinders and applying specular reflection to them.Specular reflection should provide a very good curvature cue.• Using the ADL-1 Head Tracker to change the view of the curves. Changing the view with headmovement should be more natural than changing the orientation with the mouse. The subject'shand that is used to control the mouse is relieved of a task, leaving it with the lone job ofmanipulating control points, possibly reducing some confusion. Unfortunately, the head trackerdoes not allow more than about forty-five degrees of rotation in any direction. It is not knownwhether this amount is adequate for matching the curves in depth. The following experimentshould be conducted as a preliminary study.• Investigate how the amount of rotation allowed by the ADL-1 Head Tracker affects the accuracy6 Future Work 	 72in depth of a simple task. This task could be to place a point at the mid-point of a line segment(not actually drawn) connecting two fixed points, or to place a point at the center of a cube. Inthis experiment, subjects would perform the task given varying amounts of rotation. As an initialprediction, the amount of rotation allowed should correlate positively with the accuracy in depth.• Using the Spaceball to change the orientation of curves. As with the head tracker, the mouse isfreed of the task of changing views. Instead, the subject would use his left hand to control theSpaceball. Capable of three degrees of rotation, the Spaceball should be very intuitive to use forthis application.All of these extensions should be easy to include in the existing testbed, although it is anticipatedthat a re-design of the testbed will at some point be required after more experience is gained with it.Bibliography[Bart87] 	 Bartels, Richard H., John C. Beatty, and Brian A. Barsky, An Introduction to Splines forUse in Computer Graphics & Geometric Modelling, Morgan Kaufmann, Inc., 1987.[Bart89] 	 Bartels, Richard H., and John C. Beatty, "A Technique for the Direct Manipulation ofSpline Curves", Graphics Interface Conference Proceedings, 1989, p. 33-39.[Bart93] 	 Bartels, Richard H., John C. Beatty, Kellogg S. Booth, Eric G. Bosch, and PierreJolicoeur, "Experimental Comparison of Spline Bases Using the Shape-MatchingParadigm", ACM Transactions on Graphics, 1993. To appear.[Bosch87] 	 Bosch, Eric G., "Workstation-Based Shape Matching Experiments", Masters Thesis,University of Waterloo, 1987.[Chen88]	 Chen, Michael, S.J. Mountford, Abigail Sellen, "A Study in Interactive 3-D RotationUsing 2-D Control Devices", Computer Graphics, SIGGRAPH Conference Proceedings,1988, Vol. 22, Num. 4, p. 121-129.[Devo82] 	 Devore, Jay L., Probability and Statistics for Engineering and the Sciences, Brooks/Cole,1982.[Foley90]	 Foley, James D., Andries van Dam, Steven K. Feiner, John F. Hughes, ComputerGraphics Principles and Practice, 2nd edition, Addison Wesley, 1990.[Forr86] 	 Forrest, A.R., "User Interfaces for Three-Dimensional Geometric Modelling", Proceedings1986 Workshop on Interactive 3D Graphics, 1986, p. 237-249.[Fors90]	 Forsey, David R., "Motion Control and Surface Modeling of Articulated Figures inComputer Animation", PhD Thesis, University of Waterloo, 1990.[Glass72] 	 Glass, G.V., P.D. Peckham, and J.R. Sanders, "Consequences of Failure to Meet73Bibliography	 74Assumptions Underlying the Fixed Effects Analysis of Variance and Covariance", Reviewof Educational Research, 1972, Vol. 42, p. 237-288.[Hodg89] 	 Hodges, Larry F., and David F. McAllister, "Computing Stereographic Views", ACMSIGGRAPH Course Notes, 1989, Num. 24, p. 4.1-4.30.[John89] 	 Johnson, Phil, and Richard DeHoff, "Field Sequential Stereoscopic Graphics Systems andApplications", ACM SIGGRAPH Course Notes, 1989, Num. 24, p. 3.1-3.7.[Newm79] 	 Newman, William M., and Robert F. Sproull, Principles of Interactive ComputerGraphics, 2nd edition, McGraw-Hill, Inc., 1979.[Ruest89] 	 Ruest, Paul, "An evaluation of tension within an extensible spline testing facility", MastersThesis, University of Waterloo, 1989.[Ruest] 	 Ruest, Paul, Richard H. Bartels, John C. Beatty, and Pierre Jolicoeur, "An ExperimentalEvaluation of Tension Parameters in Cubic Beta-Splines and Rational B-Splines", IEEEComputer Graphics and Applications. To appear.[Sche83]	Shneiderman, Ben, "Direct Manipulation: A Step Beyond Programming Languages", IEEEComputer, 1983, Vol. 16, Num. 8, p. 57-69.[Sche87] 	 Shneiderman, Ben, Designing the User Interface, Addison-Wesley, Inc., 1987.[Shoe92] 	 Shoemake, Ken, "ARCBALL: A user interface for specifying three-dimensionalorientation using a mouse", Graphics Interface Conference Proceedings, 1992, p.32-37.[Wang92] 	 Wanger, Leonard R., "The Effect of Shadow quality on the Perception of SpatialRelationships in Computer Generated Imagery", ACM Symposium on Interactive 3DGraphics, 1992, Vol. 25, Num. 2, p. 39-42.Appendix AHelp Text PagesThe seven page tutorial used in the experiment is listed on the following pages along with each demowindow that the subject sees. Some pages are repeated because they contain multiple demos. For thesepages, new material is shown in boldface. In the actual tutorial, new material is shown in yellow asopposed to white, the colour used for text displayed previously on the screen.75Appendix A Help Text Pages	 76- Page 1 -University of British ColumbiaComputer Graphics Curve-Matching ExperimentsThe experiment you are about to participate in is part of aninvestigation into the effectiveness of TWO curve drawing techniques formanipulating three-dimensional (3D) curves. During the experiment, you willbe matching curves in 3D using each drawing technique.Before you begin the actual experiment, you will be led through atutorial that will familiarize you with the computer graphics equipment and thecurve drawing process.Please take your time during the tutorial. It is important that youunderstand how the computer graphics equipment works. If at any time during thetutorial or during the actual experiment you are uncertain as to what isrequired of you, please feel free to ask the experiment supervisor forassistance.The primary piece of graphics equipment that you will be using is calleda MOUSE and is positioned on a mouse pad in front of the graphics terminal. Bymoving the mouse over the surface of the mouse pad you can control the positionof the red arrow, called a CURSOR, on the graphics display. Note that themovement of the mouse is not absolute, but is instead relative to its previousposition while in contact with the pad. Thus you can lift the mouse off themouse pad, place it at a new location on the pad, and then continue moving thecursor.During this tutorial the mouse will be used to PICK certain objects onthe graphics display. To pick an object, position the cursor on the objectand then press the appropriate button (LEFT, MIDDLE, or RIGHT) on the top of themouse.The boxes visible on the left-hand side of the graphics displayrepresent a table of contents for the introductory pages you are nowreading. Each box corresponds to a different page of this introduction.There are only two boxes visible at the moment: as you read additional pages,additional boxes will become visible.Note that the boxes are outlined in different colours. A red outlineindicates that the corresponding page is currently being read, while a greenoutline indicates that the corresponding page has not yet been read. Once apage has been read it will be outlined in white. Look, for example, at thecurrently visible boxes: the first is outlined in red because it correspondsto this page (the one you are now reading); the second box is outlined in greenbecause it has not yet been read.When you are finished reading a page, you move on to anotherby using the mouse to pick a box from the column of visible boxes on the leftof the graphics display. You can review previously read pages by picking oneof the white-outlined boxes, or you can continue with new material by pickingthe green-outlined box. If you pick the box outlined in red, nothingwill happen, since the page picked is the page currently displayed. So, toread the next page, pick the green outlined box labelled Page 2.Appendix A Help Text Pages 	 77- Page 2 -This experiment is divided into two sessions which are to be completedon different days. You will be performing one of the two sessions right now.You will be using a different curve drawing technique in each session.Each session comprises 24 trials followed by a series ofsubjective ratings (which is discussed on the last page). They are separatedinto 4 initial practice trials and 20 recorded trials. The number of trialsremaining will be displayed in the lower-left corner of the graphics display.During each trial you will be presented with two 3D curves drawn on thegraphics display (see below). Your task is to manipulate the BLUE curve so thatit matches the RED curve in all three dimensions.	 The BLUE curve can bemanipulated by moving any of the three small BLACK boxes, representing thecontrol points. Your goal during each trial is to match the curves as closelyas possible in a short amount of time.Notice that the endpoints of the two curves are already matched. Youwill only be manipulating the middle portion of the BLUE curve. Since thecurves are three dimensional, you will have to ROTATE the curves and work withthem from different views in order to match them.Appendix A Help Text Pages	 78- Page 3 -The curves can be rotated by 90 degrees in any direction any number of timesby using the MIDDLE mouse button. Pressing and holding down the middle buttoncauses a set of diagonal cross-hairs, a circle and possibly an arrow to bedisplayed. Try this now, when you are done, press the right button and select"Finished matching, stop timer•.Appendix A Help Text Pages 	 79- Page 3 -The curves can be rotated by 90 degrees in any direction any number of timesby using the MIDDLE mouse button. Pressing and holding down the middle buttoncauses a set of diagonal cross-hairs, a circle and possibly an arrow to bedisplayed. Try this now, when you are done, press the right button and select"Finished matching, stop timer".The cross-hairs and circle essentially divide the screen into five regions(left, right, top, bottom, and center). Each region corresponds to a directionof rotation (the center region is for no rotation), so by moving the cursor toa particular region, you can rotate the curves in the desired direction.Rotation does not actually occur until the mouse button is released. The arrowlets you know in which direction the curves will rotate if you release theMIDDLE mouse button now. The following table summarizes the above points:CURSOR REGION 	 ARROW 	 ROTATIONright	right 	 to the right by 90 degreestop 	 up 	 upwards by 90 degreesleft 	 left 	 to the left by 90 degreesbottom 	 down 	 downwards by 90 degreescenter 	 none 	 none (i.e., cancel rotation )Try rotating the curves now, when you are done, use the right button to stop.Appendix A Help Text Pages 	 80- Page 4 -You can move a control point by positioning the cursor on the black boxrepresenting it, and then holding down the left mouse button while you move themouse. Pressing the mouse button causes the red cursor and the control pointsto disappear, confirming your selection. When you release the mouse button,the red cursor and the control points reappear, indicating that you are nolonger moving that control point.As you move a control point, the BLUE curve changes shape in responseto the new position of the control point. If you take a closer look at the twocurves, you'll notice that the ends have already been matched.Try using the cursor to move a few control points now and when you arefinished, press and hold down the RIGHT mouse button and select "Finishedmatching, stop timer".Appendix A Help Text Pages 	 81- Page 4 -You can move a control point by positioning the cursor on the black boxrepresenting it, and then holding down the left mouse button while you move themouse. Pressing the mouse button causes the red cursor and the control pointsto disappear, confirming your selection. When you release the mouse button,the red cursor and the control points reappear, indicating that you are nolonger moving that control point.As you move a control point, the BLUE curve changes shape in responseto the new position of the control point. If you take a closer look at the twocurves, you'll notice that the ends have already been matched.Try using the cursor to move a few control points now and when you arefinished, press and hold down the RIGHT mouse button and select "Finishedmatching, stop timer".Remember that you have to match the curves in 3D, so you will be constantlymoving control points and rotating the curves. You know that you havesuccessfully matched the curves in 3D when EVERY view of the curves is matched.Appendix A Help Text Pages	 82- Page 5 -At the end of every trial you will be asked to rate the quality ofyour match. The rating scale has seven values, from POOR through MEDIUMto VERY GOOD. It is suggested that during the course of the experiment youmake use of the entire scale by tailoring the rating range to your ownpersonal performance, so that your best match is VERY GOOD and your worstis POOR.To make a selection on the rating scale, move the mouse so thatthe cursor is on the appropriate box. As you move the cursor along thescale, the currently selected box is temporarily highlighted. When you aresatisfied with your selection, press any mouse button while the desiredbox is selected to record your rating. Try this now.Appendix A Help Text Pages	 83- Page 6 -By now you should be familiar with the mouse and how it is used topick objects.During a trial there are three screen configurations: the START screen,the INTERACTION screen, and the RATING screen. In the starting configurationyou are shown an empty window and a box labelled START. When you are readyto start a trial, pick the box labelled START. Try this now.START1 experimental trial remainingAppendix A Help Text Pages	 84- Page 6 -By now you should be familiar with the mouse and how it is used topick objects.During a trial there are three screen configurations: the START screen,the INTERACTION screen, and the RATING screen. In the starting configurationyou are shown an empty window and a box labelled START. When you are readyto start a trial, pick the box labelled START. Try this now.The display then changes to the interaction screen. During thisstage you are to manipulate the controlled curve so that it matches thetarget curve as closely as possible. Remember that these curves are threedimensional and require matching in EVERY view. When you are satisfiedwith your match, or decide that you cannot improve it, press and hold down theright mouse button and select "Finished matching, stop timer".Try matching the curve now.p oar 	 riedlu►t ()erg GoodAppendix A Help Text Pages	 85- Page 6 -By now you should be familiar with the mouse and how it is used topick objects.During a trial there are three screen configurations: the START screen,the INTERACTION screen, and the RATING screen. In the starting configurationyou are shown an empty window and a box labelled START. When you are readyto start a trial, pick the box labelled START. Try this now.The display then changes to the interaction screen. During thisstage you are to manipulate the controlled curve so that it matches thetarget curve as closely as possible. Remember that these curves are threedimensional and require matching in EVERY view. When you are satisfiedwith your match, or decide that you cannot improve it, press and hold down theright mouse button and select "Finished matching, stop timer".Try matching the curve now.The rating scale is now superimposed on the interaction screen. Makeyour rating selection by moving the cursor within the appropriate box andthen pressing any mouse button. Try this now.Appendix A Help Text Pages	86- Page 6 -By now you should be familiar with the mouse and how it is used topick objects.During a trial there are three screen configurations: the START screen,the INTERACTION screen, and the RATING screen. In the starting configurationyou are shown an empty window and a box labelled START. When you are readyto start a trial, pick the box labelled START. Try this now.The display then changes to the interaction screen. During thisstage you are to manipulate the controlled curve so that it matches thetarget curve as closely as possible. Remember that these curves are threedimensional and require matching in EVERY view. When you are satisfiedwith your match, or decide that you cannot improve it, press and hold down theright mouse button and select "Finished matching, stop timer".Try matching the curve now.The rating scale is now superimposed on the interaction screen. Makeyour rating selection by moving the cursor within the appropriate box andthen pressing any mouse button. Try this now.One important thing to note is that it is not possible to go back tothe interaction screen once you have selected the rating screen, and similarlyit is not possible to go back to the start screen once you have selected theinteraction screen.Appendix A Help Text Pages	 87- Page 7 -Congratulations! You have just completed one entire practice trial.If you do not feel prepared to begin the experiment now, please go back andreview the necessary instruction page(s).It is important that you complete all of the 24 trials in oneuninterrupted sitting. If you wish to pause during a session, please do sobetween trials (i.e., when the START button is displayed), since you are beingtimed.After the 24 trials have been completed, you will be given 20pre-matched trials. All that you have to do is study the matches by rotatingthe curves through the different views, and then rate them in the same way thatyou have rated your own matches. As in the regular trials, the MIDDLE mousebutton rotates the curves and the RIGHT button brings up the rating scale.Here is a SUMMARY of key points:o Pressing the LEFT mouse button inside any control pointwill move the control point, reshaping the curve. (page 4)o Pressing the MIDDLE mouse button rotates the curves. (page 3)o Pressing the RIGHT mouse button pops up a menu to stop the trial.o Since the curves are 3D, every view must be matched. (page 4)o Match as quickly and as closely as you can. (page 2)Please ensure that all these points are clear, reviewing the indicatedpage(s) if necessary.Appendix BExperiment Subject FormsThe following forms were filled out by each subject who took part in the experiment. The SubjectInformation Form and the Consent Form were completed before the experiment. The first page of theComments Form was completed after the first session; the second page was completed after the secondsession.88Appendix B Experiment Subject Forms	 89Spline-based Curve Matching ExperimentsSubject Information FormPlease provide the information requested below. This information will be held in strictconfidence by the researchers.Name: 	ID (if UBC student, use student ID)• 	Sex: 	Current Age: 	Are you primarily left or right handed? 	If you are a student, what department are you in and what year have you just completed:Briefly describe your computer background (i.e., PC, Macintosh, etc.):Have you ever had any experience with a mouse?	If yes, please elaborate: 	Have you ever had any experience with a curve drawing program? 	If yes, please elaborate . 	Have you ever had any experience with spline mathematics? 	If yes, please elaborate. 	Appendix B Experiment Subject Forms	 90Spline-based Curve Matching ExperimentsConsent FormI agree to participate in the study entitled Spline-based Curve Matching Experiments beingconducted by the Imager Laboratory of the Department of Computer Science at the Universityof British Columbia.I understand that the data gathered by the computer program will only be seen by theresearchers. The results which will be summarized in the experiment supervisor's Master's thesiswill be stripped of all identifying codes.I understand that my participation is voluntary and that I may withdraw from the studyat any time.Signature: 	Date:Appendix B Experiment Subject Forms	 91Spline-based Curve Matching ExperimentsComments FormPLEASE COMPLETE THIS PAGE AFTER COMPLETION OF THE FIRST SESSION.ID (if UBC student, use student ID)•	What specific strategy did you use in moving control points to achieve a match? 	What criteria did you use in rating the quality of your match? (i.e., accuracy of match, timetaken, difficulty, etc.)Any problems or comments on the tutorial? 	Any other comments on the first session? 	THANK YOU, PLEASE VERIFY THE TIME AND DATE FOR THE SECOND SESSION.Appendix B Experiment Subject Forms	92PLEASE COMPLETE THIS PAGE AFTER COMPLETION OF THE SECOND SESSION.What specific strategy did you use in moving control points to achieve a match? 	What criteria did you use in rating the quality of your match? (i.e., accuracy of match, timetaken, difficulty, same as previous session, etc.)In which session did you find the control of the curves easiest? 	In which session did you think that you were the most successful in your final matches?Which session did you enjoy the most?	Any other comments on the second session or on the experiment in general?THANK YOU FOR TAKING PART IN THIS EXPERIMENT.Appendix CBackground of Experiment SubjectsAppendix C Background of Experiment Subjects 	 94Table C.1 Background of Experiment SubjectsSubject Sea AgeURHindod BackgroundSxpericace withComp-uterhi CurveEditorSplineMath1  F 25 R Chemical Science Y Y N N2 M 22 R Metal &Materials Engineering Y Y N N3 F 24 R Education Y Y N N4 M 22 R Electrical Engineering Y YY Y Y5 M 23 R Civil Engineering Y YY Y N6 M 29 R Astronomy Y YY Y Y7 M 25 R Engineering Physics Y YY N N8 M 32 R Chemical Engineering Y Y N Y9 M 24 R Kinesiology Y Y Y N10 M 22 R Metal & Materials Engineering Y Y N N11 M 29 R Electrical Engineering Y Y Y Y12 F 28 R Metal & Materials Engineering Y N N N13 M 31 R Biology Y Y, N N14 M 28 R Civil Engineering Y Y Y N15 F 21 R Metal & Materials Engineering Y Y N N16 M 23 R Engineering Physics Y Y Y NYY - Very ExperiencedAppendix DExperiment ResultsResults are given for the trial analysis (median of subjects' score for each trial) and subject analysis(median of all trials for a subject). They are divided into the following blocks: CV1 - control vertexmanipulation for subjects' first session, CV2 - control vertex manipulation for subjects' second session,DM1 - direct manipulation for subjects' first session, and DM2 - direct manipulation for subjects' secondsession.95Appendix D Experiment Results	 96Table D.1 Trial Data - CV1Trial MedianTimeMedianErrorMeanRating1 169.23 12.91 5.1252 175.35 16.58 5.1253 167.92 15.56 5.6254 173.57 18.03 5.1255 138.51 13.02 5.2506 185.02 14.60 5.2507 198.56 13.11 5.2508 136.03 21.02 4.8759 213.04 10.18 6.25010 160.10 10.66 5.87511 128.60 15.75 4.87512 144.70 10.81 5.12513 164.28 9.08 5.12514 149.62 9.70 5.50015 156.96 9.21 5.50016 160.94 13.75 5.37517 138.12 7.57 5.87518 130.37 12.91 6.00019 158.15 9.94 5.37520 173.27 15.90 5.625Appendix D Experiment Results	 97Table D.2 Trial Data - CV2Trial MedianTimeMedianErrorMeanRating1 148.23 10.53 5.2502 115.52 10.88 5.3753 124.83 6.82 5.8754 150.42 10.96 5.1255 124.86 8.61 4.8756 155.95 7.00 5.2507 92.62 8.77 5.6258 101.13 8.59 5.2509 106.68 7.78 5.75010 124.84 7.78 5.50011 134.59 6.99 5.37512 12920 6.73 5.87513 135.06 12.01 5.62514 137.67 8.17 6.00015 113.24 7.26 5.12516 115.81 7.36 5.75017 105.80 9.16 4.87518 115.22 9.98 5.62519 129.86 15.17 5.50020 143.23 7.43 5.375Appendix D Experiment Results	 98Table D.3 Trial Data - DM1riT al._MedianTimeMedianError.MeanRating .1 137.15 9.05 4.8752 157.91 10.30 5.3753 168.15 8.39 5.3754 155.86 6.42 5.2505 149.07 8.43 5.6256 139.54 8.40 5.3757 136.92 10.27 5.2508 154.66 8.08 5.3759 120.20 7.24 5.37510 173.39 5.12 5.87511 135.10 9.63 5.00012 126.06 12.77 5.37513 140.46 7.01 5.50014 190.80 19.27 4.50015 113.77 9.91 5.50016 133.71 10.78 5.37517 105.59 10.82 5.50018 115.62 7.53 5.50019 127.61 9.43 4.75020 127.20 10.51 4.875Appendix D Experiment Results	 99Table D.4 Trial Data - DM2Trial MedianTimeMedianErrorAtMeanRating1 137.05 9.78 5.7502 103.00 10.80 5.6253 129.53 12.87 6.0004 109.77 12.41 6.0005 95.34 10.27 6.2506 109.17 8.53 5.6257 103.69 16.24 5.6258 122.14  10.92 6.0009 111.25 9.56 5.37510 93.66 10.75 5.87511 96.29 6.95 5.87512 115.22 8.37 5.50013 109.60 7.96 5.50014 134.94 10.44 5.50015 132.90 16.39 5.87516 115.96 11.30 5.37517 110.76 8.34 6.12518 84.76 8.48 6.12519 85.31 7.93 6.00020 103.59 7.75 5.375Appendix D Experiment Results	 100Table D.5 Subject Data - CV1SubjectMedianTime(sec)MedianError(pixels)MeanRating1 197.43 9.05 6.002 160.55 12.50 3.553 278.07 12.85 6.504 220.03 5.89 4.855 133.98 24.85 4.106 167.40 21.07 6.907 123.74 8.16 5.608 150.81 17.98 5.75Table D.6 Subject Data - CV2SubjectMedianTime(sec)MedianError(pixels)MeanRating9 118.04 21.38 5.7510 121.36 14.57 5.2511 151.79 10.44 6.2512 129.32 5.10 4.7513 216.67 9.00 6.3014 133.98 7.28 5.7015 117.11 7.21 5.5016 72.61 5.24 4.10Appendix D Experiment Results	 101Table D.7 Subject Data - DM1SubjectMedianTime(sec)MedianError(pixels)MeanRating1 138.31 15.42 5.702 107.10 9.65 5.453  168.27 11.52 5.154 117.85 4.51 4.655 210.97 11.93 6.156 , 159.55 6.78 5.357 173.20 8.57	 , 5.758 95.53 5.15 4.05Table D.8 Subject Data - DM2SubjectMedianTime(sec)MedianError(pixels)MeanRating9 118.74 7.40 7.0010 108.83 8.63 4.1011 137.74 14.81 7.0012 125.62 5.38 5.3513 75.64 17.92 3.9514 116.58 9.28 6.9515 88.50 9.96 5.6016 134.21 10.16 6.20Appendix EDescription of Target CurvesThere were twenty target curves used in the experiment, each one described by nine control vertices, P1to P9.102Appendix E Description of Target Curves 	 103x y zP1 0.049367 0.985902 0.496889P2 0.509386 0.013762 -0.075438P3 0.017599 0.234343 -0.474397P4 0.262143 0.365114 0.046352P5 0.961261 0.468953 0.401657P6 0.377691 0.108217 0.134704P7 0.164480 0.209065 0.435811P8 0.532309 0.538892 0.420674P9 0.315558 0.687438 0.351289P1 0.629844 0.746679 -0.283482P2 0.096381 0.362747 -0.158212P3 0.659670 0.233050 0.092504P4 0.095408 0.229730 0.300612P5 0.627408 0.114752 0.063959P6 0.298357 0.950672 0.202076P7 0.551268 0.772714 0.176138P8 0.095407 0.357667 0.479575P9 0.791838 0.729487 0.224017P1 0.299342 0.775229 0.030126P2 0.679120 0.388076 -0.422934P3 0.689023 0.211361 0.487170P4 0.013622 0.459137 0.229243P5 0.493842 0.571953 0.421756P6 0.028549 0.412107 0.049965P7 0.656168 0.836058 0.333893P8 0.479530 0.549339 -0.287852P9 0.607503 0.223155 0.067620P1 0.432642 0.777491 0.007525P2 0.177661 0.462488 -0.368172P3 0.255657 0.037097 0.075070P4 0.506159 0.353502 0.314128P5 0.985760 0.849159 0.031477P6 0.446158 0.870905 -0.165062P7 0.709799 0.398745 -0.335068P8 0.842225 0.209567 -0.375322P9 0.715926 0.488440 -0.499097Appendix E Description of Target Curves	 104x y zP 1 0.649317 0.026926 0.013175P2 0.553025 0.443885 0.368137P3 0.613998 0.580663 0.428095P4 0.383025 0.379911 0.292906P5 0.862781 0.279857 -0.370953P6 0.841756 0.006205 -0.361305P7 0.946392 0.258073 -0.417828P8 0.501552 0.544510 -0.103455P9 0.188820 0.422119 -0.357418P 1 0.927015 0.262295 0.125203P2 0.393625 0.014722 0.123127P3 0.981551 0.701498 0.409073P4 0.550831 0.184660 0.045085P5 0.758271 0.090657 0.294757P6 0.406267 0.893966 0.110066P7 0.360065 0.087789 -0.100740P8 0.175008 0.047649 -0.055400P9 0.001847 0.907937 -0.212595P1 0.354524 0.824201 -0.118864P2 0.387758 0.595189 0.196251P3 0.607810 0.222242 0.229749P4 0.771541 0.762390 0.172802P5 0.079142 0.342890 0.072206P6 0.471644 0.286032 0.204010P7 0.058487 0.440083 -0.087638P8 0.967301 0.399339 0.230061P9 0.898386 0.838299 0.236168P1 0.571199 0.073635 -0.113214P2 0.763122 0.576586 -0.067439P3 0.966151 0.765808 -0.417226P4 0.648406 0.788799 0.151581P5 0.956163 0.773589 -0330225P6 0.867242 0.421332 0.007767P7 0.295079 0.299412 -0.170398P8 0.626627 0.734282 -0.498071P9 0.371280 0.771978 0.377847Appendix E Description of Target Curves 	 105x y zP1 0.704499 0.075897 -0.135816P2 0.261663 0.650998 -0.012677P3 0.532785 0.591544 0.170675P4 0.140943 0.683163 0.236466P5 0.448081 0.050795 0.279497P6 0.284851 0.880130 -0.207260P7 0.348710 0.862098 0.160641P8 0.989322 0.394511 0.414459P9 0.479703 0.037263 -0.188870P1 0.125915 0.657552 -0.486356P2 0.524510 0.228766 -0.427993P3 0.525911 0.598672 0.050338P4 0.174094 0.820584 -0.139592P5 0.094357 0.881163 0.121519P6 0.364410 0.714332 0.484449P7 0.385663 0.008666 0.249380P8 0.424895 0.687328 0.225274P9 0.119770 0.891225 0.285628P1 0.363774 0.909885 0.036645P2 0.661725 0.920249 0.166589P3 0.422852 0.913353 0.009988P4 0.740292 0.723750 -0.197670P5 0.944313 0.340499 -0.171487P6 0.497146 0.437712 -0.248352P7 0.717305 0.902249 0.008791P8 0.002152 0.928482 0.380334P9 0.895719 0.953837 -0.051342P1 0.089270 0.906082 -0.471665P2 0.700459 0.380399 0.086411P3 0.457599 0.411944 0.368203P4 0.053946 0.489247 -0.394767P5 0.174610 0.600979 0.475200P6 0.192964 0.066113 -0.425783P7 0.400803 0.642919 0.234205P8 0.339143 0.558179 -0.067870P9 0.149295 0.718790 0.253993Appendix E Description of Target Curves 	 106x y zP1 0.065905 0.158231 -0.493137P2 0.674073 0.851090 0.488435P3 0.095901 0.146393 -0.173291P4 0.921855 0.588893 0.285874P5 0.441932 0.164324 -0.195565P6 0.289693 0.551971 -0.480059P7 0.301752 0.177472 -0.051308P8 0.233704 0.285396 -0.100967P9 0.952297 0.970811 -0.084387P1 0.867767 0.206298 0.366913P2 0.183294 0.228438 -0.114284P3 0.588034 0.426980 -0.465872P4 0.682759 0.534400 -0.004521P5 0.230465 0.224380 0.210997P6 0.165744 0.642377 -0.040003P7 0.482619 0.556423 -0.405254P8 0.976396 0.671306 -0.148065P9 0.799810 0.479841 -0.089153P1 0.192780 0.580450 -0.124611P2 0.746341 0.200534 -0.009820P3 0.625546 0.742329 -0.436335P4 0.998058 0.074013 0.463647P5 0.545996 0.870427 -0.392649P6 0.259141 0.345328 -0.334368P7 0.337507 0.345415 0.470606P8 0.965386 0.173720 0.259736P9 0.509152 0.380359 0.123366P1 0.674457 0.704715 0.382735P2 0.834315 0.776350 -0.252617P3 0.591390 0.148965 -0.277402P4 0.937983 0.408345 0.336060P5 0.086122 0.230335 0.284192P6 0.673418 0.021218 0.210516P7 0.345077 0.162542 -0.036982P8 0.422510 0.609145 -0.386836P9 0.523914 0.294142 0.107549Appendix E Description of Target Curves	 107x y zP1 0.072760 0.581807 -0.138172P2 0.045466 0.445181 -0.176962P3 0.765527 0.837771 0.116406P4 0.493580 0.610632 0.314578P5 0.241147 0.436751 -0.026816P6 0.109706 0.020606 -0.263384P7 0.169686 0.683027 -0.130770P8 0.583003 0.369857 -0.392746P9 0.174206 0.539530 0.383336P1 0.663788 0.317402 -0.028405P2 0.935919 0.223459 -0.116497P3 0.989743 0.141179 0.356174P4 0.910640 0.004818 -0.124755P5 0.585829 0.675271 0.199867P6 0.315978 0.854247 -0.113516P7 0.888722 0.569011 0.419421P8 0.192729 0.739019 -0.453438P9 0.598075 0.051877 0.071487P1 0.934632 0.129195 -0.271342P2 0.405125 0.200205 0.303890P3 0.687670 0.570637 0.047455P4 0.506722 0.787829 -0.401282P5 0.682104 0.213644 -0.303171P6 0.060475 0.273373 0.141180P7 0.434462 0.893172 -0.184029P8 0.516887 0.157698 -0.113604P9 0.189192 0.968975 -0.251414P1 0.362141 0.691102 0.484591P2 0.399258 0.780672 0.377015P3 0.313928 0.091381 -0.131869P4 0.727431 0.365558 -0.273564P5 0.002976 0.465878 0.474277P6 0.125853 0.665438 0.235125P7 0.132884 0.245467 -0.170927P8 0.309179 0.509388 0.171857P9 0.085731 0.899338 0.197349


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items