CA1320283C - Two-dimensional emulation of three-dimensional trackball - Google Patents

Two-dimensional emulation of three-dimensional trackball

Info

Publication number
CA1320283C
CA1320283C CA000596469A CA596469A CA1320283C CA 1320283 C CA1320283 C CA 1320283C CA 000596469 A CA000596469 A CA 000596469A CA 596469 A CA596469 A CA 596469A CA 1320283 C CA1320283 C CA 1320283C
Authority
CA
Canada
Prior art keywords
input controller
control movement
displayed
computer
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA000596469A
Other languages
French (fr)
Inventor
Michael Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innovations Foundation of University of Toronto
Original Assignee
Innovations Foundation of University of Toronto
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innovations Foundation of University of Toronto filed Critical Innovations Foundation of University of Toronto
Application granted granted Critical
Publication of CA1320283C publication Critical patent/CA1320283C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Abstract

TWO-DIMENSIONAL EMULATION OF
THREE-DIMENSIONAL TRACKBALL
ABSTRACT OF THE DISCLOSURE
A technique using a 2-dimensional input controller such as a mouse, a 2-D trackball, a joystick, a touch screen, a touch tablet or a digitizer for rotating an object displayed by a computer controlled video display system in 3-dimensional representation. A user visible reference circle is provided, and a pointer associated with the 2-D input controller is moved by the user rela-tive to the reference circle in a control movement mode.
Movement of the pointer within the reference circle produces rotation of the displayed object about arbitrary axes in 3-dimensional space, while movement of the pointer on or outside the reference circle produces rotation about a 3-dimensional axis that is oriented toward the viewer.

Description

. - - .

TWO-DIMENSIONAL EMULATION OF
THREE-DIMENSIONAL TRACKBALL

The disclosed invention is directed to a technique for emulating a three-dimensional computer input con-troller device with a two-dimensional computer input controller device.
The advances in computer graphics have extended the range of capabilities for the user. Objects can now be displayed in three-dimensional (3-D) representation, for example in wireframe, solid and/or shaded forms.
While a 3-D trackball input controller device has been utilized for directly manipulating objects displayed in 3-D representation, it is complex and expensive.
Var~us techniques utilizlng 2-dimensional input controller~ ~uch a~ a mouse have been developed for man~pulatlng ob~ect~ di~played ln 3-D representation.
A known technique utilize~ graphically d~splayed X, Y and Z sliders which axe ad~usted by the user (for example, wlth an lnput controller ~uch a~ a mouse) to inalcate the amount of rotation about each axis indepen-~ently. Typically, only one slider ~8 ad~uted at anygiven tlme.
Another known technlque involves the menu ~election of the axis about which rotation i8 desired. An input controller euch a~ ~ mouse i~ then moved ln one ~lmension 2S to lndlcate the amount o~ rotatlon.
8till another technlque lnvolves holdlng down one of ~hree buttons on a mouse or a keyboard to select the axis . .

1 of rotation, and then movinq a mouse in one dimension to indicate the amount of rotation.
An important consideration with known techniques for manipulating displayed objects represented in 3-D form is the lack of kinesthetic correspondence (or stimulus-response compatibility) between the movement of the input controller device and the direction of object rotation.
That is, the required movement of the input controller device does not provide the sense of actually rotating the displayed object.
A further consideration with known 2-D input con-trDller techniques for manipulating 3-D objects is the lack of capability of continuously varying the axis of rotation in 3-~pace. For example, with the qraphical ~lider technique, the axis for any given rotation is constrained one of the orthogonal axes.
Another consideration with known techniques is inability to provide rotatlon about an arbitrary axis that lnclude~ X, Y and Z components.
SUMMA~Y OF THE INVENTION
~t would therefore be an advantage to provide an improved technique for rotating ob~ects di~played in 3-D
representation with 2-D input controller devices which provides for klnesthetlc correspondence between lnput controller motlon and dl~played object rotatlon.
Another advantage would be to provide an improved technique for rotating dl~played objects about any arbl-trary axis in 3-space.
The foregoing and other advantage~ are provided in a methot for rotating an ob~ect displayed in 3-dimeneional repre~entation on a computer controlled display system having a computer and a video display uslng 4 2-dlmen-slonal input controller for positlonlng a reference lndlcator recognlzed by the computer. A user vislble reference circle is provided, and the computer is slgnalod .. .. .. ..

1 to activate a control movement mode wherein movement of the reference indicator.in such mode is for rotating the displayed object about an arbitrary axis which is determined by the direction of the control movement of the reference indicator and the location of the control movement relative to the reference circle.
Accordingly, in one aspect the present invention resides in a method for rotating an object displayed in three-dimensional representation on a computer controlled lo video display system having a computer and a video display, the method comprising the steps of:
providing a reference circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized by t~ the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotating the displayed object about an axis that is determined by the 2n direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the reference circle;
moving the reference indicator in the control movement mode Using the input controller by moving said input controller in two-dimensions to provide a defined movement; and rotating the displayed ob~ect about any arbitrary axis in 3-dimensional space when said reference indicator is within the said reference circle, said rotating being in accordance with the de~ined movement in the control movement mode.

....3A

A

`~ 132028~

In another aspect, the present invention resides in a method for rotating an object displayed in three-dimensional representation on a computer controlled video display system having a computer and a video display, the method comprising the steps of:
providing a bounded reference region substantially resembling a circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized tO by the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotating the displayed object about an axis that is determined by the direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the bounded reference region;
moving the reference indicator in the control 2n movement mode using the input controller by moving said input controller in two dimensions to provide a defined movement; and rotating the displayed ob~ect about any arbitrary axis in three-dimensional space when said reference indicator is with said bounded reference region, said rotating being in accordance with the defined movement in the control movement mode, wherein the rotation of the displayed object is defined solely by the direction of the movement of the reference indicator and the location of 3~ the control movement o~ the re~erence indicator relative to said bounded re~erence region, said arbitrary axis being user defined.

....

132~3 BRIEF DESCRIPTION OF THE DRAWING
The advantages and features of the disclosed invention will readily be appreciated by persons skilled in the art from the following detailed description when read in conjunction with the drawing wherein:
FIG. 1 is a block diagram of a computer system which can be utilized for implementing the di~closed invention.
FIG. 2 illu~trates a coordinate system relative to the displayed object which is to be rotated in accordance with the invention.
FIG. 3 schematically illustrate~ the movement of a displayed pointer which is utilized with the invention for producing rotation of a displayed object.
FIGS. 4 and 5 schematically illustrate specific cases of displayed pointer movement ~or rotating fl displayed object In accordance with the invention.
FIG. 6 ~chematically i,lluetrates a generalized case of displayed pointer movement for rotatlng a displayed object in accordance with the inven~ion.
FIG. 7 sets forth a flow diagram of the steps of the invention for rotating a displayed object pursuant to movement of a displayed pointer.
FIG. 8 sets forth a detailed flow diagram of certai,n Punctionfl provided pursuant to the flow diagram of FIG. 7.
DET~ILED DESCRIPTI~N
In the following detailed deflcription and in the several figures of the drawing, like el0ments are identified with like reference numeral~.

~;

132~8~

1 Definitions The disclosed invention generally involves the manipulation of a computer displayed object represented in 3-dimensional form, and it would be helpful to provide a brief discussion of the pertinent computer environment.
FIG. 1 is a generalized block diagram of an appropriate computer system lO which includes a CPU/memory unit 11 that generally comprises a microprocessor, related logic circuitry, and memory circuits. A keyboard 13 provides inputs to the CPU/memory unit 11, as does a 2-dimensional input controller 15 which by way of example can be a mouse, a 2-D trackball, a joystick, a touch screen, a touch tablet or a digitizer. Disk drives 17, which can include fixed disk drives, are used for mass storage of lS programs and data. Display output is provided by a video display 19.
Referring to FIG. 2, the object viewed on the video display 19 can be referenced for convenience relative to an orthoqonal coordlnate system that has its origin at the 2~l center of rotatlon of the object. The horizontal axis is the X axis, the vertical axis is the Y axis, and the Z
axls 1~ toward the viewer.
For ease of understandlng, the following discussion will be in the context of ~ 2-dimensional input controller 15 that i~ a mouse, but it should be readily appreciated by those ~killed in the art that the disclosed techniques can be implemented with other 2-D input controller de-vices. An example of a mouse device utilized with a computer controlled display system is set forth in U.S.
30 Patent 4,464,652.
A mouse controls the position of a mouse pointer that is displayed on the video display. The pointer is moved by moving the mouse over a flat surface in the deslred direction of movement of the polnter. Thus, the ,'~

1 2-dimensional movement of the mouse on the flat surface translates into a corresponding 2-dimensional movement of the mouse pointer on the video display.
A mouse typically has one or more finger actuated S control ~uttons. While the control buttons can be util-ized for different functions such as selecting a menu option pointed to by the pointer, the disclosed invention advantageously utilizes a single mouse button to trace the movement of the pointer along a desired path. Specifi-cally, the pointer is located at the desired startinglocation, the mouse button is depressed to signal the computer to activate a control movement mode, and the mouse is moved while maintaining the button depressed.
After the desired path has been traced, the mouse button 15 relea~ed. Thi~ procedure is sometimes referred to as dragging the mou~e polnter.
The location of the mouse pointer is typically sampled at a predetermined rate, for example 10 times per ~çcond, where each ~ampled location defines the start or end of a llne ~egment. The path traced by dragging the mou~e pointer can therefore be con~idered a~ compri~ing a ~erie~ o~ interconnected ~hort line ~egments, where the end~ of the line ~egment~ are defined by the ~ampled mouse pointer locationn.
It ~hould be appreciated that a predetermined key on a keyboard could aloo be utilized to activate dragging the mou~e pointer.
Detailed Dl~cu~ion Referring now to FIG. 3, a reference circle C i5 provided a~ a reference for the u~er input~ provided with the 2-D lnput controller 15. For the ~peciflc example of a mou~e, the reference clrcle 1~ dl~played at a convenient location on the vldeo di~play devlce. For lnput ¢ontrol-lers ~uch aff a touch tablet or a dlgitlzer where there 1 corre~pondence between the physical location of a phy~lcal .. . . . . . . . . . . . .

1 pointer and location on the displayed image, the re~erence circle could be located on the appropriate input tablet.
By way of specific example for ~he use with a mouse, the reference circle can enclose the object to be rotated, which produces the impression that the object is secured in a transparent or virtual sphere which is rotated pursuant to appropriate inputs. The center of the circle O coincides with the origin of the orthogonal coordinate system of FIG. 2, which as discussed above is also the center of rotation.
The reference circle C can be considered as repre-senting a flattened top hemisphere of a 3-D trackball input controller, ~top hemisphere" referring to the top half of the trackball as it would be typically oriented on a support surface. Of course, the reference circle is a top plan view representation of the flattened top hemi-sphere of the trackball. As discussed more fully herein, the action of moving the physical or displayed pointer of a 2-D input controller, whichever is appropriate, relative 2C to the reference circle is analogous to the action of rotating a 3-D trackball.
By way of example, a mouse iB utilized to move a mouse pointer either wlthln the reference clrcle or out~ide the reference clrcle. Dragging the mouse pointer (i.e~, moving the mouse with the mouse button depressed) on or outside the reference circle C causes rotation about the Z ax~s. Dragglng the mouse pointer within the refer-ence circle provides for rotation about arbitrary axes of rotation that can have X, Y, and Z components. Specifi-cally, for each llne segment defined by the ~ampledlocation~ of the dragged mouse pointer, the dlsplayed ob;ect of interest is rotated as a function of the loca-tlonl length and directlon of the line segment. One of such llne segment~ defined by two sequential locatlon samples of a dragged mouse pointer is schematically ~32~28~

1 illustrated as a vector ~ having a starting point P and an end point Q. For reference, the respective vectcrs from the center O to the points P and Q will be referred to as the vectors ~ and ~.
S For purposes of explaining the determination of the axis of rotation defined by an arbitrary vector ~, it woùld be helpful to initially discuss the specific case schematically illustrated in FIG. 4 where the vector ~
begins at the center O of the reference circle and makes an angle I with respect to the X axis. The axis of rotation, which is conveniently represented as a vector ~, is calculated as follows:

~(x,y,z) = [-sin T COS T O] tEquation 1 It should be appreciated that the axis of rotation ob-tained from Equation 1 is confined to the XY plane.
Taking now the specific case schematically illus-trated in FIG. S where the vector ~ begins at a location on the X axis displaced positively from the origin and ma~es an angle T with respect to the X axis. The axis of rotation i~ obtained from Equation 1 but rotated by degrees about the Y axis:
~ ~ f(x) ~ f( OR ) ~Equation 2) where OP i~ the dlstance between the center O of the circle and the start point P of the vector ~, OR is the radius of the circle 11, and ~x) i8 a monotonically increasing function that satisfies the following ,condi-tlons:

f~x) o 0~ if x - 0 (Equation 3) f~x) ~ 90~ if x - 1 132~283 1 By way of specific example, f(x) can be:
.
f(x) = 90~x (Equation 4) 5 The function f(x) is an interpolating function that allows the axis of rotation to lie on an arbitrary plane which intersects the Y axis. In essence, the function f(x) defines how the top hemisphere of a 3-D trackball is flattened into the reference circle C relative to the location of the axis of rotation. The function f(x) is analogous to projection mapping that a cartographer would use to map features of the earth onto a map.
The vector ~ (representing the axis of rotation) is determined as follows:
cos ~ 0 -sin ~(x,y,z) = [-sin T COS T 0] O 1 0 sin ~ 0 cos (Equation 5) In the generalized case schematically illustrated in FIG. 6 where P iB arbitrarily located at an angle relative to the X axls, the vector D makes an angle (~+T) relative to the X axis. Effectively, for the generalized case, the vector D of the special case represented by Equation 4 i~ rotated ~ degrees about the Z axis. Thus, the vector ~ repre~enting the axis of rotation is provided by modifying Equatlon 4 to include the rotation of degrees about the Z axis:

Icos ~ 0 -sin i~X,y,Z) ~ [--Bin T CO~ T 0~ 0 1 0 5 in ~ 0 cos ~
COS ~ Bin 9 01 _ -sin ~ cos e o I
o o lJ
~Equation 6) 1 Equation 6 is Equation S modified ~o that the axis of rotation can be arbitrarily located in 3-dimensional space. It should be readily appreciated that Equation 6 simplifies to Equations 1 and 5 for the specific cases discussed above by inserting the appropriate zero values for the angles ~ and e.
~ he amount of rotation ~ for a given vector ~ could be computed from the magnitude of the vector ~. For example, ~ could be calculated by multiplying the magni-tude of the vector ~ by a suitable scali~g factor.
However, to model the rolling of a 3-D trackball more precisely, the amount of rotatlon should be scaled such that the following properties are achieved:
~1) A full sweep of the mouse across the circle lS through the center O produces 180 degrees of rota-tion.
~2) A full circle around the edge of (or outside) the circle produces 360 degrees of rotation about the Z axi~.
For the example of f(x) - 90~x, it has been determined emplrlcally that the foregoing rotational properties are well approxlmated by calculatlng the amount of rotation ln degree~ as followss 0 ' 90~ [(1-~1- - ) b~ CO5TI)]

(Equatlon 7) where ¦D ¦ is the length of the vector ~ and OR i8 the radiu~ of the reference clrcle.
It ~hould be appreclated that the formula to'calcu-late the amount, of rotation ~ will be dlfferent for different interpolating function~ f(x) if the foregolng rotational propert~e~ (1) and ~2) are to be ac~leved.
For each vector ~ defined by two succes~ive locatlon sample of the dragged mouse pointer, an axis of rotation . ...

~32a283 l and the amount of rotation are calculated in accordance with Equations 6 and 7. The aata representing the dis-played object i~ processed to reflect the rotation, and the object display is updated to show the rotation.
Referring now to FIG. 7, set forth therein is a generalized flow diagram for implementing the foregoing 2-D technique for manipulating o~jects displayed in 3-D
representation. Pursuant to a function block 110, the location of the dragged mouse pointer is determined. The axis of rotation ~ and the amount of rotation ~ are respectively calculated in accordance with Equations 5 and 6 pursuant to a function block 120.
The data representing the object to be rotated is processed pursuant to a function block 130 to include the rotation, and the rotated object is then displayed on the video display pursuant to a function block 140.
Referring now to FIG. 8, set forth therein is a more detailed flow diagram of the functions provided by the function block~ 110 and 120 of FIG. 7. Pursuant to a decision block 211 a determination is made as to whether the mouse button is down. If not, the determination pursuant to the decision block 211 18 repeated. If the mouse button i5 down, a determinatlon i~ made pursuant to a decision block 213 as to whether the mouse button has ~ugt been pu~hed down (l.e., that the mouse button was not pushed down prior to the mo~t recent determination that it was down~. If the mouse button was ~ust pushed down, then pursuant to a function blocX 215, P i8 a~signed the present value of the sampled mouse pointer location.
Proce~sing then returns to the declsion blocX 211, , If the mouse button was not ~ust pushed down ~i.e., lt had been down at least for the immediately preced~ng sample), then Q is assigned the present value of the sampled mouse pointer locatlon pursuant to a function block 217. Processing continues with a function block 219 132~283 1 for the computation of the angles T and ~. Such computa-tion is readily based on the locations of the points P and Q. Pursuant to a function block 221, the vector ~ is calculated by subtracting the vector ~ from the vector ~.
Pursuant to a function block 223, the starti~g point for the next ~ector ~ is initialized by assigning the present value of Q to P. Finally, the axis of rotation and the amount of rotation are calculated pursuant to function block 225 in accordance with Equations 6 and 7.
Pursuant to known techniques, the information as to the axis of rotation and the amount of rotation is utili-zed to update the display of the object to reflect the rotation. For example, many systems use a transformation matrix to map a object data to display data. This matrix would be appropriately modified to reflect the rotation, and the transform matrix would then be applied to the object data to determine the display data that shows the rotation.
A simplified version utilizing the reference circle 2~ would be to tran~form mouse pointer ~ovement within the reference circlo to rotation about an axis that i5 ~trictly ln the XY plane and would be calculated pursuant to Equatlon 1 above. Mouse movement on or outside the roference clrcle produces rotatlon about the Z axis.
While thi~ simplified technigue provides continuous rotation only about arbitrary axe~ in the XY plane, ~impler computations are utillzed.
A~ stated earlier, the pre~ent invention can be utilized with a variety of 2-D lnput controller~. For tho~e input controllers where the physical location of a phy~ical pointer doe~ not identify location on the di~-played image, ~e.g., a mouse or a 2-D trackball), the reference circle and a pointer are conveniently displayed on the video di~play. However, a~ to 2-D input control-ler~ wherein the phy~ical location of a phy~ical pointer .. .. .. . . .. . . . .

1 identifies a location on the displayed image (e.g., adigitizer or a touch tablet), the reference circle could be indicated on the input controller and the displayed pointer would not be utilized. For example, a reference circle could be marked on a digitizer tablet, and the sample point locations defined by the movement of the digitizer puck would define the vectors ~. Similarly, for a touch tablet, the reference circle would be marked on the tablet and the sampled locations of the pressure bearing movement of the user's finger or stylus would define the vectors ~.
Fundamentally, the disclosed invention transforms 2-dimensional movement provided by a 2-D input controller into a 3 continuously changing variables which, for example, can be thc 3 orthogonal components of any arbi-trary axis of rotation in 3-space.
The disclosed technique provides for direct and continuous manipulation by a 2-D input controller of an object displayed in 3-D representation. The technique specifically provide~ for excellent correspondence between input controller movement and the resulting rotation of the object. This i~ readily appreclated, for example, when the reference circle i8 a di~played reference circle whlch ~urround~ the displayed ob~ect to be rotated. A
dl~played pointer i8 ~uperimposed on the ob~ect to ~e rotated, and dragging the polnter provides the impression o gra~ping the ob~ect and rotating it. The advantages of the technique of the invention can be further appreciated by considering the reference circle a~ repre~enting a virtual ~phere that surround~ the di~played ob~ect, and rotation 1~ produced by rotating the ~phere with the movement of or on a 2-D input controller. 8imply ~tated, what you do iQ what you see. The di~clo~ed technique i~
efficient and readily implemented with exi~ting 2-D input controller device~. For many in~talled ~y~tem~, the 1 disclesed technique can be implemented by installing the appropriate software.
As mentioned previously, the disclosed technique usi~g a 2-D input controller emulates a 3-D trackball controller. The reference circle represents a plan view of the exposed top portion of the 3-D trackball. Moving the pointer within the reference circle is analogous to rolling the trackball, while moving the pointer around the perimeter of the reference circle i8 analogous to twisting the trackball.
In add~tion to emulating a 3-D trackball, the technique of the inventlon provides advantages over the 3-D trackball. A 3-D trackball is difficult to roll and twist at the same time ~ince the top hemisphere of the trackball cannot be completely exposed due to the neces-~ary location of a rotation sensor at the ~equator" of the trackball. Further, the three rotational sensors of a 3-D
trackball are arranged orthogonally and must provide some sllppage when the trackball rotation ls not parallel to 2G the rolllng dlrectlon of a particular sensor. As a result of ~lippago, the accuracy of senslng rotatlon may be reduced. Al~o, the rotation sensing mechani~m of a 3-D
trackball lnclutes sub~tantial moving elements that must remain preci~ely aligned, and mlght not be sufficiently sturdy in hostile environments.
Wlth the disclosed 2-D technique, the top hemi~phere of a 3-D trackball 1B fully repre~ented, and it is po~si-ble to slmulate rolling and twistlng at the ~ame t~me.
Moreover, slnce mechanlcal coupllng i8 limlted to 2 dimensions, inaccuracie~ due to sllppage are reduced.
~tlll further, the 2-D technlque can be implemented wlth reduced movlng elements for lncreased rellablllty and ~turdines~ .
Although the foregolng has been a de~crlption and illu~tratlon of speclflc embodlment~ of the lnventlon, 1 various modifications and changes thereto can be made by persons skilled in the art without departing from the scope and spirit of the invention as defined by the following claims.

Claims (30)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method for rotating an object displayed in three-dimensional representation on a computer controlled video display system having a computer and a video display, the method comprising the steps of:
providing a reference circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized by the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotatingthe displayed object about an axis that is determined by the direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the reference circle;
moving the reference indicator in the control movement mode using the input controller by moving said input controller in two-dimensions to provide a defined movement; and rotating the displayed object about any arbitrary axis in 3-dimensional space when said reference indicator is within the said reference circle, said rotating being in accordance with the defined movement in the control movement mode.
2. The method of claim 1, wherein movement of the reference indicator on or outside the reference circle produces rotation about an axis that is oriented toward the viewer.
3. The method of claim 1, wherein the step of signaling the computer to activate the control movement mode includes the step of activating a switch.
4. The method of claim 1, wherein the reference circle is displayed on the video display.
5. The method of claim 1, wherein the reference circle is provided on the input controller.
6. A method for rotating an object displayed in 3-dimensional representation on a computer controlled video display system having a computer and a video display, the method comprising the steps of:
displaying a reference circle on the video display;
providing a pointer control device for selectively positioning a pointer displayed on the video display;
signaling the computer to activate a control movement mode wherein movement of the displayed pointer in the control movement mode is for rotating the displayed object about an axis that is determined by the direction of the control movement of the pointer and the location of the control movement of the pointer relative to the reference circle;
moving the pointer in the control movement mode using the pointer control device; and rotating the displayed object in accordance with the movement of the pointer in the control movement mode.
7. The method of claim 6, wherein the reference circle encloses the displayed object to be rotated.
8. The method of claim 6, wherein control movement of the pointer on or outside the reference circle produces rotation about an axis that is orientedtoward the viewer.
9. The method of claim 6, wherein the step of signaling the computer to activate the control movement mode includes the step of activating a switch.
10. The method of claim 9, wherein the pointer control device is a mouse.
11. The method of claim 10, wherein the switch is on the mouse.
12. The method of claim 10, wherein the mouse includes only one button.
13. A method for rotating an object displayed in three-dimensional representation on a computer controlled video display system having a computer and a video display, the method comprising the steps of:
providing a reference circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized by the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotatingthe displayed object about an axis that is determined by the direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the reference circle;
moving the reference indicator in the control movement mode using the input controller by moving said input controller in two dimensions to provide a defined movement; and rotating the displayed object about any arbitrary axis in three-dimensional space when said reference indicator is within said reference circle, said rotating being in accordance with the defined movement in the control movement mode, wherein the rotation of the displayed object is defined solely by the direction of the movement of the reference indicator and the location of the control movementof the reference indicator relative to the reference circle, said arbitrary axis being user defined.
14. A method as in claim 13, wherein the movement of the preference indicator on or outside the reference circle produces rotation about only an axis that is oriented towards the viewer.
15. A method as in claim 13, wherein said input controller is a two-dimensional input controller.
16. A method as in claim 13, wherein movement of the reference indicator on or outside the reference circle produces rotation about only an axis that is oriented toward the viewer and wherein said input controller is a two-dimensional input controller.
17. A method as in claim 14, wherein the step of signaling the computer to activate the control movement mode includes the step of activating a switch and wherein the reference circle is displayed on the video display.
18. A method as in claim 14, wherein said input controller is a two-dimensional input controller, and wherein the reference circle is displayed on the video display.
19. A method as in claim 14, wherein said input controller provides for kinesthetic correspondence between input controller motion and displayed object rotation.
20. A method as in claim 19, wherein said input controller is a mouse.
21. A method as in claim 15, wherein said input controller provides for kinesthetic correspondence between input controller motion and displayed object rotation.
22. A method as in claim 21, wherein said input controller is a mouse.
23. A method as in claim 16, wherein said input controller provides for kinesthetic correspondence between input controller motion and displayed object rotation.
24. A method as in claim 18, wherein said input controller provides kinesthetic correspondence between input controller motion and displayed object rotation.
25. A method as in claim 24, wherein said input controller is a mouse.
26. A method as in claim 15, wherein said step of rotating the displayed object includes a step of computing a vector representing the axis of rotation.
27. A method as in claim 26, wherein the step of rotating the displayed object includes a step of determining the rotation such that a full sweep of thereference indicator across a diameter of the reference circle produces approximately 180 degrees of rotation.
28. A method as in claim 26, wherein the step of rotating the displayed object includes the step of determining the rotation such that a full sweep of the reference indicator around the edge of or outside the reference circle produces approximately 360 degrees of rotation about the arbitrary axis.
29. A method for rotating an object displayed in three-dimensional representation on a computer controlled video displayed system having a computer and a video display, the method comprising the steps of:

providing a reference circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized by the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotatingthe displayed object about an axis that is determined by the direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the reference circle;
moving the reference indicator in two dimensions in the control movement mode to provide a defined movement; and rotating the displayed object about any arbitrary axis in 3-dimensional space when said reference indicator is within said reference circle, said rotating being in accordance with the defined movement in the control movement mode.
30. A method for rotating an object displayed in three-dimensional representation on a computer controlled video display system having a computer and a video display, the method comprising the steps of:
providing a bounded reference region substantially resembling a circle;
providing a user actuated input controller for selectively positioning a reference indicator recognized by the computer;
signaling the computer to activate a control movement mode wherein the movement of the reference indicator in the control movement mode is for rotatingthe displayed object about an axis that is determined by the direction of the control movement of the reference indicator and the location of the control movement of the reference indicator relative to the bounded reference region;

moving the reference indicator in the control movement mode using the input controller by moving said input controller in two dimensions to provide a defined movement; and rotating the displayed object about any arbitrary axis in three-dimensional space when said reference indicator is with said bounded reference region, said rotating being in accordance with the defined movement in the control movement mode, wherein the rotation of the displayed object is defined solely by the direction of the movement of the reference indicator and the location of the control movement of the reference indicator relative to said bounded reference region, said arbitrary axis being user defined.
CA000596469A 1988-07-29 1989-04-12 Two-dimensional emulation of three-dimensional trackball Expired - Fee Related CA1320283C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22597088A 1988-07-29 1988-07-29
US225,970 1988-07-29

Publications (1)

Publication Number Publication Date
CA1320283C true CA1320283C (en) 1993-07-13

Family

ID=22847021

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000596469A Expired - Fee Related CA1320283C (en) 1988-07-29 1989-04-12 Two-dimensional emulation of three-dimensional trackball

Country Status (5)

Country Link
JP (1) JPH0269798A (en)
CA (1) CA1320283C (en)
DE (1) DE3921300A1 (en)
FR (1) FR2634922B1 (en)
GB (1) GB2221369B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2892423B2 (en) * 1990-02-28 1999-05-17 株式会社日立製作所 Image display device and image display method
JPH07111743B2 (en) * 1992-03-04 1995-11-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Graphic display method and apparatus for rotating an object in a three-dimensional space
GB2303282B (en) * 1992-09-10 1997-04-16 Fujitsu Ltd Graphic editing apparatus
US5926186A (en) * 1992-09-10 1999-07-20 Fujitsu Limited Graphic editing apparatus and method
AU6121194A (en) * 1993-10-21 1995-05-08 Taligent, Inc. Object-oriented graphic manipulation system
GB2321169B (en) * 1993-12-02 1998-08-26 Fujitsu Ltd Graphic editing apparatus and method
JP4100195B2 (en) 2003-02-26 2008-06-11 ソニー株式会社 Three-dimensional object display processing apparatus, display processing method, and computer program
JP5328277B2 (en) * 2008-09-26 2013-10-30 任天堂株式会社 Image processing program and image processing apparatus
US20100080491A1 (en) 2008-09-26 2010-04-01 Nintendo Co., Ltd. Storage medium storing image processing program for implementing controlled image display according to input coordinate, information processing device and method for image processing
JP6360509B2 (en) * 2016-02-25 2018-07-18 任天堂株式会社 Information processing program, information processing system, information processing method, and information processing apparatus

Also Published As

Publication number Publication date
GB2221369A (en) 1990-01-31
GB8905267D0 (en) 1989-04-19
GB2221369B (en) 1992-10-14
FR2634922B1 (en) 1993-03-05
JPH0269798A (en) 1990-03-08
FR2634922A1 (en) 1990-02-02
DE3921300A1 (en) 1990-02-01

Similar Documents

Publication Publication Date Title
US5019809A (en) Two-dimensional emulation of three-dimensional trackball
US5670987A (en) Virtual manipulating apparatus and method
US6597347B1 (en) Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
US5583977A (en) Object-oriented curve manipulation system
Minsky Manipulating simulated objects with real-world gestures using a force and position sensitive screen
US5588098A (en) Method and apparatus for direct manipulation of 3-D objects on computer displays
USRE40891E1 (en) Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
JP4231413B2 (en) Method for providing a display for a GUI
Evans et al. Tablet-based valuators that provide one, two, or three degrees of freedom
Henriksen et al. Virtual trackballs revisited
US5729249A (en) Touch sensitive input control device
US20060119578A1 (en) System for interfacing between an operator and a virtual object for computer aided design applications
EP0429391A1 (en) Three-dimensional computer input device
CA1320283C (en) Two-dimensional emulation of three-dimensional trackball
KR20160078352A (en) Latency measuring and testing system and method
Kim et al. Tangible 3D: Hand Gesture Interaction for Immersive 3D Modeling.
Cameron et al. Hand tracking and visualization in a virtual reality simulation
Hirota et al. Providing force feedback in virtual environments
Lapides et al. The 3d tractus: A three-dimensional drawing board
US5418712A (en) Manipulation performance evaluating apparatus for evaluating manipulation performance of a commodity having operating parts
Pere et al. Virtual mechanical assembly on a PC-based system
JP3722992B2 (en) Object contact feeling simulation device
Kim et al. RealityBrush: an AR authoring system that captures and utilizes kinetic properties of everyday objects
Kaufman et al. Direct interaction with a 3D volumetric environment
WO1995011482A1 (en) Object-oriented surface manipulation system

Legal Events

Date Code Title Description
MKLA Lapsed
MKLA Lapsed

Effective date: 19960115