← Back to Patent Explorer
US5841440A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for using a pointing device to indicate movement through three-dimensional space

Assignee: Apple Inc
•
Filing: 1996-12-17
•
Granted: 1998-11-24
•
Expires: 2016-12-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method of displaying movement in three-dimensional space in response to input from a conventional two-dimensional pointing device such as a mouse or trackball. The three-dimensional space is projected onto a two-dimensional plane for display in a window on a display screen. A viewpoint position, which may be the center of the window, is defined as the current virtual position of the "camera" through which the three-dimensional space is viewed. The user manipulates an on-screen cursor across the window to specify a direction of movement in the two-dimensional plane. A three-dimensional direction of movement is derived from the user's input by defining a sphere having a center corresponding to a the center of the two-dimensional plane, and determining the intersection of a line perpendicular to the plane at the cursor location with the surface of the sphere. The direction of movement is then defined as a vector from the origin to the determined intersection. The system and method distinguish between navigation commands and object manipulation commands according to the timing and context of the commands.

Inventors

  • 👤 Ramanathan V. Guha

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 02:48
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/048; G06F3/0481; G06F3/04815

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 89 words
A method for displaying movement through a virtual three-dimensional space, comprising: a) determining a viewpoint position in the three-dimensional space; b) displaying a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; c) identifying a point on the plane; d) identifying a destination position in the three-dimensional space based on the identified point on the plane; e) moving the viewpoint position in the direction of the destination position; and f) displaying a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 2
Independent Claim 89 words
A method for displaying movement through a virtual three-dimensional space, comprising: a) determining a viewpoint position in the three-dimensional space; b) displaying a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; c) identifying a point on the plane; d) identifying a destination position in the three-dimensional space based on the identified point on the plane; e) moving the viewpoint position in the direction of the destination position; and f) displaying a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 3
Dependent Claim 15 words
The method of claim 1, wherein c) comprises determining a position of an on-screen cursor.
Claim 4
Dependent Claim 46 words
The method of claim 1, wherein d) comprises: d.1) defining a sphere having a center corresponding to the viewpoint position; and d.2) determining a point on the sphere being the intersection of a line perpendicular to the plane and intersecting the identified point on the plane.
Claim 5
Dependent Claim 69 words
The method of claim 1, wherein the identified point has an x-coordinate and a y-coordinate, and wherein d) comprises identifying a destination position having three-dimensional coordinates selected from one of (x cursor , y cursor , √2rm-m 2 ) and (x cursor , y cursor , -√2rm-m 2 ), where x cursor represents the x-coordinate of the identified point and y cursor represents the y-coordinate of the identified point.
Claim 6
Dependent Claim 87 words
The method of claim 1, further comprising: b.1) defining a z-axis perpendicular to the plane having a positive direction and a negative direction; and c.1) identifying one of the positive and negative z-axis directions for movement; and wherein d) comprises: d.1) defining a sphere having a center corresponding to the viewpoint position; and d.2) determining a point on the sphere being the intersection of a line parallel to the z-axis, originating at the identified point on the plane, and constructed in the z-axis direction identified in c.1).
Claim 7
Dependent Claim 17 words
The method of claim 5, wherein c.1) comprises determining a position of a key on a keyboard.
Claim 8
Dependent Claim 46 words
The method of claim 1, wherein the viewpoint position has an x-coordinate and a y-coordinate, and wherein d) comprises identifying a destination position having x- and y-coordinates corresponding to the x- and y-coordinates of the viewpoint position, and having a z-coordinate corresponding to a predetermined value.
Claim 9
Dependent Claim 54 words
The method of claim 1, wherein the viewpoint position has an x-coordinate and a y-coordinate, and wherein d) comprises identifying a destination position having x- and y-coordinates corresponding to the x- and y-coordinates of the viewpoint position, and having a z-coordinate derived by applying a function to the values of the x- and y-coordinates.
Claim 10
Dependent Claim 104 words
The method of claim 1, wherein b) comprises displaying the two-dimensional projection in a window having a frame and a center, the frame comprising at least two opposing sides, each opposing side comprising a midpoint, the frame representing at least a portion of the plane, and wherein d) comprises: d.1) defining a sphere having a center corresponding to the center of the window and a point of tangency with each midpoint of two opposite sides of the frame; and d.2) determining a point on the sphere being the intersection of a line perpendicular to the plane and intersecting the identified point on the plane.
Claim 11
Dependent Claim 86 words
The method of claim 1, further comprising: c.1) specifying a movement speed; and wherein: a) comprises determining a viewpoint position in the three-dimensional space, the viewpoint position defined by an x-coordinate, a y-coordinate, and a z-coordinate; d) comprises identifying a destination position defined by an x-coordinate, a y-coordinate, and a z-coordinate; and e) comprises adjusting the x-coordinate, y-coordinate, and z-coordinate of the viewpoint position by a specified amount based on the specified movement speed, to move the viewpoint position in the direction of the destination position.
Claim 12
Dependent Claim 14 words
The method of claim 10, wherein c.1) comprises determining a position of a switch.
Claim 13
Dependent Claim 13 words
The method of claim 10, wherein b) comprises displaying a linear two-dimensional projection.
Claim 14
Dependent Claim 13 words
The method of claim 10, wherein b) comprises displaying a nonlinear two-dimensional projection.
Claim 15
Dependent Claim 59 words
The method of claim 13, wherein the three-dimensional space contains at least one object, the object having an initial position in the two-dimensional projection, the method further comprising: e.1) designating one of the at least one objects; and e.2) further adjusting the coordinates of the viewpoint position to maintain the initial position of the object in the two-dimensional projection.
Claim 16
Dependent Claim 16 words
The method of claim 1, further comprising: c.1) detecting an input signal specifying a movement command.
Claim 17
Dependent Claim 14 words
The method of claim 15, wherein c.1) comprises detecting that a button is pressed.
Claim 18
Dependent Claim 20 words
The method of claim 15, wherein c.1) comprises detecting that a button is held for a predetermined length of time.
Claim 19
Dependent Claim 44 words
The method of claim 15, wherein: c) comprises detecting a position of an on-screen cursor controlled by a mouse having a button; c.1) comprises detecting that the mouse button is held for a predetermined length of time while the on-screen cursor remains substantially stationary.
Claim 20
Dependent Claim 24 words
The method of claim 18, wherein the predetermined length of time is sufficiently long to distinguish the movement command from an object manipulation command.
Claim 21
Dependent Claim 23 words
The method of claim 1, wherein the three-dimensional space contains at least one object, at least one of the objects representing a document.
Claim 22
Dependent Claim 154 words
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for displaying movement through a virtual three-dimensional space, comprising: computer-readable program code devices configured to cause a computer to determine a viewpoint position in the three-dimensional space; computer-readable program code devices configured to cause a computer to display a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; computer-readable program code devices configured to cause a computer to identify a point on the plane; computer-readable program code devices configured to cause a computer to identify a destination position in the three-dimensional space based on the identified point on the plane; computer-readable program code devices configured to cause a computer to move the viewpoint position in the direction of the destination position; and computer-readable program code devices configured to cause a computer to display a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 23
Dependent Claim 154 words
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for displaying movement through a virtual three-dimensional space, comprising: computer-readable program code devices configured to cause a computer to determine a viewpoint position in the three-dimensional space; computer-readable program code devices configured to cause a computer to display a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; computer-readable program code devices configured to cause a computer to identify a point on the plane; computer-readable program code devices configured to cause a computer to identify a destination position in the three-dimensional space based on the identified point on the plane; computer-readable program code devices configured to cause a computer to move the viewpoint position in the direction of the destination position; and computer-readable program code devices configured to cause a computer to display a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 24
Dependent Claim 80 words
The computer program product of claim 21, wherein the computer-readable program code devices configured to cause a computer to identify a destination position comprise: computer-readable program code devices configured to cause a computer to define a sphere having a center corresponding to the viewpoint position; and computer-readable program code devices configured to cause a computer to determine a point on the sphere being the intersection of a line perpendicular to the plane and intersecting the identified point on the plane.
Claim 25
Dependent Claim 80 words
The computer program product of claim 21, wherein the viewpoint position has an x-coordinate and a y-coordinate, and wherein the computer-readable program code devices configured to cause a computer to identify a destination position comprise computer-readable program code devices configured to cause a computer to identify a destination position having x- and y-coordinates corresponding to the x- and y-coordinates of the viewpoint position, and having a z-coordinate derived by applying a function to the values of the x- and y-coordinates.
Claim 26
Dependent Claim 180 words
The computer program product of claim 21, further comprising: computer-readable program code devices configured to cause a computer to specify a movement speed; and wherein: the computer-readable program code devices configured to cause a computer to determine a viewpoint position comprise computer-readable program code devices configured to cause a computer to determine a viewpoint position in the three-dimensional space, the viewpoint position defined by an x-coordinate, a y-coordinate, and a z-coordinate; the computer-readable program code devices configured to cause a computer to identify a destination position in the three-dimensional space comprise computer-readable program code devices configured to cause a computer to identify a destination position defined by an x-coordinate, a y-coordinate, and a z-coordinate; and the computer-readable program code devices configured to cause a computer to move the viewpoint position in the direction of the destination position comprise computer-readable program code devices configured to cause a computer to adjust the x-coordinate, y-coordinate, and z-coordinate of the viewpoint position by a specified amount based on the specified movement speed, to move the viewpoint position in the direction of the destination position.
Claim 27
Dependent Claim 121 words
The computer program product of claim 24, wherein the three-dimensional space contains at least one object, the object having an initial position in the two-dimensional projection, and wherein the computer-readable program code devices configured to cause a computer to display a two-dimensional projection of the three-dimensional space onto a plane comprise computer-readable program code devices configured to cause a computer to display a nonlinear two-dimensional projection, the computer program product further comprising; computer-readable program code devices configured to cause a computer to designate one of the at least one objects; and computer-readable program code devices configured to cause a computer to further adjust the coordinates of the viewpoint position to maintain the initial position of the object in the two-dimensional projection.
Claim 28
Dependent Claim 110 words
The computer program product of claim 21, wherein the computer-readable program code devices configured to cause a computer to identify a point on the plane comprise computer-readable program code devices configured to cause a computer to detect a position of an on-screen cursor controlled by a mouse having a button, the computer program product further comprising: computer-readable program code devices configured to cause a computer to detect that a button is pressed and held for a predetermined length of time while the on-screen cursor remains substantially stationary, to specify a movement command, the predetermined length of time being sufficiently long to distinguish the movement command from an object manipulation command.
Claim 29
Independent Claim 130 words
An apparatus for displaying movement through a virtual three-dimensional space, comprising: a memory module for storing a viewpoint position in the three-dimensional space; a display device, coupled to the memory module, for displaying a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; an input device, coupled to the memory module, for identifying a point on the plane; a destination position identifier, coupled to the memory module, for identifying a destination position in the three-dimensional space based on the identified point on the plane; and a viewpoint position mover, coupled to the memory module for moving the viewpoint position in the direction of the destination position; wherein the display device further displays a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 30
Independent Claim 130 words
An apparatus for displaying movement through a virtual three-dimensional space, comprising: a memory module for storing a viewpoint position in the three-dimensional space; a display device, coupled to the memory module, for displaying a two-dimensional projection of the three-dimensional space onto a plane, based on the viewpoint position; an input device, coupled to the memory module, for identifying a point on the plane; a destination position identifier, coupled to the memory module, for identifying a destination position in the three-dimensional space based on the identified point on the plane; and a viewpoint position mover, coupled to the memory module for moving the viewpoint position in the direction of the destination position; wherein the display device further displays a two-dimensional projection of the three-dimensional space based on the moved viewpoint position.
Claim 31
Dependent Claim 46 words
The apparatus of claim 27, wherein the destination position identifier defines a sphere having a center corresponding to the viewpoint position and determines a point on the sphere being the intersection of a line perpendicular to the plane and intersecting the identified point on the plane.
Claim 32
Dependent Claim 56 words
The apparatus of claim 27, wherein the viewpoint position has an x-coordinate and a y-coordinate, and wherein the destination position identifier identifies a destination position having x- and y-coordinates corresponding to the x- and y-coordinates of the viewpoint position, and having a z-coordinate derived by applying a function to the values of the x- and y-coordinates.
Claim 33
Dependent Claim 79 words
The apparatus of claim 27, wherein: the input device further specifies a movement speed; the stored viewpoint position is defined by an x-coordinate, a y-coordinate, and a z-coordinate; the identified destination position is defined by an x-coordinate, a y-coordinate, and a z-coordinate; and the viewpoint position mover adjusts the x-coordinate, y-coordinate, and z-coordinate of the viewpoint position by a specified amount based on the specified movement speed, to move the viewpoint position in the direction of the destination position.
Claim 34
Dependent Claim 66 words
The apparatus of claim 30, wherein: the three-dimensional space contains at least one object, the object having an initial position in the two-dimensional projection; the display device displays a nonlinear two-dimensional projection; and the viewpoint position mover designates one of the at least one objects and further adjusts the coordinates of the viewpoint position to maintain the initial position of the object in the two-dimensional projection.
Claim 35
Dependent Claim 69 words
The apparatus of claim 27, wherein the input device comprises a mouse having a button for controlling an on-screen cursor, and wherein the input device detects that the button is pressed and held for a predetermined length of time while the on-screen cursor remains substantially stationary, to specify a movement command, the predetermined length of time being sufficiently long to distinguish the movement command from an object manipulation command.

References Cited (Backward Citations)

US5684943A Cited
US5687304A Cited
US5699497A Cited
US5745665A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-23 2002-05-25 2002-11-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-23 2006-05-25 2006-11-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-23 2010-05-25 2010-11-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag