US20080010616A1 - Spherical coordinates cursor, mouse, and method - Google Patents

Spherical coordinates cursor, mouse, and method Download PDF

Info

Publication number
US20080010616A1
US20080010616A1 US11/654,740 US65474007A US2008010616A1 US 20080010616 A1 US20080010616 A1 US 20080010616A1 US 65474007 A US65474007 A US 65474007A US 2008010616 A1 US2008010616 A1 US 2008010616A1
Authority
US
United States
Prior art keywords
mouse
computer
scroll wheel
input
cursor
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.)
Abandoned
Application number
US11/654,740
Inventor
Cherif Atia Algreatly
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.)
Individual
Original Assignee
Individual
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
Priority claimed from PCT/EG2006/000025 external-priority patent/WO2008003331A1/en
Application filed by Individual filed Critical Individual
Priority to US11/654,740 priority Critical patent/US20080010616A1/en
Priority to US11/906,520 priority patent/US20080062126A1/en
Publication of US20080010616A1 publication Critical patent/US20080010616A1/en
Abandoned legal-status Critical Current

Links

Images

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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03549Trackballs
    • 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/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts

Definitions

  • the computer cursor is manipulated by the mouse to move on the computer display in 2D and/or 3D using the Cartesian coordinate system.
  • new versions of Windows systems, Web-based applications, and desktop software have dramatically changed to integrate the use of 2D and 3D together.
  • Microsoft Windows Vista, Internet world mapping such as Google Earth, and CAD/CAM/CAE software are examples of such applications, where the traditional computer cursor, mouse, and input method which utilize the Cartesian coordinate system are no longer suitable for such new applications as they used to be before.
  • the traditional computer cursor has no accurate, logical control of the exact angle or distance of movement in 2D; it is always moved in multiple, discrete steps until it reaches its target on the computer display, and with 3D applications, the user loses the sense of orientation and can only see a deceiving projection of the cursor's position on the computer screen.
  • the traditional mouse does not help much in 3D applications, although there are some current products which have attempted to solve the mouse's limitations in 3D, but such products were far away from being practical and intuitive, for example, the company 3Dconnexion offers an input device to be used by the user's one hand while moving the mouse with the other hand.
  • Another example is the company Sandio Technology which recently introduced a 3D mouse that has 12 positions to press on instead of moving the mouse. Both of the aforementioned products' configurations confuse the user, relegating the mouse into a complicated input device.
  • the traditional computer method utilizes the Cartesian coordinate system to move the cursor on the computer display, and also to provide positional information by the mouse's movement to the computer system, where this system has many disadvantages when used with the new 3D applications. For example, it is hard to accurately move an object on the computer display in 3D if the movement is not parallel to the x, y, and z-axis, and it is difficult to navigate on the computer display to a point that is not defined with x, y, and z coordinates.
  • the present invention introduces a solution that eliminates the counter-intuitiveness and, in some cases, the complete failure of the traditional computer cursor, mouse, and method in dealing with the new 3D Windows system, 3D Internet and software applications. It introduces an innovative cursor, mouse, and method that together provide the computer user with a complete integrated tool to operate these new applications effectively and efficiently, saving both the user's time and effort.
  • the present cursor gives the user the ability to control the movement angles and distance of the cursor on the computer display to be in lines, curves, or circles. This gives the user a perfect sense of orientation in 2D and 3D and helps achieve tasks that needed complicated software, consequently, reducing the user's time and effort in targeting or moving on the computer display.
  • the present 3D mouse enables the user to control the new applications of 3D Windows systems, Internet, and desktop software in a simple and fast way without moving the mouse or aligning the mouse or the user's hand in any specific direction, or even using a mousepad or any specific surface to support the mouse for proper function.
  • the user can stand, lay supine, or even walk around using a wireless model of this 3D mouse.
  • the user can hold this 3D mouse with one hand in gaming situations as if it is a table tennis racket, for example, where the simulation for such a user's hand movement is provided to the computer system to be used in gaming or training purposes.
  • the present 3D mouse can be in the shape of a ring where the user can put it on his/her finger operating the computer during business presentations or while traveling as a passenger in a car or plane.
  • the present method utilizes the spherical coordinate system instead of the Cartesian coordinate system, giving the computer user full control to move, navigate, or edit in 3D, without the use of the keyboard.
  • the three dimensional virtual environment on the computer display becomes accessible to the user and void of having screen projection illusions as in current cases when using the Cartesian coordinate system.
  • a point P is represented by a tuple of three components: ⁇ , ⁇ , and ⁇ .
  • the component ⁇ is the distance between the point P and the origin
  • is the angle between the positive x-axis and the line from the origin to the point P projected onto the xy-plane
  • is the angle between the xy-plane and the line from the origin to the point P.
  • FIG. 2 illustrates the present computer cursor which is named the “Spherical Cursor” and is comprised of: a dotted line 100 serving as a ray reaching all possible target points of the cursor's direction on the computer display; a solid line 110 that represents the radial distal movement length of the cursor ⁇ , in its determined direction on the dotted line from a starting point 120 to a targeted point 130 ; a horizontal circular portion 140 that gives the feeling of the xy-plane and indicates the value of ⁇ ; and a vertical circular portion 150 that gives the feeling of the cursor rotation in the third dimension, perpendicular on the xy-plane and indicating the value of ⁇ .
  • FIG. 3 illustrates the present 3D mouse that is comprised of three scroll wheels numbered 160 , 170 , and 180 .
  • the first scroll wheel 160 is on the left side of the 3D mouse and has its axis perpendicular to the mousepad surface. It can be rotated horizontally, both clockwise and counterclockwise, by the thumb finger to provide, respectively, immediate negative or positive input for ⁇ to the computer system.
  • the second scroll wheel 170 is on the right side of the 3D mouse and has its axis parallel to the 3D mousepad surface and perpendicular to the axis of the first scroll wheel. It can be rotated vertically, both clockwise and counterclockwise, by the middle or ring finger to provide, respectively, immediate negative or positive input for ⁇ to the computer system.
  • the third scroll wheel 180 is on the top side of the 3D mouse and has its axis parallel to the mousepad surface, perpendicular to the axes of the first and second scroll wheels. It can be rotated both vertically up or down by the index finger to provide, respectively, immediate positive or negative input for ⁇ to the computer system.
  • the user rotates the first scroll wheel 160 horizontally to determine ⁇ , the horizontal rotation of the spherical cursor in the xy-plane, then rotates the second scroll wheel 170 vertically to determine ⁇ , the vertical rotation of the spherical cursor perpendicular to the xy-plane, and rotates the third scroll wheel 180 to determine ⁇ , the radial distal movement of the spherical cursor in three dimensions.
  • the second scroll wheel 170 since the third dimension does not exist.
  • the spherical coordinate system will change into a polar coordinate system in two dimensions.
  • the positions of the three scroll wheels can be different from FIG. 3 , for example, the first scroll wheel 160 can be on the right side of the 3D mouse and the second scroll wheel can be on the left side of the 3D mouse, or both of them can be on one side of the 3D mouse.
  • FIG. 4 illustrates an example for a three dimensional interface consisting of three parallel planes where in such a case, rotating the spherical cursor in three dimensions by providing the input values of ⁇ and ⁇ to the computer system is enough to determine the intersection points of the spherical cursor direction or dotted line 100 and the three planes.
  • the computer system indicates the point of intersection of each new rotation or direction, where there is no need to provide input for ⁇ to the computer system as will be described subsequently.
  • the user directs the spherical cursor to the needed target then clicks the enter button of the mouse, without the need to move the spherical cursor to such needed target.
  • FIG. 5 shows a spherical cursor movement among a plurality of non-parallel planes in three dimensions where it is possible to target any of such planes without the need to provide the input of ⁇ to the computer system as mentioned previously.
  • the start point of the spherical cursor on the computer display changes from a start point out of the illustrated planes to a start point on some of said planes.
  • FIG. 6 shows another innovative application for the spherical cursor movement on the computer display where a three dimensional interface consists of three planes, E 1 , E 2 , and E 3 , and the spherical cursor which can target any of these three planes or move from one to another.
  • the spherical cursor can move on any one of these interfaces or planes without the need to provide input for ⁇ to the computer system. That is achieved by having the spherical cursor interpret any specific plane that it will move on as an xy-plane. In other words, to move on a specific plane, the user provides only immediate input for ⁇ and ⁇ to the computer system.
  • the computer system recognizes the user's need to move to another plane.
  • the polar coordinate system is used where there is no input of ⁇ ; to move from one plane to another, the spherical coordinate system is used where ⁇ is provided with ⁇ and ⁇ .
  • FIG. 7 shows a spherical cursor movement on plane E 3 which is a part of said interface of FIG. 6 where it is simple for the user to move the spherical cursor on this plane as described previously.
  • This solution is appropriate for use with three dimensional interfaces such as Microsoft Windows Vista; where using the Cartesian coordinate system or the conventional computer cursor is not robust enough of a tool to target any of the different interface parts.
  • moving on any plane or, for example, part of said interface that is not parallel to the x, y, and z-axis is impossible when using the traditional mouse movement on a surface by means of the Cartesian coordinate system. In such cases, the direction of the mouse movement on a surface simply cannot match the different directions of different planes and/or interfaces.
  • FIG. 8 shows an innovative application for navigation in three dimensions for world mapping applications such as Google Earth or NASA's open-source World Wind.
  • the spherical cursor moves in curves in 3D to target a specific spot directly in one step on the world map as opposed to what is currently required: rotating the world map horizontally and vertically until getting the targeted position in the center of the computer display then zooming in to it.
  • the present method reduces the number of required steps and the amount of time spent by the user to deal with such applications.
  • FIG. 9 shows another innovative application to control the speed of the spherical cursor when moving in virtual reality environments
  • the computer system can calculate the distance between the starting point 120 of the spherical cursor and any three dimensional object on the computer display that is in the direction of the spherical cursor's path or intersected with the dotted line 110 .
  • the computer system then adjusts the speed of the spherical cursor or camera movement when targeting such objects, especially if there are huge variations of distances between objects as in the case of 3D world mapping or modeling.
  • FIG. 10 shows an innovative method to walk though a three dimensional environment such as a virtual reality model for a building where the spherical cursor enables the computer system to detect the openings of the buildings as doors or windows by comparing the different calculated values of ⁇ of the spherical cursor's direction to the same plane of the building. The openings are located where there are relatively large changes in the ⁇ values in the same plane.
  • Such applications turn the spherical cursor into a “smart cursor” that detects the IDs of the different parts of the 3D objects on the computer display and accordingly are able to move the virtual camera according to a pre-programmed movement function related to the objects' IDs.
  • FIG. 11 illustrates the possibility of moving different 3D objects in three dimensions on the computer display using the spherical cursor by targeting the needed object to be moved, dragging it, and then targeting the new position for this object to relocate it. It is very difficult for the conventional computer cursor to achieve such tasks in three dimensions without the use of the computer keyboard to enter the numerical values of the x, y, and z coordinates for the new position or location of the moved object on the computer display.
  • FIG. 12 illustrates a three dimensional object where the computer user can pick up any point of said object and move it in three dimensions using the movement of the spherical cursor, where, as shown in this figure, a point P 1 is dragged in a curvature movement to a new position, and point P 2 is dragged linearly to a new position in 3D.
  • This example illustrates the ease of editing in three dimensions using the present invention.
  • FIG. 13 illustrates an example for estimating the distance between two points in a three dimensional virtual environment on the computer display using the spherical cursor, where in this example, a distance between two points such as P 1 and P 2 is calculated by targeting the first point P 1 by the spherical cursor then targeting P 2 .
  • the computer system then calculates the distance between P 1 and P 2 by knowing the distance between P 0 and P 1 , and P 0 and P 2 , in addition to the angle between the two lines P 0 -P 1 and P 0 -P 2 , where P 0 is the starting or base point of the spherical cursor as shown in the figure.
  • the present 3D mouse is in the realm of interactive 3D graphics.
  • the scroll wheels' rotations are directly translated into changes in the virtual camera's orientation.
  • the present 3D mouse can control the direction in which the player's “head” faces: rotating the first scroll wheel 160 horizontally clockwise or counterclockwise will cause the player to turn around in those respective directions.
  • Rotating the second scroll wheel 170 up or down will cause the player to look “up” or “down”.
  • Rotating the third scroll wheel 180 forward or backward will cause the player to move “forward” or “backward.”
  • the present 3D mouse is a perfect tool.
  • Another application for the present 3D mouse is in controlling virtual space vehicles such as airplanes or rockets.
  • Rotating the first scroll wheel 160 controls the turning of the vehicle both left and right (yawing);
  • rotating the second scroll wheel 170 controls the titling of the vehicle side-to-side (rolling);
  • rotating the third scroll wheel 180 controls the tilting of the vehicle both up and down (pitching). All such controls are achieved using only the present 3D mouse and require the use of only one hand.
  • One major application that is completely unique to the present invention is the use of the 3D mouse in gaming and educational training.
  • the user can hold the 3D mouse in one hand as a virtual gaming apparatus such as a tennis racket, golf club, billiard cue, or the like, and move his/her hand naturally as in the real sport.
  • the present 3D mouse provides immediate input to the computer system so as to simulate the exact hand motion(s) of the user. This simulation enables the user to interact virtually with the computer with real free-hand motions, as opposed to the traditional mouse movements on a surface, or pressing buttons on game controllers.
  • the present invention or method not only provides movements using the spherical coordinate system, but also the polar, cylindrical, and Cartesian coordinate systems, in addition to providing the computer system with motion having six degrees of freedom (6 DOF) without the need of a supplementary input device such as a keyboard and its like.
  • FIG. 1 is a spherical coordinate system where a point P is represented by a tuple of three components: ⁇ , ⁇ , and ⁇ .
  • FIG. 2 is a spherical cursor which is a new shape for the computer cursor to move in two and/or three dimensions on the computer display.
  • FIG. 3 is a 3D mouse comprised of a first scroll wheel 160 , second scroll wheel 170 , and third scroll wheel 180 , in addition to the regular mouse components.
  • FIGS. 4 to 13 display various uses and applications of the spherical cursor utilizing the spherical coordinate system.
  • FIG. 14 is a ring mouse comprised of a first scroll wheel 190 , second scroll wheel 200 , third scroll wheel 210 , and a void 220 to pass the user's finger through.
  • FIG. 15.1 is a 3D trackball comprised of a ball 230 , base 240 , first button 250 , second button 260 , third button 270 , fourth button 280 , and optical sensor 290 .
  • FIG. 15.2 is a top view for the 3D trackball that indicates dividing the ball into three sections: first section 300 , second section 310 , and third section 320 .
  • FIG. 16.1 is a horizontal tilt wheel comprised of a tilt wheel 330 , left button 340 , and right button 350 .
  • FIG. 16.2 is a bottom view for the horizontal tilt wheel illustrating a first button 360 , second button 370 , third button 380 , and fourth button 390 , where these buttons are beneath the horizontal tilt wheel to detect its tilting direction.
  • FIG. 17 is an alternative for the 3D mouse comprised of a first scroll wheel 400 and second scroll wheel 410 , in addition to the regular mouse components.
  • FIG. 18 is an alternative for the 3D mouse comprised of a first selection switch 420 and second selection switch 430 , in addition to the regular mouse components.
  • FIG. 19 is an alternative for the 3D mouse comprised of a tilt wheel on the top side of the 3D mouse, in addition to the regular mouse components.
  • FIG. 20 is an alternative for the 3D mouse comprised of a first scroll wheel 440 , second scroll wheel 450 , and two touchpad surfaces 460 and 470 , in addition to the regular mouse components.
  • FIG. 21 is an alternative for the 3D mouse comprised of a first scroll wheel 480 , second scroll wheel 490 , and two pressure sensitive buttons 500 and 510 , in addition to the regular mouse components.
  • FIG. 22 is the finger's directions on a touchpad surface to control the movement of the spherical cursor in three dimensions on the computer display.
  • FIG. 23.1 is a mouse movement on a surface from point 1 to 2 , from point 2 to 3 , and from point 3 to 4 .
  • FIG. 23.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement of FIG. 23.1 .
  • FIG. 24.1 is a mouse movement on a surface from point 1 to 2 , from point 2 to 4 , and from point 4 to 3 .
  • FIG. 24.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement of FIG. 24.1 .
  • FIG. 25.1 is the order of providing the input for ⁇ , ⁇ , and ⁇ to the computer system to move the spherical cursor in lines.
  • FIG. 25.2 is the order of providing the input for ⁇ , ⁇ , and ⁇ to the computer system to move the spherical cursor in curves.
  • FIGS. 26.1 to 27 . 4 are examples for moving the spherical cursor in the xy-plane on the computer display.
  • FIG. 28 is three examples for the spherical cursor movement in two dimensions on the computer display.
  • FIGS. 29.1 to 29 . 3 are examples for moving the spherical cursor in grids in two dimensions on the computer display.
  • FIGS. 30 and 31 are alternatives for the spherical cursor movement in curves or semi-circles in 2D on the computer display.
  • FIGS. 32.1 to 33 . 3 are examples for moving the spherical cursor in the xz-plane on the computer display.
  • FIGS. 34.1 to 34 . 3 are examples for moving the spherical cursor in the yz-plane on the computer display.
  • FIGS. 35.1 to 35 . 3 are examples for moving the spherical cursor in three dimensions on the computer display in different planes than the xy, xz, or yz-plane.
  • FIGS. 36.1 and 36 . 2 are two examples for moving the spherical cursor in three dimensional paths on the computer display.
  • FIG. 37 shows alternatives for the spherical cursor curvature movement from P 1 to P 2 in three dimensions on the computer display.
  • FIG. 38 is the spherical cursor movement drawing a three-dimensional shape on the computer display in seven steps.
  • FIG. 39 is the spherical cursor targeting a three-dimensional sphere on the computer display.
  • FIG. 40.1 is a table illustrating the 3D trackball's rotation that provides the computer system with a movement along the x, y, and z-axis.
  • FIG. 40.2 is a table illustrating the 3D trackball's rotation that provides the computer system with a rotation about the x, y, and z-axis.
  • FIG. 3 illustrated a 3D mouse comprised of three scroll wheels 160 , 170 and 180 to provide, respectively, the inputs of ⁇ , ⁇ , and ⁇ to the computer system, where this simple configuration eases the control of the spherical cursor.
  • the user can feel the spherical cursor's horizontal or vertical rotation by rotating the first wheel horizontally or the second scroll wheel vertically.
  • the user can feel the spherical cursor's forward or backward movement by rotating the third scroll wheel forward or backward.
  • the user has full control over the speed of the spherical cursor's rotation or movement with the touch of his/her fingers to the scroll wheels; this type of control is very important in many applications especially those in gaming and virtual reality.
  • the user can feel the value of the rotation, where one complete or partial rotation of the scroll wheel rotates the spherical cursor in like fashion.
  • the 3D mouse can be held with the user's hand where s/he moves his/her hand simulating the actual movements used in playing sports/games such as tennis, billiards, golf, or serving, where the 3D mouse provides input to the computer system that simulates the motion of the user's hand.
  • This function is based on gripping the 3D mouse in one hand, while holding the first scroll wheel 160 with the thumb finger, and holding the second scroll wheel 170 with the middle or index finger.
  • ⁇ and ⁇ these two angles are provided to the computer system by the first and second scroll wheels of the 3D mouse.
  • the motion of the thumb and middle or index finger while rotating the user's hand from left to right or vice versa is by nature, as mentioned previously, horizontally or vertically, clockwise, or counterclockwise.
  • the input of ⁇ and ⁇ are provided to the computer system in the same time, where this possibility is available to the user when s/he uses two or three scroll wheels of the present 3D mouse in the same time.
  • FIG. 14 illustrates the present ring mouse that functions as a 3D mouse.
  • This ring mouse can be put on the index or middle finger and be operated by the thumb finger, where the first scroll wheel 190 can be rotated horizontally to provide immediate input for ⁇ , the second scroll wheel 200 can be rotated vertically to provide immediate input for ⁇ , and the third scroll wheel 210 can be rotated up or down to provide immediate input for ⁇ to the computer system.
  • the first scroll wheel 190 can be pressed down to function as the regular mouse's left button, and the second scroll wheel 200 can be pressed laterally to function as the regular mouse's right button.
  • the user's finger goes through the ring void 220 which is in the direction of the axis of the third scroll wheel 210 .
  • the ring mouse can take another simple shape wherein the first scroll wheel 190 , second scroll wheel 200 , and third scroll wheel 210 can be attached to three different faces of a cube, where said three different faces share one corner of said cube.
  • the cube has an appendage that is attached to it where said appendage can easily be wrapped on the user's finger with Velcro-like fabric that allows it to be “one-size-fits-all”. Having the cube without any penetration of the user's finger is an advantage that makes the sensors that detect the rotation of the three scroll wheels fit simply inside the cube.
  • the ring mouse is a perfect tool to control the spherical cursor when the user is driving a car and needs to use the GPS, or while using fingers/hands in typing on the computer keyboard and needing to use the mouse constantly during typing. It is also a perfect tool for gamers when more than one player can share the same game on the same computer without the need for a surface to move the mice, in addition to the ease of holding just a ring instead of the other input devices or game controllers.
  • FIG. 15.1 illustrates this 3D trackball which is comprised of a ball 230 and a base 240 to hold said ball.
  • This base has four arms and on the tip of each of them is a button: a first button 250 ; second button 260 ; third button 270 ; and fourth button 280 .
  • FIG. 15.2 illustrates a top view for the present 3D trackball which shows that the ball 230 is divided into three sections: first section 300 ; second section 310 ; and third section 320 .
  • the user rotates the ball horizontally from the first section 300 by his/her thumb finger.
  • the user rotates the ball vertically from the second section 310 by the middle or ring finger.
  • the user rotates the ball inwards/backward from the third section 320 by the index or middle finger.
  • This gap helps the computer system to identify which section of the ball is touched by the user's finger. For example, when the user rotates the first section 300 using the thumb finger, the ball is moved slightly from left to right pressing on the first button 250 and the second button 260 during its rotation. When the user rotates the second section 310 with the middle or ring finger, the ball is moved slightly from right to left pressing on the third button 270 and the fourth button 280 during its rotation.
  • the ball When the user rotates the third section 320 forward with the index or middle finger, the ball is moved slightly forward pressing on the first button 250 and the fourth button 280 ; if the rotation is backward, then the ball is moved slightly backward pressing on the second button 260 and the third button 270 .
  • the optical sensor 290 is a regular mouse optical sensor but upside down. It detects each different rotational direction of the ball 230 . For example, when providing the input of ⁇ to the computer system as previously described, the optical sensor detects a clockwise or counterclockwise rotation of the bottom of the ball. When providing the input of ⁇ to the computer system, the optical sensor detects a movement from left to right or vice versa. When providing the input of ⁇ to the computer system, the optical sensor detects a forward or backward movement.
  • the computer system Based on the movement direction detected by the optical sensor and the IDs of the two buttons that are pressed by the ball during its rotation, the computer system identifies which section of the ball is rotated and accordingly which input of ⁇ , ⁇ , or ⁇ is meant by the 3D trackball's rotation.
  • FIG. 16.1 illustrates the present horizontal tilt wheel which is another computer input device to provide the input for ⁇ , ⁇ , and ⁇ to the computer system. It is comprised of a horizontal scroll wheel 330 that can be horizontally rotated clockwise or counterclockwise about its vertical axis to provide, respectively, immediate negative or positive input for ⁇ to the computer system.
  • a left button 340 functions as a regular mouse left button
  • a right button 350 functions as a regular mouse right button.
  • FIG. 16.2 is a bottom view for said horizontal tilt scroll wheel; it illustrates a first button 360 , second button 370 , third button 380 , and fourth button 390 , respectively, in the East, West, North, and South bottom directions of said horizontal tilt wheel.
  • the present horizontal tilt wheel can be tilted or pressed vertically by the user's finger from its East, West, North, and South boundaries to press, respectively, on first button 360 , second button 370 , third button 380 , or fourth button 390 to provide immediate, negative input for ⁇ , positive input for ⁇ , positive input for ⁇ , or negative input for ⁇ , to the computer system.
  • the unique advantage about said horizontal scroll wheel is its small size and minimal requirements of space for proper operation. These minimal requirements make it suitable to be incorporated onto the top of any computer mouse, keyboard, laptop, or even in a ring to be used as a ring mouse.
  • FIG. 17 illustrates an alternative for the present 3D mouse of FIG. 3 .
  • This 3D mouse alternative is comprised of two scroll wheels instead of three, where the first scroll wheel 400 on the left side of the 3D mouse is rotated horizontally to provide immediate input for ⁇ , the second scroll wheel 410 on the top side of the 3D mouse is rotated up or down to provide immediate input for ⁇ , and this 3D mouse is moved (similar to the regular mouse movement on a surface) to provide immediate input for ⁇ .
  • the x and y values of the regular mouse movement are converted to only one value of ⁇ according to the following equation:
  • FIG. 18 illustrates another 3D mouse that looks like a conventional mouse in addition to two selection switches 420 , and 430 on the left side of this 3D mouse.
  • moving this 3D mouse after pressing twice on any of the selection switches provides immediate input for ⁇ .
  • all the movements of this 3D mouse for the inputs of ⁇ , ⁇ , and ⁇ convert the x and y movement values to only one value, according to the following equations:
  • this one value is positive if the movement angle of the present 3D mouse is equal to or greater than zero and less than 180 degrees, and is negative if the movement angle of the present 3D mouse is equal to or greater than 180 degrees and less than 360 degrees. Also, this one value is positive if the movement of the present 3D mouse is forward and is negative if the movement of the present 3D mouse is backward.
  • FIG. 19 illustrates a 3D mouse that uses a tilt wheel that tilts left and right to provide immediate input for ⁇ , and rolls up and down to provide immediate input for ⁇ , in addition to moving the mouse on a surface to provide immediate input for ⁇ as described previously for the mouse of FIG. 17 .
  • FIG. 20 illustrates a 3D mouse comprised of a horizontal scroll wheel 440 that rotates clockwise or counterclockwise to provide immediate input for ⁇ , and vertical scroll wheel 450 that rotates up or down to provide immediate input for ⁇ , where the input of ⁇ is provided by moving the user's finger on touchpad surfaces 460 and 470 wherein the finger movement inwards/closer to the direction of the dotted line 100 of the spherical cursor provides positive input for ⁇ , or the finger movement inwards/closer to the opposite direction of the dotted line 100 of the spherical cursor provides negative input for ⁇ .
  • FIG. 21 illustrates a 3D mouse comprised of a horizontal scroll wheel 480 that rotates clockwise or counterclockwise to provide immediate input of ⁇ , vertical scroll wheel 490 that rotates “up or down” to provide immediate input of ⁇ , and two pressure sensitive buttons 500 and 510 that detect the user's finger pressing to provide, respectively, positive or negative input for ⁇ to the computer system.
  • All the previous described devices provide the input for ⁇ , and ⁇ in two steps, step by step, however it is possible to provide the input for ⁇ and ⁇ in one step using the traditional trackball that is manipulated with the palm or the fingers of the user's hand.
  • Such manipulation can provide immediate input for ⁇ , and ⁇ one time, and in order to provide the immediate input for ⁇ , the user can press laterally on the left side of this trackball to provide the positive input for ⁇ , or press vertically on the top side of this trackball to provide the negative input for ⁇ .
  • the use of the present spherical cursor and the spherical coordinate system can be utilized using the traditional input devices such as mouse, touchpad, or pointing stick; the following are some examples for such utilizations:
  • the regular mouse's movement combined with the top scroll wheel of the regular mouse are sufficient to provide innovative applications for rotating or directing the spherical cursor on the computer display.
  • the regular mouse is moved on a pad or surface in a manner of horizontal radial scanning, to horizontally control the rotation of the dotted line 100 of the spherical cursor on the computer display, which means providing the input for ⁇ to the computer system.
  • the top scroll wheel can then be rotated up or down in a manner of vertical radial scanning to vertically control the rotation of the dotted line 100 of the spherical cursor, which means providing the input for ⁇ to the computer system, where such horizontal and vertical scanning convert the spherical cursor into a 3D pointer reaching all points or spots in 3D on the computer display with the use of the traditional mouse and scroll wheel.
  • FIG. 22 shows a different alternative for providing immediate input for ⁇ , ⁇ , and ⁇ , using the movement of the user's finger on a touchpad surface that senses the direction of the finger's motion.
  • the circular counterclockwise movement 520 provides positive input for ⁇
  • the circular clockwise movement 530 provides negative input for ⁇ .
  • the vertical movement 540 from down to up provides positive input for ⁇
  • the vertical movement 550 from up to down provides negative input for ⁇ .
  • the horizontal movement 560 from left to right provides positive input for ⁇
  • the horizontal movement 570 from right to left provides negative input for ⁇ .
  • the pointing stick can provide the inputs of ⁇ , ⁇ , and ⁇ to the computer system by moving the finger on the pointing stick from “left” to “right” to provide positive input for ⁇ , and from “right” to “left” to provide negative input for ⁇ . Moving the finger on the pointing stick from “down” to “up” to provide positive input for ⁇ , and from “up” to “down” to provide negative input for ⁇ . Moving the finger on the pointing stick inwards/closer to the direction of the dotted line 100 of the spherical cursor to provide positive input for ⁇ , and inwards/closer to the opposite direction of the dotted line 100 of the spherical cursor to provide negative input for ⁇ .
  • Such a pointing stick can be incorporated on the top side of a regular mouse or a laptop or desktop keyboard.
  • the directional movements of the previous pointing stick can be used with the joystick too, where in this case; instead of moving the finger on the pointing stick, the user can tilt the joystick in the same direction as in the previous example of the pointing stick except that the left and right movements can be replaced with a clockwise or counterclockwise circular movement to provide, respectively, negative and positive input for ⁇ .
  • the polar coordinate system will be utilized instead of the spherical coordinate system.
  • the two inputs of the polar coordinate system can be provided to the computer system with the regular mouse's movements on a surface, whereas these movements can provide an input for ⁇ and ⁇ consecutively.
  • the first step for the user is to provide the input for ⁇ by moving the mouse a small distance in a specific direction and, accordingly, the dotted line 100 of the spherical cursor is manipulated to the same direction of movement on the computer screen. If the first mouse movement is not accurate enough to align the dotted line to the exact direction, then the user moves the mouse again a small distance to adjust the dotted line direction.
  • the computer system considers the mouse's movement as an input for ⁇ .
  • the dotted line of the spherical cursor overlaps with its targeted position which could be an icon, menu, or spot on the computer screen
  • the user moves the mouse in/close to the direction of the dotted line 100 to provide input for ⁇
  • the solid line 110 of the spherical cursor protracts to the targeted position. If the user protracts the solid line 110 more than needed, meaning passing the targeted position, the user then will retract the solid line 110 by moving the mouse in/close to the opposite direction of the dotted line.
  • the computer system distinguishes between the mouse's movement inputs for ⁇ and ⁇ by measuring the distance of the mouse's movement on a surface. Assuming this distance is less than one inch, then the computer system considers the input as an input for ⁇ , and if this movement distance is equal to or greater than one inch, then the computer system considers this input as an input for ⁇ .
  • the user reaches the targeted position on the computer display, then s/he clicks on the left bottom of the mouse to “enter” his/her spherical cursor position to the computer system.
  • FIG. 23.1 shows three movement steps for a mouse on a surface.
  • the first movement from point 1 to point 2 is a movement less than one inch, accordingly, it is considered to be an input for ⁇ . While this movement was not accurate enough to make the dotted line 100 overlap with its targeted position on the computer display, accordingly, the user moved the mouse another small movement from point 2 to point 3 for less than one inch to adjust the direction of the dotted line 100 which achieved the user's goal and made the dotted line overlap with the targeted position on the computer display.
  • the third movement is to protract the solid line 110 of the spherical cursor to provide input for ⁇ ; accordingly, the user moved the mouse more than one inch from point 3 to point 4 until the solid line reached the targeted position on the computer display.
  • FIG. 23.2 illustrates the three spherical cursor movements 580 , 590 , and 600 on the computer display that are associated, respectively, with the three mouse movements of FIG. 23.1 , where point A represents the starting position, and point B represents the targeted point of the spherical cursor.
  • FIG. 24.1 shows another example for another three steps for moving a mouse on a surface.
  • the first step from point 1 to point 2 is a small movement less than one inch, accordingly, it is considered to be an input for ⁇ , where in this step, the dotted line 100 of the spherical cursor reached its targeted position from the first time.
  • the second step from point 2 to point 4 is a mouse's movement greater than one inch and, accordingly, it is considered to be an input for ⁇ , whereas the solid line 110 of the spherical cursor protracted to reach its targeted position.
  • this movement was bigger than the needed distance accordingly, the solid line passed the targeted position.
  • the user moved the mouse backwards from point 4 to point 3 , in/close to the opposite direction of the dotted line 100 of the spherical cursor to get back the solid line 110 to reach the targeted position.
  • FIG. 24.2 illustrates the three spherical cursor movements 610 , 620 , and 630 on the computer display that are associated, respectively, with the three movements by the mouse of FIG. 24.1 , where point A represents the starting position, and point B represents the targeted point of the spherical cursor.
  • FIG. 24.2 indicates two regions on the computer screen which are numbered 640 and 650 , where region 640 defines the directions of the mouse's movements that are considered to be in or close to the direction of the dotted line 100 , and the region 650 defines the directions of the mouse's movements that are considered to be in the opposite or close to the opposite direction of the dotted line 100 .
  • the following mathematical relationships express the values of the two regions 640 and 650 accurately as follows:
  • the region 640 clarifies what is meant by saying “moving the spherical mouse in/close to the direction of the dotted line 100 ” and the region 650 clarifies what is meant by saying “moving the spherical mouse in/close to the opposite direction of the dotted line 100 .”
  • the traditional computer cursor movement is configured in a traditional manner to move from a start point to a targeted position on the computer display in a freeform path.
  • This freeform path cannot be straight lines or accurate curves or circles due to the natural imperfections in human hand movements while using an input device such as a mouse, touchpad, pointing stick, touch-sensitive screen, digital template, or inertial 3D pointing device.
  • the present invention manipulates the spherical cursor to move in geometrical paths or grids including the curvature paths not only in 2D but in 3D as well.
  • Such manipulation serves many industrial applications such as virtual reality, gaming, 3D modeling, Internet world mapping, GPS, and 3D computer interfaces among others.
  • the invention method provides the computer system with three input values of the three components of the spherical coordinate system ⁇ , ⁇ , and ⁇ to move the spherical cursor on the computer display where said method comprising the steps of:
  • represents a horizontal rotation of the spherical cursor about its nock end in the xy-plane where the positive and negative inputs of ⁇ represent, respectively, a horizontal counterclockwise or clockwise rotation.
  • represents a vertical rotation of the spherical cursor about its nock end in a perpendicular plane to the xy-plane, where the positive and negative inputs of ⁇ represent, respectively, a vertical counterclockwise or clockwise rotation.
  • represents the spherical cursor movement in a direction resulting from the horizontal rotation according to the input of ⁇ , and/or the vertical rotation according to the input of ⁇ , where the positive and negative inputs of ⁇ represent, respectively, moving the spherical cursor inward or backward in said direction.
  • ⁇ and ⁇ range from 0 to 360, where the value of 360 represent one complete rotation (in some applications the value of ⁇ and/or the value of ⁇ range from ⁇ 90 to 90), while the value of ⁇ has no range since it represents the radial distance of the spherical cursor movement on the computer screen.
  • FIG. 25.1 illustrates a diagrammatic illustration representing the order of providing the three components of ⁇ , ⁇ , and ⁇ to the computer system to move the spherical cursor in line, where as shown in this figure, the input of ⁇ is always the last provided input, where the inputs of ⁇ and/or ⁇ are provided before ⁇ .
  • FIG. 25.2 shows another diagrammatic illustration representing another order of providing the three components ⁇ , ⁇ , and ⁇ to the computer system to move the spherical cursor in a curve, where as shown in this figure; the value of ⁇ is the first one to be provided to the computer system whether one or both of the two components of ⁇ , and ⁇ are provided after.
  • the two previous diagrams illustrate the importance of the order of providing the three components ⁇ , ⁇ , and ⁇ to the computer system to distinguish between moving the spherical cursor in lines or curves. The following explanation gives more details on this method.
  • the two values of ⁇ and ⁇ are to be provided to the computer system.
  • the value of ⁇ is equal to zero and the value of ⁇ is equal to the needed movement distance in the positive direction of the x-axis, assuming that ⁇ is equal to 1 unit.
  • the spherical cursor will move one unit from a start point to an end point in the positive direction of the x-axis as shown in FIG. 26.1 . If the value of ⁇ is equal to 180 instead of zero then the spherical cursor movement will be in the negative direction of the x-axis as shown in FIG. 26.2 .
  • the value of ⁇ will not be equal to 0, 90, 180, 270, or 360.
  • the value of ⁇ is equal to 45 then the spherical cursor will move as shown in FIG. 27.1 while if this value is 135 then the spherical cursor movement will be as shown in FIG. 27.2 , whereas in this figure the value of ⁇ is equal to 2 which means the spherical cursor movement will be two units.
  • the value of ⁇ is equal to 300 and the value of ⁇ is equal to 1.5
  • the value of ⁇ is equal to 240.
  • the step values of ⁇ and ⁇ should be defined to the computer system. These steps indicate the smallest numerical unit used that can be multiplied to provide the value of ⁇ and ⁇ . For example, if the step of ⁇ is equal to 120 and the step of ⁇ is equal to 1 then the spherical cursor will be moved in a geometrical grid as shown in FIG. 29.1 . Also, if the step of ⁇ and ⁇ are, respectively, equal to 60 and 1, then the spherical cursor will move in a geometrical grid as shown in FIG. 29.2 .
  • the step of ⁇ can be a multiple-step which consists of a plurality of values as opposed to only one value. This enables the spherical cursor to move in linear paths that form more complicated grids such as the one shown in FIG. 29.3 , whereas in this example the multiple-step of ⁇ is 135, 90 and 135.
  • FIG. 30 illustrates the method of moving the spherical cursor in curves in the xy-plane, where said method is comprised of the following steps:
  • the computer system draws a circle passing on P 1 , P 2 , and P 3 , where P 3 is a point in a distance perpendicular to the center point of the line P 1 -P 2 , where said distance is equal to the value of the second input of ⁇ multiplied by the distance between P 1 and P 2 and divided by 180; accordingly the formed curve is the part of the drawn circle from p 1 to p 2 passing on P 3 .
  • FIG. 31 illustrates a plurality of consecutive curvature paths of the spherical cursor movements, where it is clear that having such movement is impossible to be achieved using the conventional mouse or the traditional computer cursor without the aid of software for drawing.
  • the previous examples illustrate the spherical cursor movement in lines or curves in the xy-plane by providing the two inputs of ⁇ and ⁇ .
  • the two inputs of ⁇ and ⁇ are provided instead, then the spherical cursor will move in the xz-plane.
  • the input of ⁇ is equal to 90 then the spherical cursor movement will be in the positive direction of the z-axis as shown in FIG. 32.1 , and if this value is 270, then the spherical cursor movement will be in the negative direction of the z-axis as shown in FIG. 32.2 .
  • FIGS. 33.1 , 33 . 2 , and 33 . 3 illustrate three examples for such movement where the inputs of ⁇ are different than 90 and 270.
  • the three values of ⁇ , ⁇ , and ⁇ should be provided to the computer system.
  • the value of ⁇ should be equal to 90 or ⁇ 90 as shown in FIGS. 34.1 , 34 . 2 , and 34 . 3 .
  • FIGS. 35.1 , 35 . 2 , and 35 . 3 illustrate three examples of such spherical cursor movements with different input values for ⁇ , ⁇ , and ⁇ as shown in the attached small table with each figure. However, it is noted that in these three figures some dotted lines are added to the drawings just to clarify the inclination of the spherical cursor in 3D.
  • FIGS. 36.1 and 36 . 2 illustrate two examples for moving the spherical cursor in geometrical paths in 3D, where FIG. 36.1 illustrates the spherical cursor movements parallel to the x, y, or z-axis, and FIG. 36.2 illustrates various sloping movements in 3D.
  • FIG. 37 shows different alternatives for moving the spherical cursor in curvature or semi-circular paths from P 1 to P 2 in three dimensions using the present method whereas in such cases the method is comprised of the following steps:
  • FIG. 38 illustrates a three dimensional shape drawn by moving the spherical cursor on the computer display using the present 3D mouse in 7 simple steps, wherein the first four steps 660 , 670 , 680 , and 690 are located in the xy-plane, hence there is no indication for ⁇ .
  • the 7 th step 720 is located in the z-axis direction; thereby there is no indication for ⁇ .
  • the 5 th step 700 and 6 th steps 710 indicate ⁇ and ⁇ ; these appear where it is simple to specify the exact angle of the spherical cursor in 3D with the help of digits or numerical values that can be appeared with the different spherical cursor rotation or movement to indicate the values of ⁇ , ⁇ , and ⁇ .
  • FIG. 39 illustrate a spherical cursor targeting a 3D sphere on the computer display, where in such case, to move the spherical cursor from a start point P 1 to a targeted point P 2 on the outer surface of the sphere; the two inputs of ⁇ and ⁇ are to be provided to the computer system while the input of ⁇ doesn't need to be provided; since the computer system calculates it mathematically, by solving the two equations of the intersection of the sphere and the dotted line 100 of the spherical cursor, where the dotted line 100 is always defined by its start point coordinates, and the two provided angles ⁇ and ⁇ in 3D.
  • the user needs to rotate the spherical cursor horizontally and/or vertically by rotating the first 160 and/or second 170 scroll wheels of the present 3D mouse until s/her reaches the target, where the computer system keeps illustrating the point of intersection between the dotted line 100 of the spherical cursor and the three dimensional surface for each different spherical cursor rotation.
  • the spherical coordinate system transforms into a polar coordinate system when the value of ⁇ is equal to zero.
  • the spherical coordinate system transforms into a Cartesian coordinate system when the step of ⁇ is equal to 90 and the step of ⁇ is equal to 90 as described previously.
  • the cylindrical coordinate system is a polar coordinate system in three dimensions, where the inputs of ⁇ and ⁇ can provide the two components of the polar coordinate system and the input of ⁇ can provide the third dimension or the height of the cylindrical coordinate system.
  • Six-degrees-of-freedom can be provided to the computer system using the present input devices such as the present 3D mouse, the present ring mouse, or the present 3D trackball as follows:
  • the first scroll wheel 160 , the second scroll wheel 170 , and third scroll wheel 180 can provide translation in three degrees of freedom, where each scroll wheel rotation can represent moving along one of the x, y, or z-axis of the Cartesian coordinate system.
  • each scroll wheel can have two different modes: the first mode is to be rotated normally, and the second mode is to be pressed lightly during its rotation. Such pressing makes the scroll wheel touch a sensor that generates a signal to the computer system identifying that a specific scroll wheel has been pressed during its rotation, which means this type of scroll wheel rotation is considered as a rotation about one of the x, y, or z-axis.
  • the normal rotation of the first scroll wheel 160 can provide a movement along the x-axis, and its pressed rotation can provide a rotation about the z-axis.
  • the normal rotation of the second scroll wheel 170 can provide a movement along the z-axis, and its pressed rotation can provide a rotation about the y-axis.
  • the normal rotation of the third scroll wheel 180 can provide a movement along the y-axis, and its pressed rotation can provide a rotation about the x-axis.
  • three tilt scroll wheels instead of the three regular scroll wheels of the present 3D mouse. In this case rotating any of the three tilt scroll wheels provides a rotation about an axis, while tilting any of the tilt scroll wheel provides a movement along the axis.
  • rotating the first scroll wheel 160 provides a rotation about the z-axis, while tilting it from “down” to “up” provides a movement along the positive z-axis, and tilting it from “up” to “down” provides a movement along the negative z-axis.
  • Rotating the second scroll wheel 170 provides a rotation about the y-axis, while tilting it “forward” provides a movement along the positive y-axis, and tilting it “backward” provides a movement along the negative y-axis.
  • Rotating the third scroll wheel 180 provides a rotation about the x-axis, while tilting it from “left” to “right” provides a movement along the positive x-axis, and tilting it from “right” to “left” provides a movement along the negative of x-axis.
  • This idea of using three tilt scroll wheels instead of the three regular scroll wheels can be used also for the ring mouse to provide six degrees of freedom.
  • the two scroll wheels of this mouse will direct the spherical cursor to the positive or negative direction of the x, y, or z-axis, while moving the mouse on a surface in the direction of the dotted line 100 of the spherical cursor will provide a movement along the axis, and moving the mouse on the surface perpendicular to the direction of the doted line 100 will provide a rotation about the axis.
  • the 3D trackball can provide six-degrees-of-freedom, as shown in FIG. 40.1 a movement along the x, y, and z-axis is provided to the computer system, where to move along the x-axis, the first section 300 is rotated horizontally by the thumb finger to press on the first button 250 and the second button 260 during the ball rotation. To move along the y-axis, the third section 320 is rotated “up” or “down” by the index finger to press, respectively, on the first button 250 and the fourth button 280 , or to press on the second button 260 and the third button 270 during the ball rotation. To move along the z-axis, the second section 310 is rotated vertically by the middle finger to press on the third button 270 and the fourth button 280 .
  • FIG. 40.2 illustrates the 3D trackball rotation for each case.
  • the third section 320 is rotated “up or down” by the index finger while pushing the first section 300 laterally by the thumb finger to press on the first button 250 and the second button 260 .
  • the second section 310 is rotated vertically by the middle finger while pushing on the third section 320 laterally by the index finger to press on the second button 260 and the third button 270 .
  • the first section 300 is rotated horizontally by the thumb finger while pushing vertically on the top of the third section 320 by the index finger to prevent the ball to press on any of the four buttons.
  • the different combinations of the ball rotation directions and the ID's of the pressed buttons by the ball's rotation enable the computer system to identify which degree of freedom is meant by the ball's rotation.
  • the present 3D input devices such as the three scroll wheels of the present 3D mouse, the present 3D trackball, and the present horizontal tilt wheel can be incorporated on the regular computer mouse.
  • the movement of the regular mouse on a surface can provide an input for the x and y coordinates of a mouse's movement on the surface to the computer system
  • the present 3D input device can provide an input for ⁇ , ⁇ , and ⁇ to the computer system.
  • This combination enables the user to control moving two different cursors on the computer display, the first cursor is the regular cursor which can be used for the 2D applications, and the second cursor is the spherical cursor which can be used for the 3D applications.
  • the regular cursor and the spherical cursor drags the other to change its position in 2D and/or 3D on the computer display.
  • the regular cursor and the spherical cursor together, in this case the regular cursor is moved on the computer display as usual but when the input of ⁇ , ⁇ , and ⁇ is provided to the computer system then the dotted line 100 and the solid line 110 of the spherical cursor starts form the regular cursor position on the computer display plane.
  • the 3D mouse is a regular mouse with an optical or laser sensor at the bottom of the mouse to detect the mouse's movement on a pad or surface, in addition to three scroll wheels which are regular mouse scroll wheels that can be carried out in similar fashion to the regular mouse's scroll wheels and can be implemented by using optical encoding disks including light holes, wherein infrared LED's shine through the disks; sensors then gather light pulses to convert the rotation of the scroll wheels into inputs for ⁇ , ⁇ , and ⁇ . It is also possible to use light-emitting diodes and photodiodes, a special-purpose image processing chip, or capacitive sensors, or other known technology to detect the finger's movement rather than rotating the scroll wheels. In this case, each scroll wheel will be a fixed wheel or a small strip with a light hole that detects the movement of the user's finger in two perpendicular directions.
  • the ring mouse utilizes three scroll wheels similar to the 3D mouse scroll wheels. However, in addition to the previous described manner of the 3D mouse scroll wheels, a digital sensor can be used for each scroll wheel of the ring mouse to detect its rotation and provide the computer system with digital data representing the direction and the value of rotation.
  • the 3D trackball is an upside-down mouse ball to be rotated by the user's fingers instead of moving it on a pad or surface. Its rotation is detected by an optical or laser sensor similar to the regular mouse's movement detection, however, each of the four buttons 250 , 260 , 270 , and 280 that surround the ball is a two-way digital button that can be “ON” if it is pressed by the ball during its rotation, or be “OFF” when it is not pressed as was described previously. It is also possible to incorporate the 3D trackball on the top of the regular mouse as mentioned previously.
  • the horizontal scroll wheel is a regular scroll wheel that can be tilted vertically to press on one of the four buttons.
  • the rotation of the scroll wheels can be detected in a similar fashion as the detection of the regular mouse's scroll wheels or by using a digital sensor to provide the computer system with digital data representing the rotation of the horizontal scroll wheel.
  • the four buttons 360 , 370 , 380 , and 390 can utilize a four-way analog sensor with its printed circuit board (“PCB”) as known in the art, where in this case, the PCB will process raw analog signals and convert them into digital signals that can be used for the microprocessor of the computer system. In this case, as long as the user is touching the analog sensor, the sensor continuously generates specific data corresponding to the finger force and its position. It is also possible to utilize a 4-way digital sensor and its related PCB, where the digital sensor provides four independent digital ON-OFF signals in the direction of North, East, South, and West of said horizontal scroll wheel
  • haptic technology refers to the technology that interfaces the user via the sense of touch by applying forces, vibrations and/or motions to the user's fingers. Accordingly, it is possible to make the user feel feedback such as weight, shape, texture and force effects especially in gaming, virtual training, or medical applications.

Abstract

A three-dimensional computer cursor is controlled by a 3D mouse using the spherical coordinate system, where the computer cursor can move in lines, curves, or geometrical grids in 2D or 3D. The 3D mouse enables the user to interact with the computer games physically by moving the user's hand as in real games where the 3D mouse provides the computer system with the details of the hand movement's rotation. The 3D mouse can be in the shape of a ring where the user can put it on his/her finger to operate the computer. A 3D trackball is also presented to enable the user to move, navigate, or edit in 3D. The invention enables the user to move the computer cursor using the spherical, polar, cylindrical, or Cartesian coordinate system to facilitate using many applications such as the Microsoft Windows Vista, Google Earth, and CAD/CAM/CAE software.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a Continuation-in-Part of co-pending International Applications No. PCT/EG2006/000025, filed Jul. [[7]]6, 2006, and No. PCT/EG2006/000036, filed Oct. 4, 2006, and U.S. patent application Ser. No. 11/564,882, filed Nov. 30, 2006.
  • BACKGROUND
  • The computer cursor is manipulated by the mouse to move on the computer display in 2D and/or 3D using the Cartesian coordinate system. In the last few years, new versions of Windows systems, Web-based applications, and desktop software have dramatically changed to integrate the use of 2D and 3D together. Microsoft Windows Vista, Internet world mapping such as Google Earth, and CAD/CAM/CAE software are examples of such applications, where the traditional computer cursor, mouse, and input method which utilize the Cartesian coordinate system are no longer suitable for such new applications as they used to be before.
  • For example, the traditional computer cursor has no accurate, logical control of the exact angle or distance of movement in 2D; it is always moved in multiple, discrete steps until it reaches its target on the computer display, and with 3D applications, the user loses the sense of orientation and can only see a deceiving projection of the cursor's position on the computer screen.
  • The traditional mouse does not help much in 3D applications, although there are some current products which have attempted to solve the mouse's limitations in 3D, but such products were far away from being practical and intuitive, for example, the company 3Dconnexion offers an input device to be used by the user's one hand while moving the mouse with the other hand. Another example is the company Sandio Technology which recently introduced a 3D mouse that has 12 positions to press on instead of moving the mouse. Both of the aforementioned products' configurations confuse the user, relegating the mouse into a complicated input device.
  • The traditional computer method utilizes the Cartesian coordinate system to move the cursor on the computer display, and also to provide positional information by the mouse's movement to the computer system, where this system has many disadvantages when used with the new 3D applications. For example, it is hard to accurately move an object on the computer display in 3D if the movement is not parallel to the x, y, and z-axis, and it is difficult to navigate on the computer display to a point that is not defined with x, y, and z coordinates.
  • The present invention introduces a solution that eliminates the counter-intuitiveness and, in some cases, the complete failure of the traditional computer cursor, mouse, and method in dealing with the new 3D Windows system, 3D Internet and software applications. It introduces an innovative cursor, mouse, and method that together provide the computer user with a complete integrated tool to operate these new applications effectively and efficiently, saving both the user's time and effort.
  • For example, the present cursor gives the user the ability to control the movement angles and distance of the cursor on the computer display to be in lines, curves, or circles. This gives the user a perfect sense of orientation in 2D and 3D and helps achieve tasks that needed complicated software, consequently, reducing the user's time and effort in targeting or moving on the computer display.
  • The present 3D mouse enables the user to control the new applications of 3D Windows systems, Internet, and desktop software in a simple and fast way without moving the mouse or aligning the mouse or the user's hand in any specific direction, or even using a mousepad or any specific surface to support the mouse for proper function. The user can stand, lay supine, or even walk around using a wireless model of this 3D mouse. Moreover, the user can hold this 3D mouse with one hand in gaming situations as if it is a table tennis racket, for example, where the simulation for such a user's hand movement is provided to the computer system to be used in gaming or training purposes. In addition to this, the present 3D mouse can be in the shape of a ring where the user can put it on his/her finger operating the computer during business presentations or while traveling as a passenger in a car or plane.
  • The present method utilizes the spherical coordinate system instead of the Cartesian coordinate system, giving the computer user full control to move, navigate, or edit in 3D, without the use of the keyboard. The three dimensional virtual environment on the computer display becomes accessible to the user and void of having screen projection illusions as in current cases when using the Cartesian coordinate system.
  • Overall, some examples of the uses and applications of the present invention will be described subsequently. However, it is important to note that if the present computer cursor, 3D mouse, and method become commercially available; it is believed that developers of current user-friendly software systems would come up with innumerable additional uses and applications.
  • SUMMARY
  • In the spherical coordinate system as shown in FIG. 1, a point P is represented by a tuple of three components: ρ, θ, and φ. The component ρ is the distance between the point P and the origin, θ is the angle between the positive x-axis and the line from the origin to the point P projected onto the xy-plane, and φ is the angle between the xy-plane and the line from the origin to the point P.
  • FIG. 2 illustrates the present computer cursor which is named the “Spherical Cursor” and is comprised of: a dotted line 100 serving as a ray reaching all possible target points of the cursor's direction on the computer display; a solid line 110 that represents the radial distal movement length of the cursor ρ, in its determined direction on the dotted line from a starting point 120 to a targeted point 130; a horizontal circular portion 140 that gives the feeling of the xy-plane and indicates the value of θ; and a vertical circular portion 150 that gives the feeling of the cursor rotation in the third dimension, perpendicular on the xy-plane and indicating the value of φ.
  • FIG. 3 illustrates the present 3D mouse that is comprised of three scroll wheels numbered 160, 170, and 180. The first scroll wheel 160 is on the left side of the 3D mouse and has its axis perpendicular to the mousepad surface. It can be rotated horizontally, both clockwise and counterclockwise, by the thumb finger to provide, respectively, immediate negative or positive input for θ to the computer system. The second scroll wheel 170 is on the right side of the 3D mouse and has its axis parallel to the 3D mousepad surface and perpendicular to the axis of the first scroll wheel. It can be rotated vertically, both clockwise and counterclockwise, by the middle or ring finger to provide, respectively, immediate negative or positive input for φ to the computer system. The third scroll wheel 180 is on the top side of the 3D mouse and has its axis parallel to the mousepad surface, perpendicular to the axes of the first and second scroll wheels. It can be rotated both vertically up or down by the index finger to provide, respectively, immediate positive or negative input for ρ to the computer system.
  • To operate this 3D mouse, the user rotates the first scroll wheel 160 horizontally to determine θ, the horizontal rotation of the spherical cursor in the xy-plane, then rotates the second scroll wheel 170 vertically to determine φ, the vertical rotation of the spherical cursor perpendicular to the xy-plane, and rotates the third scroll wheel 180 to determine ρ, the radial distal movement of the spherical cursor in three dimensions. In case of working in 2D, there is no need to use the second scroll wheel 170 since the third dimension does not exist. In such cases the spherical coordinate system will change into a polar coordinate system in two dimensions. However, the positions of the three scroll wheels can be different from FIG. 3, for example, the first scroll wheel 160 can be on the right side of the 3D mouse and the second scroll wheel can be on the left side of the 3D mouse, or both of them can be on one side of the 3D mouse.
  • As a demonstration of some uses and applications of the present invention, the following figures show some innovative examples that are difficult to be achieved using the traditional computer cursor, mouse, or method:
  • FIG. 4 illustrates an example for a three dimensional interface consisting of three parallel planes where in such a case, rotating the spherical cursor in three dimensions by providing the input values of θ and φ to the computer system is enough to determine the intersection points of the spherical cursor direction or dotted line 100 and the three planes. As long as the spherical cursor changes its rotation or direction, the computer system indicates the point of intersection of each new rotation or direction, where there is no need to provide input for ρ to the computer system as will be described subsequently. Based on this concept, to click on any icon, menu, or the like on any of the three dimensional interfaces, the user directs the spherical cursor to the needed target then clicks the enter button of the mouse, without the need to move the spherical cursor to such needed target.
  • FIG. 5 shows a spherical cursor movement among a plurality of non-parallel planes in three dimensions where it is possible to target any of such planes without the need to provide the input of ρ to the computer system as mentioned previously. However, in this example, the start point of the spherical cursor on the computer display changes from a start point out of the illustrated planes to a start point on some of said planes.
  • FIG. 6 shows another innovative application for the spherical cursor movement on the computer display where a three dimensional interface consists of three planes, E1, E2, and E3, and the spherical cursor which can target any of these three planes or move from one to another. In addition to this, the spherical cursor can move on any one of these interfaces or planes without the need to provide input for φ to the computer system. That is achieved by having the spherical cursor interpret any specific plane that it will move on as an xy-plane. In other words, to move on a specific plane, the user provides only immediate input for θ and ρ to the computer system. Once the user needs the spherical cursor to move to another plane or quit movement on a specific plane, then s/he provides immediate input for φ to the computer system. Once the user does so, the computer system recognizes the user's need to move to another plane. In other words, to move on any plane, the polar coordinate system is used where there is no input of φ; to move from one plane to another, the spherical coordinate system is used where φ is provided with θ and ρ.
  • FIG. 7 shows a spherical cursor movement on plane E3 which is a part of said interface of FIG. 6 where it is simple for the user to move the spherical cursor on this plane as described previously. This solution is appropriate for use with three dimensional interfaces such as Microsoft Windows Vista; where using the Cartesian coordinate system or the conventional computer cursor is not robust enough of a tool to target any of the different interface parts. Furthermore, moving on any plane or, for example, part of said interface that is not parallel to the x, y, and z-axis is impossible when using the traditional mouse movement on a surface by means of the Cartesian coordinate system. In such cases, the direction of the mouse movement on a surface simply cannot match the different directions of different planes and/or interfaces.
  • FIG. 8 shows an innovative application for navigation in three dimensions for world mapping applications such as Google Earth or NASA's open-source World Wind. Here, as will be described subsequently, the spherical cursor moves in curves in 3D to target a specific spot directly in one step on the world map as opposed to what is currently required: rotating the world map horizontally and vertically until getting the targeted position in the center of the computer display then zooming in to it. The present method reduces the number of required steps and the amount of time spent by the user to deal with such applications.
  • FIG. 9 shows another innovative application to control the speed of the spherical cursor when moving in virtual reality environments where the computer system can calculate the distance between the starting point 120 of the spherical cursor and any three dimensional object on the computer display that is in the direction of the spherical cursor's path or intersected with the dotted line 110. The computer system then adjusts the speed of the spherical cursor or camera movement when targeting such objects, especially if there are huge variations of distances between objects as in the case of 3D world mapping or modeling.
  • FIG. 10 shows an innovative method to walk though a three dimensional environment such as a virtual reality model for a building where the spherical cursor enables the computer system to detect the openings of the buildings as doors or windows by comparing the different calculated values of ρ of the spherical cursor's direction to the same plane of the building. The openings are located where there are relatively large changes in the ρ values in the same plane. Such applications turn the spherical cursor into a “smart cursor” that detects the IDs of the different parts of the 3D objects on the computer display and accordingly are able to move the virtual camera according to a pre-programmed movement function related to the objects' IDs.
  • FIG. 11 illustrates the possibility of moving different 3D objects in three dimensions on the computer display using the spherical cursor by targeting the needed object to be moved, dragging it, and then targeting the new position for this object to relocate it. It is very difficult for the conventional computer cursor to achieve such tasks in three dimensions without the use of the computer keyboard to enter the numerical values of the x, y, and z coordinates for the new position or location of the moved object on the computer display.
  • FIG. 12 illustrates a three dimensional object where the computer user can pick up any point of said object and move it in three dimensions using the movement of the spherical cursor, where, as shown in this figure, a point P1 is dragged in a curvature movement to a new position, and point P2 is dragged linearly to a new position in 3D. This example illustrates the ease of editing in three dimensions using the present invention.
  • FIG. 13 illustrates an example for estimating the distance between two points in a three dimensional virtual environment on the computer display using the spherical cursor, where in this example, a distance between two points such as P1 and P2 is calculated by targeting the first point P1 by the spherical cursor then targeting P2. The computer system then calculates the distance between P1 and P2 by knowing the distance between P0 and P1, and P0 and P2, in addition to the angle between the two lines P0-P1 and P0-P2, where P0 is the starting or base point of the spherical cursor as shown in the figure.
  • One advantage of the present 3D mouse is in the realm of interactive 3D graphics. The scroll wheels' rotations are directly translated into changes in the virtual camera's orientation. For example, in some games, the present 3D mouse can control the direction in which the player's “head” faces: rotating the first scroll wheel 160 horizontally clockwise or counterclockwise will cause the player to turn around in those respective directions. Rotating the second scroll wheel 170 up or down will cause the player to look “up” or “down”. Rotating the third scroll wheel 180 forward or backward will cause the player to move “forward” or “backward.” Generally, in games that need aiming/targeting or shooting in three-dimensions, the present 3D mouse is a perfect tool.
  • Another application for the present 3D mouse is in controlling virtual space vehicles such as airplanes or rockets. Rotating the first scroll wheel 160 controls the turning of the vehicle both left and right (yawing); rotating the second scroll wheel 170 controls the titling of the vehicle side-to-side (rolling); and rotating the third scroll wheel 180 controls the tilting of the vehicle both up and down (pitching). All such controls are achieved using only the present 3D mouse and require the use of only one hand.
  • One major application that is completely unique to the present invention is the use of the 3D mouse in gaming and educational training. The user can hold the 3D mouse in one hand as a virtual gaming apparatus such as a tennis racket, golf club, billiard cue, or the like, and move his/her hand naturally as in the real sport. In such cases, the present 3D mouse provides immediate input to the computer system so as to simulate the exact hand motion(s) of the user. This simulation enables the user to interact virtually with the computer with real free-hand motions, as opposed to the traditional mouse movements on a surface, or pressing buttons on game controllers.
  • Overall, it is important to mention that the present invention or method not only provides movements using the spherical coordinate system, but also the polar, cylindrical, and Cartesian coordinate systems, in addition to providing the computer system with motion having six degrees of freedom (6 DOF) without the need of a supplementary input device such as a keyboard and its like.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a spherical coordinate system where a point P is represented by a tuple of three components: θ, φ, and ρ.
  • FIG. 2 is a spherical cursor which is a new shape for the computer cursor to move in two and/or three dimensions on the computer display.
  • FIG. 3 is a 3D mouse comprised of a first scroll wheel 160, second scroll wheel 170, and third scroll wheel 180, in addition to the regular mouse components.
  • FIGS. 4 to 13 display various uses and applications of the spherical cursor utilizing the spherical coordinate system.
  • FIG. 14 is a ring mouse comprised of a first scroll wheel 190, second scroll wheel 200, third scroll wheel 210, and a void 220 to pass the user's finger through.
  • FIG. 15.1 is a 3D trackball comprised of a ball 230, base 240, first button 250, second button 260, third button 270, fourth button 280, and optical sensor 290.
  • FIG. 15.2 is a top view for the 3D trackball that indicates dividing the ball into three sections: first section 300, second section 310, and third section 320.
  • FIG. 16.1 is a horizontal tilt wheel comprised of a tilt wheel 330, left button 340, and right button 350.
  • FIG. 16.2 is a bottom view for the horizontal tilt wheel illustrating a first button 360, second button 370, third button 380, and fourth button 390, where these buttons are beneath the horizontal tilt wheel to detect its tilting direction.
  • FIG. 17 is an alternative for the 3D mouse comprised of a first scroll wheel 400 and second scroll wheel 410, in addition to the regular mouse components.
  • FIG. 18 is an alternative for the 3D mouse comprised of a first selection switch 420 and second selection switch 430, in addition to the regular mouse components.
  • FIG. 19 is an alternative for the 3D mouse comprised of a tilt wheel on the top side of the 3D mouse, in addition to the regular mouse components.
  • FIG. 20 is an alternative for the 3D mouse comprised of a first scroll wheel 440, second scroll wheel 450, and two touchpad surfaces 460 and 470, in addition to the regular mouse components.
  • FIG. 21 is an alternative for the 3D mouse comprised of a first scroll wheel 480, second scroll wheel 490, and two pressure sensitive buttons 500 and 510, in addition to the regular mouse components.
  • FIG. 22 is the finger's directions on a touchpad surface to control the movement of the spherical cursor in three dimensions on the computer display.
  • FIG. 23.1 is a mouse movement on a surface from point 1 to 2, from point 2 to 3, and from point 3 to 4.
  • FIG. 23.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement of FIG. 23.1.
  • FIG. 24.1 is a mouse movement on a surface from point 1 to 2, from point 2 to 4, and from point 4 to 3.
  • FIG. 24.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement of FIG. 24.1.
  • FIG. 25.1 is the order of providing the input for θ, φ, and ρ to the computer system to move the spherical cursor in lines.
  • FIG. 25.2 is the order of providing the input for θ, φ, and ρ to the computer system to move the spherical cursor in curves.
  • FIGS. 26.1 to 27.4 are examples for moving the spherical cursor in the xy-plane on the computer display.
  • FIG. 28 is three examples for the spherical cursor movement in two dimensions on the computer display.
  • FIGS. 29.1 to 29.3 are examples for moving the spherical cursor in grids in two dimensions on the computer display.
  • FIGS. 30 and 31 are alternatives for the spherical cursor movement in curves or semi-circles in 2D on the computer display.
  • FIGS. 32.1 to 33.3 are examples for moving the spherical cursor in the xz-plane on the computer display.
  • FIGS. 34.1 to 34.3 are examples for moving the spherical cursor in the yz-plane on the computer display.
  • FIGS. 35.1 to 35.3 are examples for moving the spherical cursor in three dimensions on the computer display in different planes than the xy, xz, or yz-plane.
  • FIGS. 36.1 and 36.2 are two examples for moving the spherical cursor in three dimensional paths on the computer display.
  • FIG. 37 shows alternatives for the spherical cursor curvature movement from P1 to P2 in three dimensions on the computer display.
  • FIG. 38 is the spherical cursor movement drawing a three-dimensional shape on the computer display in seven steps.
  • FIG. 39 is the spherical cursor targeting a three-dimensional sphere on the computer display.
  • FIG. 40.1 is a table illustrating the 3D trackball's rotation that provides the computer system with a movement along the x, y, and z-axis.
  • FIG. 40.2 is a table illustrating the 3D trackball's rotation that provides the computer system with a rotation about the x, y, and z-axis.
  • DETAILED DESCRIPTION
  • As described previously, FIG. 3 illustrated a 3D mouse comprised of three scroll wheels 160, 170 and 180 to provide, respectively, the inputs of θ, φ, and ρ to the computer system, where this simple configuration eases the control of the spherical cursor. For example, the user can feel the spherical cursor's horizontal or vertical rotation by rotating the first wheel horizontally or the second scroll wheel vertically. Also the user can feel the spherical cursor's forward or backward movement by rotating the third scroll wheel forward or backward. The user has full control over the speed of the spherical cursor's rotation or movement with the touch of his/her fingers to the scroll wheels; this type of control is very important in many applications especially those in gaming and virtual reality. In addition to this, the user can feel the value of the rotation, where one complete or partial rotation of the scroll wheel rotates the spherical cursor in like fashion.
  • As mentioned previously, the 3D mouse can be held with the user's hand where s/he moves his/her hand simulating the actual movements used in playing sports/games such as tennis, billiards, golf, or serving, where the 3D mouse provides input to the computer system that simulates the motion of the user's hand. This function is based on gripping the 3D mouse in one hand, while holding the first scroll wheel 160 with the thumb finger, and holding the second scroll wheel 170 with the middle or index finger. When the user rotates his/her hand from left to right, s/he rotates the first scroll wheel 160 and the second scroll wheel 170 in the direction of his/her hand's rotation, where in this case the first scroll wheel 160 will be horizontally rotated clockwise (related to its axis), and the second scroll wheel will be vertically rotated clockwise (related to its axis). In cases where the user rotates his/her hand from right to left, then s/he horizontally rotates the first scroll wheel 160 counterclockwise (related to its axis), and vertically rotates the second scroll wheel counterclockwise (related to its axis); where the values of the scroll wheel's rotation is relative to the value of the user's hand rotation.
  • It is important to note that the human hand's joints are spherical joints and their rotation in three dimensions can be analyzed in two angles: θ and φ; these two angles are provided to the computer system by the first and second scroll wheels of the 3D mouse. Also, the motion of the thumb and middle or index finger while rotating the user's hand from left to right or vice versa is by nature, as mentioned previously, horizontally or vertically, clockwise, or counterclockwise. However, in this example the input of θ and φ are provided to the computer system in the same time, where this possibility is available to the user when s/he uses two or three scroll wheels of the present 3D mouse in the same time.
  • FIG. 14 illustrates the present ring mouse that functions as a 3D mouse. This ring mouse can be put on the index or middle finger and be operated by the thumb finger, where the first scroll wheel 190 can be rotated horizontally to provide immediate input for θ, the second scroll wheel 200 can be rotated vertically to provide immediate input for φ, and the third scroll wheel 210 can be rotated up or down to provide immediate input for ρ to the computer system. Also, the first scroll wheel 190 can be pressed down to function as the regular mouse's left button, and the second scroll wheel 200 can be pressed laterally to function as the regular mouse's right button. The user's finger goes through the ring void 220 which is in the direction of the axis of the third scroll wheel 210.
  • The ring mouse can take another simple shape wherein the first scroll wheel 190, second scroll wheel 200, and third scroll wheel 210 can be attached to three different faces of a cube, where said three different faces share one corner of said cube. The cube has an appendage that is attached to it where said appendage can easily be wrapped on the user's finger with Velcro-like fabric that allows it to be “one-size-fits-all”. Having the cube without any penetration of the user's finger is an advantage that makes the sensors that detect the rotation of the three scroll wheels fit simply inside the cube.
  • The ring mouse is a perfect tool to control the spherical cursor when the user is driving a car and needs to use the GPS, or while using fingers/hands in typing on the computer keyboard and needing to use the mouse constantly during typing. It is also a perfect tool for gamers when more than one player can share the same game on the same computer without the need for a surface to move the mice, in addition to the ease of holding just a ring instead of the other input devices or game controllers.
  • Another input device that controls the spherical cursor in three dimensions is the present 3D trackball. FIG. 15.1 illustrates this 3D trackball which is comprised of a ball 230 and a base 240 to hold said ball. This base has four arms and on the tip of each of them is a button: a first button 250; second button 260; third button 270; and fourth button 280. In addition to this, there is an optical sensor 290 in the base beneath the ball to detect its rotation. FIG. 15.2 illustrates a top view for the present 3D trackball which shows that the ball 230 is divided into three sections: first section 300; second section 310; and third section 320. To use the 3D trackball to provide the input of θ to the computer system, the user rotates the ball horizontally from the first section 300 by his/her thumb finger. To provide the input of φ, the user rotates the ball vertically from the second section 310 by the middle or ring finger. To provide the input of ρ, the user rotates the ball inwards/backward from the third section 320 by the index or middle finger.
  • There is a gap between the ball 230 and the four buttons 250, 260, 270, and 280. This gap helps the computer system to identify which section of the ball is touched by the user's finger. For example, when the user rotates the first section 300 using the thumb finger, the ball is moved slightly from left to right pressing on the first button 250 and the second button 260 during its rotation. When the user rotates the second section 310 with the middle or ring finger, the ball is moved slightly from right to left pressing on the third button 270 and the fourth button 280 during its rotation. When the user rotates the third section 320 forward with the index or middle finger, the ball is moved slightly forward pressing on the first button 250 and the fourth button 280; if the rotation is backward, then the ball is moved slightly backward pressing on the second button 260 and the third button 270.
  • The optical sensor 290 is a regular mouse optical sensor but upside down. It detects each different rotational direction of the ball 230. For example, when providing the input of θ to the computer system as previously described, the optical sensor detects a clockwise or counterclockwise rotation of the bottom of the ball. When providing the input of φ to the computer system, the optical sensor detects a movement from left to right or vice versa. When providing the input of ρ to the computer system, the optical sensor detects a forward or backward movement. Based on the movement direction detected by the optical sensor and the IDs of the two buttons that are pressed by the ball during its rotation, the computer system identifies which section of the ball is rotated and accordingly which input of θ, φ, or ρ is meant by the 3D trackball's rotation.
  • FIG. 16.1 illustrates the present horizontal tilt wheel which is another computer input device to provide the input for θ, φ, and ρ to the computer system. It is comprised of a horizontal scroll wheel 330 that can be horizontally rotated clockwise or counterclockwise about its vertical axis to provide, respectively, immediate negative or positive input for θ to the computer system. A left button 340 functions as a regular mouse left button, and a right button 350 functions as a regular mouse right button. FIG. 16.2 is a bottom view for said horizontal tilt scroll wheel; it illustrates a first button 360, second button 370, third button 380, and fourth button 390, respectively, in the East, West, North, and South bottom directions of said horizontal tilt wheel. The present horizontal tilt wheel can be tilted or pressed vertically by the user's finger from its East, West, North, and South boundaries to press, respectively, on first button 360, second button 370, third button 380, or fourth button 390 to provide immediate, negative input for φ, positive input for φ, positive input for ρ, or negative input for ρ, to the computer system.
  • The unique advantage about said horizontal scroll wheel is its small size and minimal requirements of space for proper operation. These minimal requirements make it suitable to be incorporated onto the top of any computer mouse, keyboard, laptop, or even in a ring to be used as a ring mouse.
  • FIG. 17 illustrates an alternative for the present 3D mouse of FIG. 3. This 3D mouse alternative is comprised of two scroll wheels instead of three, where the first scroll wheel 400 on the left side of the 3D mouse is rotated horizontally to provide immediate input for θ, the second scroll wheel 410 on the top side of the 3D mouse is rotated up or down to provide immediate input for φ, and this 3D mouse is moved (similar to the regular mouse movement on a surface) to provide immediate input for ρ. In this case, the x and y values of the regular mouse movement are converted to only one value of ρ according to the following equation:

  • ρ=(x 2 +y 2)0.5
  • This is in cases where the movement of this 3D mouse is inwards/closer to the direction of the dotted line 100 of the spherical cursor, and,

  • ρ=−(x 2 +y 2)0.5
  • This is in cases where the movement of this 3D mouse is inwards/closer to the opposite direction of the dotted line 100 of the spherical cursor.
  • FIG. 18 illustrates another 3D mouse that looks like a conventional mouse in addition to two selection switches 420, and 430 on the left side of this 3D mouse. Wherein pressing the first selection switch 420 by the thumb finger one time to be “on” and another time to be “off”, and when moving this 3D mouse while the first selection switch 420 is “on”, then the immediate input for θ is provided. Also pressing the second selection switch 430 by the thumb finger one time to be “on” and another time to be “off” and when moving this 3D mouse while the second selection switch 430 is “on”, then the immediate input for φ is provided. Also, moving this 3D mouse after pressing twice on any of the selection switches provides immediate input for ρ. However, all the movements of this 3D mouse for the inputs of θ, φ, and ρ convert the x and y movement values to only one value, according to the following equations:

  • θ=(x 2 +y 2)0.5

  • φ=(x 2 +y 2)0.5

  • ρ=(x 2 +y 2)0.5
  • Whereas this one value is positive if the movement angle of the present 3D mouse is equal to or greater than zero and less than 180 degrees, and is negative if the movement angle of the present 3D mouse is equal to or greater than 180 degrees and less than 360 degrees. Also, this one value is positive if the movement of the present 3D mouse is forward and is negative if the movement of the present 3D mouse is backward.
  • FIG. 19 illustrates a 3D mouse that uses a tilt wheel that tilts left and right to provide immediate input for θ, and rolls up and down to provide immediate input for φ, in addition to moving the mouse on a surface to provide immediate input for ρ as described previously for the mouse of FIG. 17.
  • FIG. 20 illustrates a 3D mouse comprised of a horizontal scroll wheel 440 that rotates clockwise or counterclockwise to provide immediate input for θ, and vertical scroll wheel 450 that rotates up or down to provide immediate input for φ, where the input of ρ is provided by moving the user's finger on touchpad surfaces 460 and 470 wherein the finger movement inwards/closer to the direction of the dotted line 100 of the spherical cursor provides positive input for ρ, or the finger movement inwards/closer to the opposite direction of the dotted line 100 of the spherical cursor provides negative input for ρ.
  • FIG. 21 illustrates a 3D mouse comprised of a horizontal scroll wheel 480 that rotates clockwise or counterclockwise to provide immediate input of θ, vertical scroll wheel 490 that rotates “up or down” to provide immediate input of φ, and two pressure sensitive buttons 500 and 510 that detect the user's finger pressing to provide, respectively, positive or negative input for ρ to the computer system.
  • In the previous 3D mouse in FIG. 21, it is possible to eliminate said two pressure sensitive buttons 500 and 510, and make said two scroll wheels 480 and 490 provide this function in addition to their rotation to provide immediate input for θ and φ. In this case, pressing the horizontal scroll wheel 480 laterally from left to right by the thumb finger provides immediate positive input for ρ, and pressing the vertical scroll wheel 490 vertically from up to down by the index or middle finger provides immediate negative input for ρ to the computer system.
  • All the previous described devices provide the input for θ, and φ in two steps, step by step, however it is possible to provide the input for θ and φ in one step using the traditional trackball that is manipulated with the palm or the fingers of the user's hand. Such manipulation can provide immediate input for θ, and φ one time, and in order to provide the immediate input for ρ, the user can press laterally on the left side of this trackball to provide the positive input for ρ, or press vertically on the top side of this trackball to provide the negative input for ρ. In this case there are two sensors: the first sensor is on the right of the trackball to detect the lateral pressing, and the second sensor is beneath the trackball to detect its vertical pressing.
  • Generally, the use of the present spherical cursor and the spherical coordinate system can be utilized using the traditional input devices such as mouse, touchpad, or pointing stick; the following are some examples for such utilizations:
  • The regular mouse's movement combined with the top scroll wheel of the regular mouse are sufficient to provide innovative applications for rotating or directing the spherical cursor on the computer display. The regular mouse is moved on a pad or surface in a manner of horizontal radial scanning, to horizontally control the rotation of the dotted line 100 of the spherical cursor on the computer display, which means providing the input for θ to the computer system. The top scroll wheel can then be rotated up or down in a manner of vertical radial scanning to vertically control the rotation of the dotted line 100 of the spherical cursor, which means providing the input for φ to the computer system, where such horizontal and vertical scanning convert the spherical cursor into a 3D pointer reaching all points or spots in 3D on the computer display with the use of the traditional mouse and scroll wheel.
  • FIG. 22 shows a different alternative for providing immediate input for θ, φ, and ρ, using the movement of the user's finger on a touchpad surface that senses the direction of the finger's motion. Wherein the circular counterclockwise movement 520 provides positive input for θ and the circular clockwise movement 530 provides negative input for θ. The vertical movement 540 from down to up provides positive input for φ, and the vertical movement 550 from up to down provides negative input for φ. Also, the horizontal movement 560 from left to right provides positive input for ρ, and the horizontal movement 570 from right to left provides negative input for ρ.
  • The pointing stick can provide the inputs of θ, φ, and ρ to the computer system by moving the finger on the pointing stick from “left” to “right” to provide positive input for θ, and from “right” to “left” to provide negative input for θ. Moving the finger on the pointing stick from “down” to “up” to provide positive input for φ, and from “up” to “down” to provide negative input for φ. Moving the finger on the pointing stick inwards/closer to the direction of the dotted line 100 of the spherical cursor to provide positive input for ρ, and inwards/closer to the opposite direction of the dotted line 100 of the spherical cursor to provide negative input for ρ. Such a pointing stick can be incorporated on the top side of a regular mouse or a laptop or desktop keyboard.
  • The directional movements of the previous pointing stick can be used with the joystick too, where in this case; instead of moving the finger on the pointing stick, the user can tilt the joystick in the same direction as in the previous example of the pointing stick except that the left and right movements can be replaced with a clockwise or counterclockwise circular movement to provide, respectively, negative and positive input for θ.
  • In case of moving the spherical cursor in 2D on the computer display the polar coordinate system will be utilized instead of the spherical coordinate system. In such cases the two inputs of the polar coordinate system can be provided to the computer system with the regular mouse's movements on a surface, whereas these movements can provide an input for θ and ρ consecutively. The first step for the user is to provide the input for θ by moving the mouse a small distance in a specific direction and, accordingly, the dotted line 100 of the spherical cursor is manipulated to the same direction of movement on the computer screen. If the first mouse movement is not accurate enough to align the dotted line to the exact direction, then the user moves the mouse again a small distance to adjust the dotted line direction. As long as the mouse movement is less than a specific distance value, the computer system considers the mouse's movement as an input for θ. After the dotted line of the spherical cursor overlaps with its targeted position which could be an icon, menu, or spot on the computer screen, the user moves the mouse in/close to the direction of the dotted line 100 to provide input for ρ, then the solid line 110 of the spherical cursor protracts to the targeted position. If the user protracts the solid line 110 more than needed, meaning passing the targeted position, the user then will retract the solid line 110 by moving the mouse in/close to the opposite direction of the dotted line.
  • In this case, the computer system distinguishes between the mouse's movement inputs for θ and ρ by measuring the distance of the mouse's movement on a surface. Assuming this distance is less than one inch, then the computer system considers the input as an input for θ, and if this movement distance is equal to or greater than one inch, then the computer system considers this input as an input for ρ. When the user reaches the targeted position on the computer display, then s/he clicks on the left bottom of the mouse to “enter” his/her spherical cursor position to the computer system.
  • FIG. 23.1 shows three movement steps for a mouse on a surface. The first movement from point 1 to point 2 is a movement less than one inch, accordingly, it is considered to be an input for θ. While this movement was not accurate enough to make the dotted line 100 overlap with its targeted position on the computer display, accordingly, the user moved the mouse another small movement from point 2 to point 3 for less than one inch to adjust the direction of the dotted line 100 which achieved the user's goal and made the dotted line overlap with the targeted position on the computer display. The third movement is to protract the solid line 110 of the spherical cursor to provide input for ρ; accordingly, the user moved the mouse more than one inch from point 3 to point 4 until the solid line reached the targeted position on the computer display.
  • FIG. 23.2 illustrates the three spherical cursor movements 580, 590, and 600 on the computer display that are associated, respectively, with the three mouse movements of FIG. 23.1, where point A represents the starting position, and point B represents the targeted point of the spherical cursor.
  • FIG. 24.1 shows another example for another three steps for moving a mouse on a surface. Whereas the first step from point 1 to point 2 is a small movement less than one inch, accordingly, it is considered to be an input for θ, where in this step, the dotted line 100 of the spherical cursor reached its targeted position from the first time. The second step from point 2 to point 4 is a mouse's movement greater than one inch and, accordingly, it is considered to be an input for ρ, whereas the solid line 110 of the spherical cursor protracted to reach its targeted position. However, this movement was bigger than the needed distance accordingly, the solid line passed the targeted position. To remedy this, the user moved the mouse backwards from point 4 to point 3, in/close to the opposite direction of the dotted line 100 of the spherical cursor to get back the solid line 110 to reach the targeted position.
  • FIG. 24.2 illustrates the three spherical cursor movements 610, 620, and 630 on the computer display that are associated, respectively, with the three movements by the mouse of FIG. 24.1, where point A represents the starting position, and point B represents the targeted point of the spherical cursor.
  • FIG. 24.2 indicates two regions on the computer screen which are numbered 640 and 650, where region 640 defines the directions of the mouse's movements that are considered to be in or close to the direction of the dotted line 100, and the region 650 defines the directions of the mouse's movements that are considered to be in the opposite or close to the opposite direction of the dotted line 100. The following mathematical relationships express the values of the two regions 640 and 650 accurately as follows:

  • (θ+90)>“region 640”>(θ−90)

  • (θ+90)<“region 650”<(θ−90)
  • According to the previous mathematical relationships, the region 640 clarifies what is meant by saying “moving the spherical mouse in/close to the direction of the dotted line 100” and the region 650 clarifies what is meant by saying “moving the spherical mouse in/close to the opposite direction of the dotted line 100.”
  • In general, the previous description illustrates the method of utilizing the spherical coordinate system to move the spherical cursor on the computer display. However, the following examples illustrate more technical details for different movement tasks in 2D and 3D.
  • The traditional computer cursor movement is configured in a traditional manner to move from a start point to a targeted position on the computer display in a freeform path. This freeform path cannot be straight lines or accurate curves or circles due to the natural imperfections in human hand movements while using an input device such as a mouse, touchpad, pointing stick, touch-sensitive screen, digital template, or inertial 3D pointing device.
  • The present invention manipulates the spherical cursor to move in geometrical paths or grids including the curvature paths not only in 2D but in 3D as well. Such manipulation serves many industrial applications such as virtual reality, gaming, 3D modeling, Internet world mapping, GPS, and 3D computer interfaces among others.
  • The invention method provides the computer system with three input values of the three components of the spherical coordinate system θ, φ, and ρ to move the spherical cursor on the computer display where said method comprising the steps of:
  • Providing the value of θ to the computer system, where θ represents a horizontal rotation of the spherical cursor about its nock end in the xy-plane where the positive and negative inputs of θ represent, respectively, a horizontal counterclockwise or clockwise rotation.
  • Providing the value of φ to the computer system, where φ represents a vertical rotation of the spherical cursor about its nock end in a perpendicular plane to the xy-plane, where the positive and negative inputs of φ represent, respectively, a vertical counterclockwise or clockwise rotation.
  • Providing the value of ρ to the computer system, where ρ represents the spherical cursor movement in a direction resulting from the horizontal rotation according to the input of θ, and/or the vertical rotation according to the input of φ, where the positive and negative inputs of ρ represent, respectively, moving the spherical cursor inward or backward in said direction.
  • The values of θ and φ range from 0 to 360, where the value of 360 represent one complete rotation (in some applications the value of θ and/or the value of φ range from −90 to 90), while the value of ρ has no range since it represents the radial distance of the spherical cursor movement on the computer screen.
  • FIG. 25.1 illustrates a diagrammatic illustration representing the order of providing the three components of θ, φ, and ρ to the computer system to move the spherical cursor in line, where as shown in this figure, the input of ρ is always the last provided input, where the inputs of θ and/or φ are provided before ρ.
  • FIG. 25.2 shows another diagrammatic illustration representing another order of providing the three components θ, φ, and ρ to the computer system to move the spherical cursor in a curve, where as shown in this figure; the value of ρ is the first one to be provided to the computer system whether one or both of the two components of θ, and φ are provided after. In general, the two previous diagrams illustrate the importance of the order of providing the three components θ, φ, and ρ to the computer system to distinguish between moving the spherical cursor in lines or curves. The following explanation gives more details on this method.
  • For example, to move the spherical cursor in a linear path in the positive direction of the x-axis, the two values of θ and ρ are to be provided to the computer system. In this case, the value of θ is equal to zero and the value of ρ is equal to the needed movement distance in the positive direction of the x-axis, assuming that ρ is equal to 1 unit. Then the spherical cursor will move one unit from a start point to an end point in the positive direction of the x-axis as shown in FIG. 26.1. If the value of θ is equal to 180 instead of zero then the spherical cursor movement will be in the negative direction of the x-axis as shown in FIG. 26.2. If the value of θ is equal to 90 then the spherical cursor will move in the positive direction of the y-axis as shown in FIG. 26.3; if the value of θ is equal to 270 then the spherical cursor will move in the negative direction of the y-axis as shown in FIG. 26.4. It is obvious in the previous four figures that the value of θ is provided to the computer system before the value of ρ as indicated in the small attached table with each of the four previous figures.
  • To move the spherical cursor in any other direction than the x or y-axis, the value of θ will not be equal to 0, 90, 180, 270, or 360. For example if the value of θ is equal to 45 then the spherical cursor will move as shown in FIG. 27.1 while if this value is 135 then the spherical cursor movement will be as shown in FIG. 27.2, whereas in this figure the value of ρ is equal to 2 which means the spherical cursor movement will be two units. In FIG. 27.3 the value of θ is equal to 300 and the value of ρ is equal to 1.5, and in FIG. 27.4 the value of θ is equal to 240.
  • The order of providing θ then ρ to the computer system enables the user to move the spherical cursor in lines or linear paths. However, repeating this type of spherical cursor movements forms geometrical paths or shapes in the xy-plane as shown in FIG. 28, where this figure illustrates three examples of such geometrical spherical cursor movements.
  • To control the spherical cursor to move in geometrical grids, the step values of θ and ρ should be defined to the computer system. These steps indicate the smallest numerical unit used that can be multiplied to provide the value of θ and ρ. For example, if the step of θ is equal to 120 and the step of ρ is equal to 1 then the spherical cursor will be moved in a geometrical grid as shown in FIG. 29.1. Also, if the step of θ and ρ are, respectively, equal to 60 and 1, then the spherical cursor will move in a geometrical grid as shown in FIG. 29.2. According to this concept it is easy to control the spherical cursor to move only in the x and y-axis if the step of θ is equal to 90. However, the step of θ can be a multiple-step which consists of a plurality of values as opposed to only one value. This enables the spherical cursor to move in linear paths that form more complicated grids such as the one shown in FIG. 29.3, whereas in this example the multiple-step of θ is 135, 90 and 135.
  • As mentioned previously in the two diagrams in FIGS. 25.1 and 25.2, the order of providing θ and ρ to the computer system distinguishes between moving the spherical cursor in lines or curves in the xy-plane. However, the previous examples illustrated moving the spherical cursor in lines, whereas FIG. 30 illustrates the method of moving the spherical cursor in curves in the xy-plane, where said method is comprised of the following steps:
  • Providing the value of θ and ρ to the computer system to move the spherical cursor linearly from a start point P1 to a targeted point P2, to define the end point of the curvature path of the spherical cursor.
  • Providing a second input value for ρ to the computer system to again move the spherical cursor from P1 to P2 in a curvature path where the second input value of ρ ranges from −180 to 180, where the value of 180 and −180 represent moving the spherical cursor, respectively, in a semi-circular path, counterclockwise or clockwise, and any input value between 180 and −180 represents moving the spherical cursor in a curve located between said two semicircles relative to the value of said input.
  • According to the previous explanation it is possible to move the spherical cursor from P1 to P2 in different curvature paths as shown in FIG. 30. For example if the second input of ρ is equal to −45 then the spherical cursor movement will be a slight counterclockwise curve as shown in the figure, while if the second input of ρ is +135 then the spherical cursor will move in a curve close to the clockwise semicircle as shown in the figure. To simplify forming such curves, the computer system draws a circle passing on P1, P2, and P3, where P3 is a point in a distance perpendicular to the center point of the line P1-P2, where said distance is equal to the value of the second input of ρ multiplied by the distance between P1 and P2 and divided by 180; accordingly the formed curve is the part of the drawn circle from p1 to p2 passing on P3.
  • FIG. 31 illustrates a plurality of consecutive curvature paths of the spherical cursor movements, where it is clear that having such movement is impossible to be achieved using the conventional mouse or the traditional computer cursor without the aid of software for drawing.
  • In general, the previous examples illustrate the spherical cursor movement in lines or curves in the xy-plane by providing the two inputs of θ and ρ. However, if the two inputs of φ and ρ are provided instead, then the spherical cursor will move in the xz-plane. In this case, if the input of φ is equal to 90 then the spherical cursor movement will be in the positive direction of the z-axis as shown in FIG. 32.1, and if this value is 270, then the spherical cursor movement will be in the negative direction of the z-axis as shown in FIG. 32.2. It is noted in the previous two figures that there is no input provides for θ, which means the value of θ is equal to zero. However, to move the spherical cursor in the xz-plane, FIGS. 33.1, 33.2, and 33.3 illustrate three examples for such movement where the inputs of φ are different than 90 and 270.
  • To move the spherical cursor in the yz-plane, the three values of θ, φ, and ρ should be provided to the computer system. However, in this case, the value of θ should be equal to 90 or −90 as shown in FIGS. 34.1, 34.2, and 34.3.
  • Generally, all the previous examples illustrate the spherical cursor movement in the xy or xz, or yz-plane, however, to move the spherical cursor in 3D in different planes than the previous three mentioned planes, specific values of θ, φ, and ρ should be provided to the computer system. FIGS. 35.1, 35.2, and 35.3 illustrate three examples of such spherical cursor movements with different input values for θ, φ, and ρ as shown in the attached small table with each figure. However, it is noted that in these three figures some dotted lines are added to the drawings just to clarify the inclination of the spherical cursor in 3D.
  • FIGS. 36.1 and 36.2 illustrate two examples for moving the spherical cursor in geometrical paths in 3D, where FIG. 36.1 illustrates the spherical cursor movements parallel to the x, y, or z-axis, and FIG. 36.2 illustrates various sloping movements in 3D.
  • FIG. 37 shows different alternatives for moving the spherical cursor in curvature or semi-circular paths from P1 to P2 in three dimensions using the present method whereas in such cases the method is comprised of the following steps:
  • Providing the values of θ, φ, and ρ to the computer system to move the spherical cursor linearly in three dimensions from a start point P1 to a targeted point P2, to define the end point of the curvature path of the spherical cursor in 3D.
  • Providing a second input for ρ to the computer system to again move the spherical cursor from P1 to P2 in a curvature path where the second input value of ρ ranges from −180 to 180, where the value of 180 and −180 represents moving the spherical cursor, respectively, in a semicircular path, counterclockwise or clockwise, and any input value of ρ between 180 and −180 represents moving the spherical cursor in a curve located between said two semicircles relative to the second input value of ρ, where said semicircle or curve plane is parallel to the x-axis.
  • Providing a second input for θ to the computer system where said second input rotates said plane of said circle or curve about the P1-P2 line, where the second input of θ ranges from −360 to −360, where the value of 360 and −360 represent, respectively, one complete counterclockwise or clockwise rotation.
  • Generally; as a demonstration for moving the spherical cursor in 3D, FIG. 38 illustrates a three dimensional shape drawn by moving the spherical cursor on the computer display using the present 3D mouse in 7 simple steps, wherein the first four steps 660, 670, 680, and 690 are located in the xy-plane, hence there is no indication for φ. The 7 th step 720 is located in the z-axis direction; thereby there is no indication for θ. The 5 th step 700 and 6 th steps 710 indicate θ and φ; these appear where it is simple to specify the exact angle of the spherical cursor in 3D with the help of digits or numerical values that can be appeared with the different spherical cursor rotation or movement to indicate the values of θ, φ, and ρ.
  • FIG. 39 illustrate a spherical cursor targeting a 3D sphere on the computer display, where in such case, to move the spherical cursor from a start point P1 to a targeted point P2 on the outer surface of the sphere; the two inputs of θ and φ are to be provided to the computer system while the input of ρ doesn't need to be provided; since the computer system calculates it mathematically, by solving the two equations of the intersection of the sphere and the dotted line 100 of the spherical cursor, where the dotted line 100 is always defined by its start point coordinates, and the two provided angles θ and φ in 3D. In other words, to target a spot, icon, or the like on any three dimensional surface on the computer display using the present 3D mouse, the user needs to rotate the spherical cursor horizontally and/or vertically by rotating the first 160 and/or second 170 scroll wheels of the present 3D mouse until s/her reaches the target, where the computer system keeps illustrating the point of intersection between the dotted line 100 of the spherical cursor and the three dimensional surface for each different spherical cursor rotation.
  • Although the previous illustrations for the spherical cursor and the input devices utilized the spherical coordinate system, but other coordinate systems can be used as well. For example, the spherical coordinate system transforms into a polar coordinate system when the value of φ is equal to zero. Also, the spherical coordinate system transforms into a Cartesian coordinate system when the step of θ is equal to 90 and the step of φ is equal to 90 as described previously. The cylindrical coordinate system is a polar coordinate system in three dimensions, where the inputs of θ and ρ can provide the two components of the polar coordinate system and the input of φ can provide the third dimension or the height of the cylindrical coordinate system.
  • Six-degrees-of-freedom (translation and rotation) can be provided to the computer system using the present input devices such as the present 3D mouse, the present ring mouse, or the present 3D trackball as follows:
  • For the present 3D mouse, the first scroll wheel 160, the second scroll wheel 170, and third scroll wheel 180 can provide translation in three degrees of freedom, where each scroll wheel rotation can represent moving along one of the x, y, or z-axis of the Cartesian coordinate system. To provide another three degrees of freedom to rotate about the previous three axes, each scroll wheel can have two different modes: the first mode is to be rotated normally, and the second mode is to be pressed lightly during its rotation. Such pressing makes the scroll wheel touch a sensor that generates a signal to the computer system identifying that a specific scroll wheel has been pressed during its rotation, which means this type of scroll wheel rotation is considered as a rotation about one of the x, y, or z-axis.
  • According to that, the normal rotation of the first scroll wheel 160 can provide a movement along the x-axis, and its pressed rotation can provide a rotation about the z-axis. The normal rotation of the second scroll wheel 170 can provide a movement along the z-axis, and its pressed rotation can provide a rotation about the y-axis. The normal rotation of the third scroll wheel 180 can provide a movement along the y-axis, and its pressed rotation can provide a rotation about the x-axis. It is also possible to use three tilt scroll wheels instead of the three regular scroll wheels of the present 3D mouse. In this case rotating any of the three tilt scroll wheels provides a rotation about an axis, while tilting any of the tilt scroll wheel provides a movement along the axis. In other words, rotating the first scroll wheel 160 provides a rotation about the z-axis, while tilting it from “down” to “up” provides a movement along the positive z-axis, and tilting it from “up” to “down” provides a movement along the negative z-axis. Rotating the second scroll wheel 170 provides a rotation about the y-axis, while tilting it “forward” provides a movement along the positive y-axis, and tilting it “backward” provides a movement along the negative y-axis. Rotating the third scroll wheel 180 provides a rotation about the x-axis, while tilting it from “left” to “right” provides a movement along the positive x-axis, and tilting it from “right” to “left” provides a movement along the negative of x-axis. This idea of using three tilt scroll wheels instead of the three regular scroll wheels can be used also for the ring mouse to provide six degrees of freedom.
  • The same idea of rotating the scroll wheels of the present 3D mouse in two modes, normally and with a light pressing, can be applied on the scroll wheels of the present ring mouse to provide six-degrees-of-freedom (translation and rotation), since they match the positioning and functionality of the scroll wheels of the present 3D mouse. However, it is important to note that using the spherical cursor with a mouse such as the mouse of FIG. 17 can provide six degrees of freedom. In this case the two scroll wheels of this mouse will direct the spherical cursor to the positive or negative direction of the x, y, or z-axis, while moving the mouse on a surface in the direction of the dotted line 100 of the spherical cursor will provide a movement along the axis, and moving the mouse on the surface perpendicular to the direction of the doted line 100 will provide a rotation about the axis.
  • The 3D trackball can provide six-degrees-of-freedom, as shown in FIG. 40.1 a movement along the x, y, and z-axis is provided to the computer system, where to move along the x-axis, the first section 300 is rotated horizontally by the thumb finger to press on the first button 250 and the second button 260 during the ball rotation. To move along the y-axis, the third section 320 is rotated “up” or “down” by the index finger to press, respectively, on the first button 250 and the fourth button 280, or to press on the second button 260 and the third button 270 during the ball rotation. To move along the z-axis, the second section 310 is rotated vertically by the middle finger to press on the third button 270 and the fourth button 280.
  • To provide rotation about the x, y, and z-axis, FIG. 40.2 illustrates the 3D trackball rotation for each case. Where to rotate about the x-axis, the third section 320 is rotated “up or down” by the index finger while pushing the first section 300 laterally by the thumb finger to press on the first button 250 and the second button 260. To rotate about the y-axis, the second section 310 is rotated vertically by the middle finger while pushing on the third section 320 laterally by the index finger to press on the second button 260 and the third button 270. To rotate about the z-axis, the first section 300 is rotated horizontally by the thumb finger while pushing vertically on the top of the third section 320 by the index finger to prevent the ball to press on any of the four buttons. Generally the different combinations of the ball rotation directions and the ID's of the pressed buttons by the ball's rotation enable the computer system to identify which degree of freedom is meant by the ball's rotation.
  • It is obvious that the present 3D input devices such as the three scroll wheels of the present 3D mouse, the present 3D trackball, and the present horizontal tilt wheel can be incorporated on the regular computer mouse. In this case the movement of the regular mouse on a surface can provide an input for the x and y coordinates of a mouse's movement on the surface to the computer system, while the present 3D input device can provide an input for θ, φ, and ρ to the computer system. This combination enables the user to control moving two different cursors on the computer display, the first cursor is the regular cursor which can be used for the 2D applications, and the second cursor is the spherical cursor which can be used for the 3D applications. It is also possible to make one of the regular cursor and the spherical cursor drags the other to change its position in 2D and/or 3D on the computer display. Moreover, it is possible to incorporate the regular cursor and the spherical cursor together, in this case the regular cursor is moved on the computer display as usual but when the input of θ, φ, and ρ is provided to the computer system then the dotted line 100 and the solid line 110 of the spherical cursor starts form the regular cursor position on the computer display plane.
  • Overall, the alternatives of the present invention are simple and straightforward and can be utilize in a number of existing technologies to easily and inexpensively produce the invention. However, the invention includes some main parts that are described in the following:
  • The 3D mouse is a regular mouse with an optical or laser sensor at the bottom of the mouse to detect the mouse's movement on a pad or surface, in addition to three scroll wheels which are regular mouse scroll wheels that can be carried out in similar fashion to the regular mouse's scroll wheels and can be implemented by using optical encoding disks including light holes, wherein infrared LED's shine through the disks; sensors then gather light pulses to convert the rotation of the scroll wheels into inputs for θ, φ, and ρ. It is also possible to use light-emitting diodes and photodiodes, a special-purpose image processing chip, or capacitive sensors, or other known technology to detect the finger's movement rather than rotating the scroll wheels. In this case, each scroll wheel will be a fixed wheel or a small strip with a light hole that detects the movement of the user's finger in two perpendicular directions.
  • The ring mouse utilizes three scroll wheels similar to the 3D mouse scroll wheels. However, in addition to the previous described manner of the 3D mouse scroll wheels, a digital sensor can be used for each scroll wheel of the ring mouse to detect its rotation and provide the computer system with digital data representing the direction and the value of rotation.
  • The 3D trackball is an upside-down mouse ball to be rotated by the user's fingers instead of moving it on a pad or surface. Its rotation is detected by an optical or laser sensor similar to the regular mouse's movement detection, however, each of the four buttons 250, 260, 270, and 280 that surround the ball is a two-way digital button that can be “ON” if it is pressed by the ball during its rotation, or be “OFF” when it is not pressed as was described previously. It is also possible to incorporate the 3D trackball on the top of the regular mouse as mentioned previously.
  • The horizontal scroll wheel is a regular scroll wheel that can be tilted vertically to press on one of the four buttons. The rotation of the scroll wheels can be detected in a similar fashion as the detection of the regular mouse's scroll wheels or by using a digital sensor to provide the computer system with digital data representing the rotation of the horizontal scroll wheel. The four buttons 360, 370, 380, and 390 can utilize a four-way analog sensor with its printed circuit board (“PCB”) as known in the art, where in this case, the PCB will process raw analog signals and convert them into digital signals that can be used for the microprocessor of the computer system. In this case, as long as the user is touching the analog sensor, the sensor continuously generates specific data corresponding to the finger force and its position. It is also possible to utilize a 4-way digital sensor and its related PCB, where the digital sensor provides four independent digital ON-OFF signals in the direction of North, East, South, and West of said horizontal scroll wheel
  • Lastly, the nature of interacting between the user's fingers and the scroll wheels of the 3D mouse, ring mouse, and horizontal tilt wheel, or the ball or the 3D trackball can utilize haptic technology which refers to the technology that interfaces the user via the sense of touch by applying forces, vibrations and/or motions to the user's fingers. Accordingly, it is possible to make the user feel feedback such as weight, shape, texture and force effects especially in gaming, virtual training, or medical applications.
  • As discussed above, a spherical cursor, 3D input devices, and method are disclosed, while a number of exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain modifications, permutations, additions and sub-combinations thereof. It is therefore intended that claims hereafter introduced are interpreted to include all such modifications, permutations, additions and sub-combinations as are within their true spirit and scope.

Claims (69)

1. A 3D mouse to provide an input for the three components (θ, φ, and ρ) of the spherical coordinate system to a computer system, wherein said three components represent positional information of a cursor on the computer display, and said 3D mouse is comprised of:
a) a mouse that is able to provide x and y inputs to the computer system to represent the mouse's movement on a surface.
b) a first scroll wheel 160 on the left side of said mouse which has its axis perpendicular to the mouse pad surface, and can be rotated horizontally clockwise or counterclockwise by the thumb finger to provide, respectively, immediate negative or positive input for θ.
c) a second scroll wheel 170 on the right side of said mouse which has its axis parallel to the mouse pad surface, perpendicular to the axis of the first scroll wheel 160, and can be rotated vertically clockwise or counterclockwise by the middle or ring finger to provide, respectively, immediate negative or positive input for φ.
d) a third scroll wheel 180 on the top side of said mouse which has its axis parallel to the mouse pad surface, perpendicular to the axes of the first scroll wheel 160 and second scroll wheel 170, and can be rotated vertically up or down by the index or middle finger to provide, respectively, immediate positive or negative input for ρ.
2. A computer cursor that can be rotated about its nock to move in a specific direction on the computer display in two and/or three dimensions, where said computer cursor is manipulated by providing an input for the three components (θ, φ, and ρ) of the spherical coordinate system to the computer system, where said cursor is named “Spherical Cursor” and comprised of:
a) a dotted line 100 serving as a ray reaching all possible target points in the cursor's direction on the computer display.
b) a solid line 110 that represents the radial distal movement length of the cursor ρ, in its determined direction on the dotted line from a starting point 120 to a targeted point 130.
c) a horizontal circular portion 140 that gives the feeling of the xy-plane and indicates the value of θ.
d) a vertical circular portion 150 that gives the feeling of the cursor rotation in third dimension, perpendicular to the xy-plane and indicates the value of φ.
3. A method to move the computer cursor in two and/or three dimensions from a start point to a targeted point on the computer display, by providing an input for the three components (θ, φ, and ρ) of the spherical coordinate system to the computer system, wherein,
a) θ is the angle between the positive x-axis and the line from the start point to the target point projected onto the xy-plane, to represent the computer cursor rotation in xy-plane.
b) φ is the angle between the xy-plane and the line from the start point to the target point, to represent the computer cursor rotation in third dimension perpendicular to the xy-plane.
c) ρ is the distance between the start point and the target point, to represent the computer cursor movement in its determined direction on the computer display.
4. A device to provide an input for the two components θ and φ of the spherical coordinate system to the computer system to represent the user's hand rotation in three dimensions wherein said device comprised of:
a) a chassis which is suitable for a user to grasp with one hand.
b) a first scroll wheel on the right side of said chassis to be rotated by the user's thumb finger to provide immediate input for θ to the computer system.
c) a second scroll wheel on the left side of said chassis to be rotated by the user's index, or middle finger to provide immediate input for φ to the computer system.
Wherein rotating the user's hand from “left” to “right”, rotates the first scroll wheel horizontally clockwise, and rotates the second scroll wheel vertically clockwise, while rotating the user's hand from “right” to “left” rotates the first scroll wheel horizontally counterclockwise, and rotates the second scroll wheel vertically counterclockwise.
5. A ring mouse to provide an input for the three components θ, φ, and ρ of the spherical coordinate system to a computer system, wherein said three components represent positional information of a cursor on the computer display, where said ring mouse is comprised of:
a) a finger ring to hold the components of said ring mouse.
b) a first scroll wheel 190 on the top side of the ring to be rotated horizontally clockwise or counterclockwise by the thumb finger to provide, respectively, negative or positive input for θ.
c) a second scroll wheel 200 on the left side of the ring to be rotated vertically clockwise or counterclockwise by the thumb finger to provide, respectively, negative or positive input for φ.
d) a third scroll wheel 210 on the front side of the ring to be rotated vertically “up” or “down” by the thumb finger to provide, respectively, positive or negative input for ρ.
6. A 3D trackball to provide an input for the three components (θ, φ, and ρ) of the spherical coordinate system to a computer system, wherein said three components represent positional information of a cursor on the computer display, where said 3D trackball is comprised of:
a) a ball 230 to be rotated horizontally or vertically by the user's fingers.
b) a base 240 to hold the components of said 3D trackball.
b) a first button 250, second button 260, third button 270, and fourth button 280 to be pressed by said ball during its rotations.
c) an optical sensor 290 to detect the rotational direction of said ball.
e) a first section 300, second section 310, and third section 320 that are dividing the ball 230 into three imaginary sections.
Wherein said ball 230, provides an input for θ to the computer system when said first section 300 is rotated horizontally by the thumb finger to press on the first button 250 and the second button 260, while provides an input for φ to the computer system when said second section 310 is rotated vertically by the middle or ring finger to press on the third button 270 and the fourth button 280, and provides an input for ρ to the computer system when said third section 320 is rotated “up” or “down” by the index finger to press, respectively, on the first button 250 and the fourth button 280, or on the second button 260 and the third button 270.
7. A horizontal tilt wheel to provide an input for the three components θ, φ, and ρ of the spherical coordinate system to a computer system, wherein said three components represent positional information of a cursor on the computer display, where said horizontal tilt wheel is comprised of:
a) a horizontal scroll wheel 330 to be rotated horizontally about its vertical axis by the user's finger to provide input for θ.
b) a left button 340 to function as a regular mouse left button.
c) a right button 350 to function as a regular mouse right button.
d) a first button 360, second button 370, third button 380, and fourth button 390, respectively, in the East, West, North, and South bottom directions of said horizontal tilt wheel to detect the tilting direction of said scroll wheel.
Wherein pressing on the top side of said scroll wheel 330 by the user's finger from, its East side provides negative input for φ, from its West side provides positive input for φ, from its North side provides positive input for ρ, and from its South side provides negative input for ρ to the computer system.
8. The 3D mouse of claim 1 further each of said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 can be pressed lightly by the user's fingers during the rotation to touch a sensor to generate a signal to the computer system identifying that a specific scroll wheel is pressed during its rotation.
9. The 3D mouse of claim 1 wherein said mouse is a computer keyboard wherein said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 are incorporated on top of said computer keyboard.
10. The 3D mouse of claim 1 whereas one or more of the input of said first scroll wheel 160, said second scroll wheel 170, or said third scroll wheel 180 is replaced with the input of said mouse movement on a surface to provide an input for θ, φ, or ρ to the computer system.
11. The 3D mouse of claim 1 wherein said first scroll wheel 160 and said second scroll wheel 170 are a trackball that is manipulated with the palm or the fingers of the user's hand to provide immediate input for θ, and φ to the computer system.
12. The 3D mouse of claim 1 wherein one or more of said first scroll wheel 160, said second scroll wheel 170, or said third scroll wheel 180 is replaced with a touch-sensitive pad to detect the user's finger movement to provide input for θ, φ, or ρ to the computer system.
13. The 3D mouse of claim 1 whereas one or more of said first scroll wheel 160, said second scroll wheel 170, or said third scroll wheel 180 is replaced with two pressure sensitive buttons to detect the user's finger pressing to provide positive or negative input for θ, φ, or ρ to the computer system.
14. The 3D mouse of claim 1 whereas said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 are tilt wheels that can be rotated or tilted by the user's finger to provide six degrees of freedom to the computer system, whereas:
a) rotating the first scroll wheel 160 provides a rotation about the z-axis, while tilting it from “down” to “up” provides a movement along the positive z-axis, and tilting it from “up” to “down” provides a movement along the negative z-axis.
b) rotating the second scroll wheel 170 provides a rotation about the y-axis, while tilting it forward provides a movement along the positive y-axis, and tilting it backward provides a movement along the negative y-axis.
c) rotating the third scroll wheel 180 provides a rotation about the x-axis, while tilting it from “left” to “right” provides a movement along the positive x-axis, and tilting it from “right” to “left” provides a movement along the negative x-axis.
15. The 3D mouse of claim 1 wherein said mouse has an optical sensor to detect said mouse movement on the surface.
16. The 3D mouse of claim 1 wherein said computer mouse has a laser sensor to detect said mouse movement on the surface.
17. The 3D mouse of claim 1 wherein said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 use optical encoding disks including light holes, wherein infrared LED's shine through the disks and sensors gather light pulses to convert the rotation of the scroll wheel into inputs for θ, φ, and ρ.
18. The 3D mouse of claim 1 wherein said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 are fixed wheels enable to detect the movement of the user's finger in two perpendicular directions by using capacitive sensors.
19. The 3D mouse of claim 1 wherein said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel 180 are fixed wheels with a light hole to enable detecting the movement of the user's finger by using a special-purpose image processing chip.
20. The 3D mouse of claim 1 wherein two or three of said first scroll wheel 160, second scroll wheel 170, and third scroll wheel 180 are on the same side of said computer mouse to be rotated by one user's finger.
21. The 3D mouse of claim 1 further allows applying forces, vibration, or motion to said first scroll wheel 160, said second scroll wheel 170, and said third scroll wheel to make the user feels weight, shape, texture, dimension, or force effects while using said 3D mouse to move the computer cursor or an object on the computer display.
22. The computer cursor of claim 2 further numerical digits are shown on the computer display; beside the solid line 110 to indicate the input value of ρ, beside the horizontal circular portion 140 to indicate the input value of θ, and beside the vertical circular portion 150 to indicate the input value of φ.
23. The computer cursor of claim 2 further a regular computer cursor is provided on the computer display, where said regular computer cursor is manipulated to move in two dimensions by providing the two component x and y of the Cartesian coordinate system to the computer system, and said spherical cursor is manipulated to move in three dimensions by providing the three components θ, φ, or ρ of the spherical coordinate system to the computer system, wherein one of said regular computer cursor or said spherical cursor can click or drag and move the other to change its position in two and/or three dimension on the computer display.
24. The computer cursor of claim 2 whereas it is moved on the xy-plane on the computer display, which means there no input provided for φ to the computer system, which means in this case, the vertical circular portion 150 of said computer cursor doesn't exist.
25. The computer cursor of claim 2 whereas it is moved on the xz-plane on the computer display, which means there no input provided for θ to the computer system, which means in this case, the horizontal circular portion 140 of said computer cursor doesn't exist.
26. The computer cursor of claim 2 whereas it is moved on a specific plane on the computer display where the computer system considers said specific plane as an xy-plane, which means there no input provided for φ to the computer system, which means in this case, the vertical circular portion 150 doesn't exist, and when the user provides an input for φ to the computer system then the computer system recognizes the user's need to move in three dimensions out of said specific plane, and then the vertical circular portion 150 exists which means appears on the computer display.
27. The spherical cursor of claim 2 wherein said horizontal circular portion 140 and said vertical circular portion 150 are a line which is a projection of said solid line 110 on the xy-plane on the computer display to indicate the inclination of the solid line 110 in three dimensions.
28. The method of claim 3 whereas the input for θ and/or φ are provided to the computer system before the input for ρ, to enable the computer system to identify the user's need to move the computer cursor in lines on the computer display.
29. The method of claim 3 whereas the input for ρ is provided to the computer system before the input for θ and/or φ to enable the computer system to identify the user's need to move the computer cursor in curves on the computer display.
30. The method of claim 3 whereas each of θ, φ, and ρ has a step value which indicates the smallest numerical unit used that can be multiplied to provide the input value for θ, φ, or ρ to the computer system to move the computer cursor on specific grid on the computer display.
31. The method of claim 3 whereas the computer cursor is targeting a spot on a plane in 3D on the computer display, wherein the value of ρ is not provided to the computer system where the computer system calculates it mathematically, by solving the intersection equation between the equation of the dotted line 100 of the spherical cursor which is defined by its start point 120 coordinates, and the two angle θ and φ, and the equation of said targeted plane.
32. The method of claim 3 further providing the input for θ, φ, and ρ to the computer system by moving an object whereas:
a) horizontally moving said object clockwise or counterclockwise provides, respectively, a negative or positive input for θ.
b) vertically moving said object clockwise or counterclockwise provides, respectively, a negative or positive input for φ.
c) moving said object forward or backward provides, respectively, a positive or negative input for ρ.
33. The method of claim 3 wherein the input of θ is provided to the computer system by a regular mouse movement on a surface where rotating said mouse horizontally on said surface rotates the computer cursor horizontally on the computer display, and the input of φ is provided to the computer mouse by rotating a scroll wheel on said mouse where rotating said scroll wheel rotates the computer cursor vertically on the computer display, where said mouse movement and said scroll wheel's rotation enable the computer cursor's direction to scan the computer display in 3D horizontally and vertically.
34. The method of claim 3 wherein said computer cursor is an icon to be moved in 3D on the computer display.
35. The method of claim 3 wherein said computer cursor is a menu to be moved in 3D on the computer display.
36. The method of claim 3 wherein said computer cursor is a virtual camera's orientation to be moved on in 3D the computer display.
37. The method of claim 3 wherein said computer cursor is an object to be moved in 3D on the computer display.
38. The device of claim 4 wherein said first scroll wheel is a first press button to be pressed by the user's thumb finger during the user's hand rotation to provide an input for θ to the computer system, and said second scroll wheel is a second press button to be pressed by the user's index or middle finger during the user's hand rotation to provide an input for φ to the computer system.
39. The device of claim 4 wherein said first scroll wheel is an optical sensor to detect the horizontal rotation of the user's thumb finger during the user's hand rotation to provide an input for θ to the computer system, and said second scroll wheel is an optical sensor to detect the vertical rotation of the user's index or middle finger during the user's hand rotation to provide an input for φ to the computer system.
40. The device of claim 4 further applying forces, vibration, or motion to said first scroll wheel, and said second scroll wheel to make the user feel haptic feedback such as weight, shape, texture, dimension, and force effects while using said device to move the computer cursor or an object on the computer display.
41. The ring mouse of claim 5 further each of said first scroll wheel 200, said second scroll wheel 210, and said third scroll wheel 220 can be pressed lightly by the user's thumb finger during the rotation to touch a sensor that generates a signal to the computer system identifying that a specific scroll wheel is pressed during its rotation.
42. The ring mouse of claim 5 further said ring is a cube to hold the components of said ring mouse whereas an appendage is attached to said cube to be wrapped around the user's finger with Velcro-like fabric.
43. The ring mouse of claim 5 further each of said first scroll wheel 200, said second scroll wheel 210, and said third scroll wheel 220 utilizes a digital sensor to detect said scroll wheel's rotation.
44. The ring mouse of claim 5 further allows applying forces, vibration, or motion to said first scroll wheel 190, said second scroll wheel 200, and said third scroll 210 wheel to make the user feel haptic feedback such as weight, shape, texture, dimension, and force effects while using said ring mouse to move the computer cursor or an object on the computer display
45. The 3D trackball of claim 6 further provides six-degrees-of-freedom (6 DOF) motion control to the computer system whereas:
a) to move along the x-axis on the computer display, the first section 300 is rotated horizontally by the thumb finger to press on the first button 250 and the second button 260.
b) to move along the y-axis on the computer display, the third section 320 is rotated up or down by the index finger to press, respectively, on the first button 250 and the fourth button 280, or on the second button 260 and the third button 270.
c) to move along the z-axis on the computer display, the second section 310 is rotated vertically by the middle finger to press on the third button 270 and the fourth button 280.
d) to rotate about the x-axis on the computer display, the third section 320 is rotated up or down by the index finger while pushing the first section 300 laterally by the thumb finger to press on the first button 250 and the second button 260.
e) to rotate about the y-axis on the computer display, the second section 310 is rotated vertically by the middle finger while pushing the third section 320 laterally by the index finger to press on the second button 260 and the third button 270.
f) to rotate about the z-axis on the computer display, the first section 300 is rotated horizontally by the thumb finger while pushing vertically the top point of the third section 320 by the index finger to prevent the ball from pressing on any of the four buttons.
46. The 3D trackball of claim 6 wherein said 3D trackball is incorporated on a top side of a computer keyboard.
47. The 3D trackball of claim 6 wherein said 3D trackball is incorporated on the top side or a computer mouse.
48. The 3D trackball of claim 6 wherein said optical sensor 290 is a laser sensor to detect the rotational direction of said ball 230.
49. The 3D trackball of claim 6 wherein each of said first button 250, second button 260, third button 270, and fourth button 280 are two-way digital buttons that can be “ON” when it is pressed and be “OFF” when it is not pressed.
50. The 3D trackball of claim 6 further allows applying forces, vibration, or motion to said ball 230 to make the user feel haptic feedback such as weight, shape, texture, dimension, and force effects while using said 3D trackball to move the computer cursor or an object on the computer display.
51. The horizontal tilt wheel of claim 7 wherein said horizontal tilt wheel is incorporated on the top side of a computer keyboard.
52. The horizontal tilt wheel of claim 7 wherein said horizontal tilt wheel is incorporated on the top side of a computer mouse.
53. The horizontal tilt wheel of claim 7 wherein said horizontal tilt wheel is attached to a finger ring to be put on the index or middle finger of the user's hand and be operated by the thumb finger.
54. The horizontal tilt wheel of claim 7 further said horizontal scroll wheel 360 utilizes a digital sensor to provide the computer system with digital data representing the horizontal rotation of said horizontal scroll wheel.
55. The horizontal tilt wheel of claim 7 further said first button 360, said second button 370, said third button 380, and said fourth button 390 are a four-way analog sensor with its printed circuit board to process raw analog signals and convert them into digital signals that can be used for the microprocessor of the computer system.
56. The horizontal tilt wheel of claim 7 further said first button 360, said second button 370, said third button 380, and said fourth button 390 are a 4-way digital sensor with its related PCB to provide four independent digital ON-OFF signals that can be used for the microprocessor of the computer system.
57. The horizontal tilt wheel of claim 7 further allows applying forces, vibration, or motion to said horizontal scroll wheel 330 to make the user feel haptic feedback such as weight, shape, texture, dimension, and force effects while using said horizontal tilt wheel to move the computer cursor or an object on the computer display.
58. The 3D Mouse of claim 8 further provides six-degrees-of-freedom (6 DOF) motion control to the computer system whereas:
a) to move along the x-axis on the computer display, the first scroll wheel 160 is rotated horizontally by the thumb finger.
b) to move along the y-axis on the computer display, the third scroll wheel 180 is rotated up or down by the index finger.
c) to move along the z-axis on the computer display, the second scroll wheel 170 is rotated vertically by the middle or ring finger.
d) to rotate about the x-axis on the computer display, the third scroll wheel 180 is rotated up or down while pressing it lightly by the index finger.
e) to rotate about the y-axis on the computer display, the second scroll wheel 170 is rotated vertically while pressing it lightly by the middle or ring finger.
e) to rotate about the z-axis on the computer display, the first scroll wheel 160 is rotated horizontally while pressing it lightly by the thumb finger.
59. The 3D mouse of claim 10 wherein said mouse movement on a surface provides an input for x and y mouse movement on said surface to the computer system, where the x and y values represent an input for θ, φ, or ρ equal to (x2+y2)0.5, where said input is positive if the mouse movement is forward, and said input is negative if the mouse movement is backward.
60. The 3D mouse of claim 10 wherein said mouse movement on a surface provides an input for x and y mouse movement on said surface to the computer system, where said mouse movement represents; positive input for θ if the movement is in the direction of the positive x-axis, negative input for θ if the movement is in the direction of the negative x-axis, positive input for φ if the movement is in the direction of the positive y-axis, negative input for φ if the movement is in the direction of the negative y-axis, negative input for ρ if the movement's direction is between the positive x and y-axis, and negative input for ρ if the movement's direction is between the negative x and y-axis.
61. The 3D mouse of claim 12 wherein said user's finger movement on said touch-sensitive pad provides the computer system with; positive input for θ when the movement is a counterclockwise 520, negative input for θ when the movement is clockwise 530, positive input for φ when the movement is vertical 540 from “down” to “up”, negative input for φ when the movement is vertical 550 from “up” to “down”, positive input for ρ when the movement is horizontal 560 from “left” to “right”, and negative input for ρ when the movement is horizontal 570 from “right” to “left”.
62. The method of claim 30 whereas the step value of θ is equal to 90, and the step value of φ is equal to 90 which means the computer cursor moves on the computer display parallel to the x, y, or z-axis of the Cartesian coordinate system.
63. The method of claim 30 whereas said step value is a multiple-step which consists of a plurality of values as opposed to only one value.
64. The method of claim 31 wherein said spot on said plane is an icon, menu, or object where said icon, menu, or object is highlighted or its color or shape changed when it intersects with the direction of the computer cursor on the computer display.
65. The method of claim 32 whereas said object is a user's finger that is moved on a touch-sensitive pad to provide input for θ, φ, and ρ to the computer system.
66. The method of claim 32 whereas said object is a pointing stick.
67. The method of claim 32 whereas said object is a joystick.
68. The method of claim 32 wherein said object is a computer mouse that can be moved in steps comprised of:
a) moving the computer mouse on a surface horizontally parallel to the positive or negative x-axis to provide, respectively, positive or negative input for θ.
b) moving the computer mouse on a surface vertically parallel to the positive or negative y-axis to provide, respectively, positive or negative input for φ.
c) moving the computer mouse on a surface, inwards/closer to the horizontal direction of the spherical cursor to provide positive input for ρ, or inwards/closer to the opposite horizontal direction of the spherical cursor to provide negative input for ρ.
69. The method of claim 32 to provide positional information to the computer system to move the computer cursor of claim 2 in two dimensions using the polar coordinate system, wherein said object is a computer mouse that is moved in steps comprised of:
a) moving said mouse on a surface in a specific direction for less than one inch where the direction of said mouse movement manipulates the dotted line 100 to the same direction on the computer display to provide an input for θ to the computer system.
b) moving said mouse on a surface in or close to the direction of said dotted line 100 for one inch or more to move the solid line 110 a relative distance on the computer display to provide an input for ρ to the computer system.
US11/654,740 2006-07-06 2007-01-18 Spherical coordinates cursor, mouse, and method Abandoned US20080010616A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/654,740 US20080010616A1 (en) 2006-07-06 2007-01-18 Spherical coordinates cursor, mouse, and method
US11/906,520 US20080062126A1 (en) 2006-07-06 2007-10-01 3D method and system for hand-held devices

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/EG2006/000025 WO2008003331A1 (en) 2006-07-06 2006-07-06 3d mouse and method
EGPCT/EG06/00036 2006-10-04
US11/564,882 US7969418B2 (en) 2006-11-30 2006-11-30 3-D computer input device and method
US11/654,740 US20080010616A1 (en) 2006-07-06 2007-01-18 Spherical coordinates cursor, mouse, and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
EGPCT/EG06/00036 Continuation-In-Part 2006-07-06 2006-10-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/906,520 Continuation-In-Part US20080062126A1 (en) 2006-07-06 2007-10-01 3D method and system for hand-held devices

Publications (1)

Publication Number Publication Date
US20080010616A1 true US20080010616A1 (en) 2008-01-10

Family

ID=38936169

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/564,882 Expired - Fee Related US7969418B2 (en) 2006-07-06 2006-11-30 3-D computer input device and method
US11/654,740 Abandoned US20080010616A1 (en) 2006-07-06 2007-01-18 Spherical coordinates cursor, mouse, and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/564,882 Expired - Fee Related US7969418B2 (en) 2006-07-06 2006-11-30 3-D computer input device and method

Country Status (2)

Country Link
US (2) US7969418B2 (en)
WO (1) WO2008064690A2 (en)

Cited By (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080024447A1 (en) * 2006-07-31 2008-01-31 Sandio Technology Corp. Multidimensional Mouse and Stabilizer Therefor
US20090254869A1 (en) * 2008-04-06 2009-10-08 Ludwig Lester F Multi-parameter extraction algorithms for tactile images from user interface tactile sensor arrays
US20100044121A1 (en) * 2008-08-15 2010-02-25 Simon Steven H Sensors, algorithms and applications for a high dimensional touchpad
US20100107127A1 (en) * 2008-10-23 2010-04-29 Samsung Electronics Co., Ltd. Apparatus and method for manipulating virtual object
US20100315336A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device Using Proximity Sensing
US20100315335A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device with Independently Movable Portions
US20110055722A1 (en) * 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US20110058711A1 (en) * 2009-09-04 2011-03-10 Takurou Noda Information Processing Apparatus, Method for Controlling Display, and Program for Controlling Display
US20110066933A1 (en) * 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US20110074681A1 (en) * 2009-09-29 2011-03-31 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Computer mouse
US20110080341A1 (en) * 2009-10-01 2011-04-07 Microsoft Corporation Indirect Multi-Touch Interaction
US20110122061A1 (en) * 2009-11-25 2011-05-26 Fredrik Martin Stenmark Optical trackpad module and method of using same
US20110128226A1 (en) * 2008-10-06 2011-06-02 Jens Martin Jensen Scroll wheel
US20110202889A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Enhanced roll-over, button, menu, slider, and hyperlink environments for high dimensional touchpad (htpd), other advanced touch user interfaces, and advanced mice
US20120006139A1 (en) * 2010-07-12 2012-01-12 Hyundai Motor Company Auto transmission lever mouse device for shift by wire system
US20120075181A1 (en) * 2009-03-22 2012-03-29 Cherif Atia Algreatly 3D computer cursor
US20120081284A1 (en) * 2010-10-01 2012-04-05 Primax Electronics Ltd. Mouse with rotatable operation module
US20130092011A1 (en) * 2011-10-13 2013-04-18 Casio Computer Co., Ltd. Switch device and electronic musical instrument
US20130120259A1 (en) * 2011-11-14 2013-05-16 Logitech Europe S.A. Input device with multiple touch-sensitive zones
US8477111B2 (en) 2008-07-12 2013-07-02 Lester F. Ludwig Advanced touch control of interactive immersive imaging applications via finger angle using a high dimensional touchpad (HDTP) touch user interface
WO2013104570A1 (en) * 2012-01-09 2013-07-18 Movea Command of a device by gesture emulation of touch gestures
US8509542B2 (en) 2009-03-14 2013-08-13 Lester F. Ludwig High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size and location using running sums
US20140078057A1 (en) * 2012-09-14 2014-03-20 International Business Machines Corporation Slither sensor
US8702513B2 (en) 2008-07-12 2014-04-22 Lester F. Ludwig Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8717303B2 (en) 1998-05-15 2014-05-06 Lester F. Ludwig Sensor array touchscreen recognizing finger flick gesture and other touch gestures
US8732620B2 (en) 2012-05-23 2014-05-20 Cyberlink Corp. Method and system for a more realistic interaction experience using a stereoscopic cursor
US20140152558A1 (en) * 2012-11-30 2014-06-05 Tom Salter Direct hologram manipulation using imu
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US8797288B2 (en) 2011-03-07 2014-08-05 Lester F. Ludwig Human user interfaces utilizing interruption of the execution of a first recognized gesture with the execution of a recognized second gesture
US8957855B2 (en) 2012-06-25 2015-02-17 Cyberlink Corp. Method for displaying a stereoscopic cursor among stereoscopic objects
US9032818B2 (en) 2012-07-05 2015-05-19 Nextinput, Inc. Microelectromechanical load sensor and methods of manufacturing the same
US9052772B2 (en) 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
CN105103090A (en) * 2013-02-07 2015-11-25 通用电子有限公司 System and methods for providing orientation compensation in pointing devices
CN105468176A (en) * 2015-11-20 2016-04-06 小米科技有限责任公司 Air mouse remote control optimization method and device as well as air mouse remote control
CN105487685A (en) * 2015-11-20 2016-04-13 小米科技有限责任公司 Optimization method and apparatus for air mouse remote controller and terminal device
US9487388B2 (en) 2012-06-21 2016-11-08 Nextinput, Inc. Ruggedized MEMS force die
US9605881B2 (en) 2011-02-16 2017-03-28 Lester F. Ludwig Hierarchical multiple-level control of adaptive cooling and energy harvesting arrangements for information technology
US9626023B2 (en) 2010-07-09 2017-04-18 Lester F. Ludwig LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors
US9632344B2 (en) 2010-07-09 2017-04-25 Lester F. Ludwig Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
US9902611B2 (en) 2014-01-13 2018-02-27 Nextinput, Inc. Miniaturized and ruggedized wafer level MEMs force sensors
US9950256B2 (en) 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
US20180130243A1 (en) * 2016-11-08 2018-05-10 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
US20180196503A1 (en) * 2015-09-18 2018-07-12 Sony Corporation Information processing device, information processing method, and program
US20180267616A1 (en) * 2015-01-23 2018-09-20 Sony Corporation Information processing apparatus, information processing method, and program
US10146427B2 (en) 2010-03-01 2018-12-04 Nri R&D Patent Licensing, Llc Curve-fitting approach to high definition touch pad (HDTP) parameter extraction
WO2019148505A1 (en) 2018-02-05 2019-08-08 Microsoft Technology Licensing, Llc. Double-wheel assembly
WO2019177849A1 (en) * 2018-03-15 2019-09-19 Saras-3D, Inc. Enhance 2d/3d mouse for computer display interactions
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US10466119B2 (en) 2015-06-10 2019-11-05 Nextinput, Inc. Ruggedized wafer level MEMS force sensor with a tolerance trench
US10591988B2 (en) * 2016-06-28 2020-03-17 Hiscene Information Technology Co., Ltd Method for displaying user interface of head-mounted display device
US10768721B2 (en) 2017-01-17 2020-09-08 Hewlett-Packard Development Company, L.P. Model controller
US10928932B2 (en) * 2019-11-22 2021-02-23 Cheman Shaik 3D mouse for computers
US10962427B2 (en) 2019-01-10 2021-03-30 Nextinput, Inc. Slotted MEMS force sensor
US11099658B2 (en) 2017-04-21 2021-08-24 Hewlett-Packard Development Company, L.P. Determining orientation of a trackball
US11221263B2 (en) 2017-07-19 2022-01-11 Nextinput, Inc. Microelectromechanical force sensor having a strain transfer layer arranged on the sensor die
US11243125B2 (en) 2017-02-09 2022-02-08 Nextinput, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
US11243126B2 (en) 2017-07-27 2022-02-08 Nextinput, Inc. Wafer bonded piezoresistive and piezoelectric force sensor and related methods of manufacture
US11255737B2 (en) 2017-02-09 2022-02-22 Nextinput, Inc. Integrated digital force sensors and related methods of manufacture
US11385108B2 (en) 2017-11-02 2022-07-12 Nextinput, Inc. Sealed force sensor with etch stop layer
US11423686B2 (en) 2017-07-25 2022-08-23 Qorvo Us, Inc. Integrated fingerprint and force sensor
US11579028B2 (en) 2017-10-17 2023-02-14 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
US20230333669A1 (en) * 2019-10-18 2023-10-19 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US20230393670A1 (en) * 2022-06-04 2023-12-07 Joy Wang Lismart computer pointing device
US11859961B2 (en) 2018-01-25 2024-01-02 Neonode Inc. Optics for vehicle occupant monitoring systems
US11874185B2 (en) 2017-11-16 2024-01-16 Nextinput, Inc. Force attenuator for force sensor
US11965787B2 (en) 2022-07-08 2024-04-23 Nextinput, Inc. Sealed force sensor with etch stop layer

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451271B1 (en) * 2007-10-30 2014-10-16 삼성전자주식회사 Broadcast receiving apparatus and control method thereof
JP2010170388A (en) * 2009-01-23 2010-08-05 Sony Corp Input device and method, information processing apparatus and method, information processing system, and program
KR101037497B1 (en) * 2009-08-21 2011-05-26 한국과학기술원 Three-dimensional navigation system for contents guide and method thereof
US10209781B2 (en) * 2012-06-12 2019-02-19 Logitech Europe S.A. Input device with contoured region
KR101407329B1 (en) * 2012-11-16 2014-06-16 선문대학교 산학협력단 Display apparatus having touch screen and screen control method thereof
WO2018067130A1 (en) 2016-10-04 2018-04-12 Hewlett-Packard Development Company, L.P. Three-dimensional input device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095303A (en) * 1990-03-27 1992-03-10 Apple Computer, Inc. Six degree of freedom graphic object controller
US20040150623A1 (en) * 2001-04-30 2004-08-05 Microsoft Corporation Input device including a wheel assembly for scrolling an image in multiple directions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161103A (en) * 1994-12-05 1996-06-21 Matsushita Electric Ind Co Ltd Three-dimensional information input device
KR100243031B1 (en) * 1996-11-27 2000-02-01 구자홍 Apparatus for moving a cursor on a screen
US20030142065A1 (en) * 2002-01-28 2003-07-31 Kourosh Pahlavan Ring pointer device with inertial sensors
DE10337914A1 (en) * 2003-08-18 2005-03-31 3Dconnexion Gmbh Computer-based manipulation of real or virtual objects using two input units operated with both hands, one for two-dimensional manipulation and the other for three-dimensional movement
GB0408880D0 (en) * 2004-04-21 2004-05-26 Ci3 Ltd Controller
US8009138B2 (en) * 2005-05-09 2011-08-30 Sandio Technology Corporation Multidimensional input device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095303A (en) * 1990-03-27 1992-03-10 Apple Computer, Inc. Six degree of freedom graphic object controller
US20040150623A1 (en) * 2001-04-30 2004-08-05 Microsoft Corporation Input device including a wheel assembly for scrolling an image in multiple directions

Cited By (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8878807B2 (en) 1998-05-15 2014-11-04 Lester F. Ludwig Gesture-based user interface employing video camera
US8743068B2 (en) 1998-05-15 2014-06-03 Lester F. Ludwig Touch screen method for recognizing a finger-flick touch gesture
US8717303B2 (en) 1998-05-15 2014-05-06 Lester F. Ludwig Sensor array touchscreen recognizing finger flick gesture and other touch gestures
US8866785B2 (en) 1998-05-15 2014-10-21 Lester F. Ludwig Sensor array touchscreen recognizing finger flick gesture
US8878810B2 (en) 1998-05-15 2014-11-04 Lester F. Ludwig Touch screen supporting continuous grammar touch gestures
US9304677B2 (en) 1998-05-15 2016-04-05 Advanced Touchscreen And Gestures Technologies, Llc Touch screen apparatus for recognizing a touch gesture
US8743076B1 (en) 1998-05-15 2014-06-03 Lester F. Ludwig Sensor array touchscreen recognizing finger flick gesture from spatial pressure distribution profiles
WO2008016954A2 (en) * 2006-07-31 2008-02-07 Sandio Technology Corp. Multidimensional mouse and stabilizer therefor
WO2008016954A3 (en) * 2006-07-31 2008-05-22 Sandio Technology Corp Multidimensional mouse and stabilizer therefor
US20080024447A1 (en) * 2006-07-31 2008-01-31 Sandio Technology Corp. Multidimensional Mouse and Stabilizer Therefor
US20090254869A1 (en) * 2008-04-06 2009-10-08 Ludwig Lester F Multi-parameter extraction algorithms for tactile images from user interface tactile sensor arrays
US9019237B2 (en) 2008-04-06 2015-04-28 Lester F. Ludwig Multitouch parameter and gesture user interface employing an LED-array tactile sensor that can also operate as a display
US8477111B2 (en) 2008-07-12 2013-07-02 Lester F. Ludwig Advanced touch control of interactive immersive imaging applications via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8894489B2 (en) 2008-07-12 2014-11-25 Lester F. Ludwig Touch user interface supporting global and context-specific touch gestures that are responsive to at least one finger angle
US8638312B2 (en) 2008-07-12 2014-01-28 Lester F. Ludwig Advanced touch control of a file browser via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8643622B2 (en) 2008-07-12 2014-02-04 Lester F. Ludwig Advanced touch control of graphics design application via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8542209B2 (en) 2008-07-12 2013-09-24 Lester F. Ludwig Advanced touch control of interactive map viewing via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8702513B2 (en) 2008-07-12 2014-04-22 Lester F. Ludwig Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface
US8604364B2 (en) 2008-08-15 2013-12-10 Lester F. Ludwig Sensors, algorithms and applications for a high dimensional touchpad
US20100044121A1 (en) * 2008-08-15 2010-02-25 Simon Steven H Sensors, algorithms and applications for a high dimensional touchpad
US20110128226A1 (en) * 2008-10-06 2011-06-02 Jens Martin Jensen Scroll wheel
US8350811B2 (en) * 2008-10-06 2013-01-08 Jens Martin Jensen Scroll wheel
US8402393B2 (en) * 2008-10-23 2013-03-19 Samsung Electronics Co., Ltd. Apparatus and method for manipulating virtual object
US20100107127A1 (en) * 2008-10-23 2010-04-29 Samsung Electronics Co., Ltd. Apparatus and method for manipulating virtual object
US8509542B2 (en) 2009-03-14 2013-08-13 Lester F. Ludwig High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size and location using running sums
US8639037B2 (en) 2009-03-14 2014-01-28 Lester F. Ludwig High-performance closed-form single-scan calculation of oblong-shape rotation angles from image data of arbitrary size and location using running sums
US20120075181A1 (en) * 2009-03-22 2012-03-29 Cherif Atia Algreatly 3D computer cursor
US9035877B2 (en) * 2009-03-22 2015-05-19 Cherif Atia Algreatly 3D computer cursor
US9703398B2 (en) 2009-06-16 2017-07-11 Microsoft Technology Licensing, Llc Pointing device using proximity sensing
US20100315335A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device with Independently Movable Portions
US20100315336A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device Using Proximity Sensing
US8826114B2 (en) 2009-09-02 2014-09-02 Lester F. Ludwig Surface-curve graphical intersection tools and primitives for data visualization, tabular data, and advanced spreadsheets
US8826113B2 (en) 2009-09-02 2014-09-02 Lester F. Ludwig Surface-surface graphical intersection tools and primitives for data visualization, tabular data, and advanced spreadsheets
US20110055722A1 (en) * 2009-09-02 2011-03-03 Ludwig Lester F Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization
US20110066933A1 (en) * 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US9665554B2 (en) 2009-09-02 2017-05-30 Lester F. Ludwig Value-driven visualization primitives for tabular data of spreadsheets
US8687845B2 (en) * 2009-09-04 2014-04-01 Sony Corporation Information processing apparatus, method for controlling display, and program for controlling display
US20110058711A1 (en) * 2009-09-04 2011-03-10 Takurou Noda Information Processing Apparatus, Method for Controlling Display, and Program for Controlling Display
US20110074681A1 (en) * 2009-09-29 2011-03-31 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Computer mouse
US9513798B2 (en) 2009-10-01 2016-12-06 Microsoft Technology Licensing, Llc Indirect multi-touch interaction
US20110080341A1 (en) * 2009-10-01 2011-04-07 Microsoft Corporation Indirect Multi-Touch Interaction
US8390569B2 (en) 2009-11-25 2013-03-05 Research In Motion Limited Optical trackpad module and method of using same
US20110122061A1 (en) * 2009-11-25 2011-05-26 Fredrik Martin Stenmark Optical trackpad module and method of using same
US20110202889A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Enhanced roll-over, button, menu, slider, and hyperlink environments for high dimensional touchpad (htpd), other advanced touch user interfaces, and advanced mice
US9830042B2 (en) 2010-02-12 2017-11-28 Nri R&D Patent Licensing, Llc Enhanced roll-over, button, menu, slider, and hyperlink environments for high dimensional touchpad (HTPD), other advanced touch user interfaces, and advanced mice
US20110202934A1 (en) * 2010-02-12 2011-08-18 Ludwig Lester F Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces
US10146427B2 (en) 2010-03-01 2018-12-04 Nri R&D Patent Licensing, Llc Curve-fitting approach to high definition touch pad (HDTP) parameter extraction
US9626023B2 (en) 2010-07-09 2017-04-18 Lester F. Ludwig LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors
US9632344B2 (en) 2010-07-09 2017-04-25 Lester F. Ludwig Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
US20120006139A1 (en) * 2010-07-12 2012-01-12 Hyundai Motor Company Auto transmission lever mouse device for shift by wire system
US8960039B2 (en) * 2010-07-12 2015-02-24 Hyundai Motor Company Auto transmission lever mouse device for shift by wire system
US9950256B2 (en) 2010-08-05 2018-04-24 Nri R&D Patent Licensing, Llc High-dimensional touchpad game controller with multiple usage and networking modalities
US8614678B2 (en) * 2010-10-01 2013-12-24 Primax Electronics Ltd Mouse with rotatable operation module
US20120081284A1 (en) * 2010-10-01 2012-04-05 Primax Electronics Ltd. Mouse with rotatable operation module
US9605881B2 (en) 2011-02-16 2017-03-28 Lester F. Ludwig Hierarchical multiple-level control of adaptive cooling and energy harvesting arrangements for information technology
US9442652B2 (en) 2011-03-07 2016-09-13 Lester F. Ludwig General user interface gesture lexicon and grammar frameworks for multi-touch, high dimensional touch pad (HDTP), free-space camera, and other user interfaces
US8797288B2 (en) 2011-03-07 2014-08-05 Lester F. Ludwig Human user interfaces utilizing interruption of the execution of a first recognized gesture with the execution of a recognized second gesture
US10073532B2 (en) 2011-03-07 2018-09-11 Nri R&D Patent Licensing, Llc General spatial-gesture grammar user interface for touchscreens, high dimensional touch pad (HDTP), free-space camera, and other user interfaces
US9052772B2 (en) 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
US20130092011A1 (en) * 2011-10-13 2013-04-18 Casio Computer Co., Ltd. Switch device and electronic musical instrument
US8907190B2 (en) * 2011-10-13 2014-12-09 Casio Computer Co., Ltd. Switch device and electronic musical instrument
US9201559B2 (en) 2011-11-14 2015-12-01 Logitech Europe S.A. Method of operating a multi-zone input device
US20130120259A1 (en) * 2011-11-14 2013-05-16 Logitech Europe S.A. Input device with multiple touch-sensitive zones
US9489061B2 (en) 2011-11-14 2016-11-08 Logitech Europe S.A. Method and system for power conservation in a multi-zone input device
US9367146B2 (en) * 2011-11-14 2016-06-14 Logiteh Europe S.A. Input device with multiple touch-sensitive zones
US9182833B2 (en) 2011-11-14 2015-11-10 Logitech Europe S.A. Control system for multi-zone input device
US9823781B2 (en) 2011-12-06 2017-11-21 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types
US10042479B2 (en) 2011-12-06 2018-08-07 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types using spatial information processing
US10430066B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US10429997B2 (en) 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Heterogeneous tactile sensing via multiple sensor types using spatial information processing acting on initial image processed data from each sensor
WO2013104570A1 (en) * 2012-01-09 2013-07-18 Movea Command of a device by gesture emulation of touch gestures
US9841827B2 (en) 2012-01-09 2017-12-12 Movea Command of a device by gesture emulation of touch gestures
US8732620B2 (en) 2012-05-23 2014-05-20 Cyberlink Corp. Method and system for a more realistic interaction experience using a stereoscopic cursor
US9493342B2 (en) 2012-06-21 2016-11-15 Nextinput, Inc. Wafer level MEMS force dies
US9487388B2 (en) 2012-06-21 2016-11-08 Nextinput, Inc. Ruggedized MEMS force die
US8957855B2 (en) 2012-06-25 2015-02-17 Cyberlink Corp. Method for displaying a stereoscopic cursor among stereoscopic objects
US9032818B2 (en) 2012-07-05 2015-05-19 Nextinput, Inc. Microelectromechanical load sensor and methods of manufacturing the same
US9811182B2 (en) * 2012-09-14 2017-11-07 International Business Machines Corporation Slither sensor
US20140078057A1 (en) * 2012-09-14 2014-03-20 International Business Machines Corporation Slither sensor
US20140152558A1 (en) * 2012-11-30 2014-06-05 Tom Salter Direct hologram manipulation using imu
CN105103090A (en) * 2013-02-07 2015-11-25 通用电子有限公司 System and methods for providing orientation compensation in pointing devices
US9902611B2 (en) 2014-01-13 2018-02-27 Nextinput, Inc. Miniaturized and ruggedized wafer level MEMs force sensors
US20180267616A1 (en) * 2015-01-23 2018-09-20 Sony Corporation Information processing apparatus, information processing method, and program
US11068063B2 (en) * 2015-01-23 2021-07-20 Sony Corporation Information processing apparatus and method for adjusting detection information based on movement imparted by a vibrator
US10466119B2 (en) 2015-06-10 2019-11-05 Nextinput, Inc. Ruggedized wafer level MEMS force sensor with a tolerance trench
US10564712B2 (en) * 2015-09-18 2020-02-18 Sony Corporation Information processing device, information processing method, and program
US20180196503A1 (en) * 2015-09-18 2018-07-12 Sony Corporation Information processing device, information processing method, and program
CN105487685A (en) * 2015-11-20 2016-04-13 小米科技有限责任公司 Optimization method and apparatus for air mouse remote controller and terminal device
CN105468176A (en) * 2015-11-20 2016-04-06 小米科技有限责任公司 Air mouse remote control optimization method and device as well as air mouse remote control
US11360551B2 (en) * 2016-06-28 2022-06-14 Hiscene Information Technology Co., Ltd Method for displaying user interface of head-mounted display device
US10591988B2 (en) * 2016-06-28 2020-03-17 Hiscene Information Technology Co., Ltd Method for displaying user interface of head-mounted display device
US20180130243A1 (en) * 2016-11-08 2018-05-10 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
US10768721B2 (en) 2017-01-17 2020-09-08 Hewlett-Packard Development Company, L.P. Model controller
US11604104B2 (en) 2017-02-09 2023-03-14 Qorvo Us, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
US11946817B2 (en) 2017-02-09 2024-04-02 DecaWave, Ltd. Integrated digital force sensors and related methods of manufacture
US11243125B2 (en) 2017-02-09 2022-02-08 Nextinput, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
US11255737B2 (en) 2017-02-09 2022-02-22 Nextinput, Inc. Integrated digital force sensors and related methods of manufacture
US11808644B2 (en) 2017-02-09 2023-11-07 Qorvo Us, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
US11099658B2 (en) 2017-04-21 2021-08-24 Hewlett-Packard Development Company, L.P. Determining orientation of a trackball
US11221263B2 (en) 2017-07-19 2022-01-11 Nextinput, Inc. Microelectromechanical force sensor having a strain transfer layer arranged on the sensor die
US11423686B2 (en) 2017-07-25 2022-08-23 Qorvo Us, Inc. Integrated fingerprint and force sensor
US11946816B2 (en) 2017-07-27 2024-04-02 Nextinput, Inc. Wafer bonded piezoresistive and piezoelectric force sensor and related methods of manufacture
US11609131B2 (en) 2017-07-27 2023-03-21 Qorvo Us, Inc. Wafer bonded piezoresistive and piezoelectric force sensor and related methods of manufacture
US11243126B2 (en) 2017-07-27 2022-02-08 Nextinput, Inc. Wafer bonded piezoresistive and piezoelectric force sensor and related methods of manufacture
US11579028B2 (en) 2017-10-17 2023-02-14 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
US11898918B2 (en) 2017-10-17 2024-02-13 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
US11385108B2 (en) 2017-11-02 2022-07-12 Nextinput, Inc. Sealed force sensor with etch stop layer
US11874185B2 (en) 2017-11-16 2024-01-16 Nextinput, Inc. Force attenuator for force sensor
US11859961B2 (en) 2018-01-25 2024-01-02 Neonode Inc. Optics for vehicle occupant monitoring systems
US11392227B2 (en) * 2018-02-05 2022-07-19 Microsoft Technology Licensing, Llc Double-wheel assembly
EP3750035A4 (en) * 2018-02-05 2021-09-08 Microsoft Technology Licensing, LLC Double-wheel assembly
CN111684396A (en) * 2018-02-05 2020-09-18 微软技术许可有限责任公司 Double-wheel assembly
WO2019148505A1 (en) 2018-02-05 2019-08-08 Microsoft Technology Licensing, Llc. Double-wheel assembly
WO2019177849A1 (en) * 2018-03-15 2019-09-19 Saras-3D, Inc. Enhance 2d/3d mouse for computer display interactions
US11698310B2 (en) 2019-01-10 2023-07-11 Nextinput, Inc. Slotted MEMS force sensor
US10962427B2 (en) 2019-01-10 2021-03-30 Nextinput, Inc. Slotted MEMS force sensor
US11893164B2 (en) * 2019-10-18 2024-02-06 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US20230333669A1 (en) * 2019-10-18 2023-10-19 Trustees Of Dartmouth College Methods and systems for eyes-free text entry
US10928932B2 (en) * 2019-11-22 2021-02-23 Cheman Shaik 3D mouse for computers
US20230393670A1 (en) * 2022-06-04 2023-12-07 Joy Wang Lismart computer pointing device
US11965787B2 (en) 2022-07-08 2024-04-23 Nextinput, Inc. Sealed force sensor with etch stop layer

Also Published As

Publication number Publication date
WO2008064690A2 (en) 2008-06-05
US7969418B2 (en) 2011-06-28
WO2008064690A3 (en) 2009-06-04
US20080129682A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
US20080010616A1 (en) Spherical coordinates cursor, mouse, and method
US11086416B2 (en) Input device for use in an augmented/virtual reality environment
Buchmann et al. FingARtips: gesture based direct manipulation in Augmented Reality
US20080062126A1 (en) 3D method and system for hand-held devices
US7683883B2 (en) 3D mouse and game controller based on spherical coordinates system and system for use
US9152248B1 (en) Method and system for making a selection in 3D virtual environment
CN101568896B (en) Information processing apparatus, input device, information processing system, information processing method
Leibe et al. The perceptive workbench: Toward spontaneous and natural interaction in semi-immersive virtual environments
WO2016097841A2 (en) Methods and apparatus for high intuitive human-computer interface and human centric wearable &#34;hyper&#34; user interface that could be cross-platform / cross-device and possibly with local feel-able/tangible feedback
US11907448B2 (en) Systems, devices, and methods for physical surface tracking with a stylus device in an AR/VR environment
WO2006047018A2 (en) Input device for controlling movement in a three dimensional virtual environment
EP2559464A1 (en) Gun-shaped game controller
KR102184243B1 (en) System for controlling interface based on finger gestures using imu sensor
US9703410B2 (en) Remote sensing touchscreen
Bai et al. Asymmetric Bimanual Interaction for Mobile Virtual Reality.
JP5658286B2 (en) Method for controlling object movement in a three-dimensional virtual environment
WO2008003331A1 (en) 3d mouse and method
Chen et al. An integrated framework for universal motion control
US20200285325A1 (en) Detecting tilt of an input device to identify a plane for cursor movement
WO1997042620A1 (en) Virtual motion controller
Schlattmann et al. Real-time bare-hands-tracking for 3D games
WO2009000280A1 (en) 3d input method and system for the hand-held devices
Yang et al. An intuitive human-computer interface for large display virtual reality applications
Nguyen 3DTouch: Towards a Wearable 3D Input Device for 3D Applications
Kazemier Low-Cost Eye-Tracking-like Control of a PC: Hardware Realization and Interpreting Data

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION