CROSS-REFERENCE TO RELATED APPLICATIONThis 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.
BACKGROUNDThe 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.
SUMMARYIn the spherical coordinate system as shown inFIG. 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: adotted line100 serving as a ray reaching all possible target points of the cursor's direction on the computer display; asolid line110 that represents the radial distal movement length of the cursor ρ, in its determined direction on the dotted line from astarting point120 to a targetedpoint130; a horizontalcircular portion140 that gives the feeling of the xy-plane and indicates the value of θ; and a verticalcircular portion150 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 numbered160,170, and180. Thefirst scroll wheel160 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. Thesecond scroll wheel170 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. Thethird scroll wheel180 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 thefirst scroll wheel160 horizontally to determine θ, the horizontal rotation of the spherical cursor in the xy-plane, then rotates thesecond scroll wheel170 vertically to determine φ, the vertical rotation of the spherical cursor perpendicular to the xy-plane, and rotates thethird scroll wheel180 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 thesecond scroll wheel170 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 fromFIG. 3, for example, thefirst scroll wheel160 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 dottedline100 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 ofFIG. 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 thestarting point120 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 thedotted line110. 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 thefirst scroll wheel160 horizontally clockwise or counterclockwise will cause the player to turn around in those respective directions. Rotating thesecond scroll wheel170 up or down will cause the player to look “up” or “down”. Rotating thethird scroll wheel180 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 thefirst scroll wheel160 controls the turning of the vehicle both left and right (yawing); rotating thesecond scroll wheel170 controls the titling of the vehicle side-to-side (rolling); and rotating thethird scroll wheel180 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 DRAWINGSFIG. 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 afirst scroll wheel160,second scroll wheel170, andthird scroll wheel180, 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 afirst scroll wheel190,second scroll wheel200,third scroll wheel210, and a void220 to pass the user's finger through.
FIG. 15.1 is a 3D trackball comprised of aball230,base240,first button250,second button260,third button270,fourth button280, andoptical sensor290.
FIG. 15.2 is a top view for the 3D trackball that indicates dividing the ball into three sections:first section300,second section310, andthird section320.
FIG. 16.1 is a horizontal tilt wheel comprised of atilt wheel330,left button340, andright button350.
FIG. 16.2 is a bottom view for the horizontal tilt wheel illustrating afirst button360,second button370,third button380, andfourth button390, 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 afirst scroll wheel400 andsecond scroll wheel410, in addition to the regular mouse components.
FIG. 18 is an alternative for the 3D mouse comprised of afirst selection switch420 andsecond selection switch430, 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 afirst scroll wheel440,second scroll wheel450, and twotouchpad surfaces460 and470, in addition to the regular mouse components.
FIG. 21 is an alternative for the 3D mouse comprised of afirst scroll wheel480,second scroll wheel490, and two pressuresensitive buttons500 and510, 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 frompoint1 to2, from point2 to3, and frompoint3 to4.
FIG. 23.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement ofFIG. 23.1.
FIG. 24.1 is a mouse movement on a surface frompoint1 to2, from point2 to4, and frompoint4 to3.
FIG. 24.2 is the spherical cursor movement in 2D on the computer display in accordance to the mouse movement ofFIG. 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 to27.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 to29.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 to33.3 are examples for moving the spherical cursor in the xz-plane on the computer display.
FIGS. 34.1 to34.3 are examples for moving the spherical cursor in the yz-plane on the computer display.
FIGS. 35.1 to35.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 and36.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 DESCRIPTIONAs described previously,FIG. 3 illustrated a 3D mouse comprised of threescroll wheels160,170 and180 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 thefirst scroll wheel160 with the thumb finger, and holding thesecond scroll wheel170 with the middle or index finger. When the user rotates his/her hand from left to right, s/he rotates thefirst scroll wheel160 and thesecond scroll wheel170 in the direction of his/her hand's rotation, where in this case thefirst scroll wheel160 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 thefirst scroll wheel160 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 thefirst scroll wheel190 can be rotated horizontally to provide immediate input for θ, thesecond scroll wheel200 can be rotated vertically to provide immediate input for φ, and thethird scroll wheel210 can be rotated up or down to provide immediate input for ρ to the computer system. Also, thefirst scroll wheel190 can be pressed down to function as the regular mouse's left button, and thesecond scroll wheel200 can be pressed laterally to function as the regular mouse's right button. The user's finger goes through thering void220 which is in the direction of the axis of thethird scroll wheel210.
The ring mouse can take another simple shape wherein thefirst scroll wheel190,second scroll wheel200, andthird scroll wheel210 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 aball230 and a base240 to hold said ball. This base has four arms and on the tip of each of them is a button: afirst button250;second button260;third button270; andfourth button280. In addition to this, there is anoptical sensor290 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 theball230 is divided into three sections:first section300;second section310; andthird section320. To use the 3D trackball to provide the input of θ to the computer system, the user rotates the ball horizontally from thefirst section300 by his/her thumb finger. To provide the input of φ, the user rotates the ball vertically from thesecond section310 by the middle or ring finger. To provide the input of ρ, the user rotates the ball inwards/backward from thethird section320 by the index or middle finger.
There is a gap between theball230 and the fourbuttons250,260,270, and280. 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 thefirst section300 using the thumb finger, the ball is moved slightly from left to right pressing on thefirst button250 and thesecond button260 during its rotation. When the user rotates thesecond section310 with the middle or ring finger, the ball is moved slightly from right to left pressing on thethird button270 and thefourth button280 during its rotation. When the user rotates thethird section320 forward with the index or middle finger, the ball is moved slightly forward pressing on thefirst button250 and thefourth button280; if the rotation is backward, then the ball is moved slightly backward pressing on thesecond button260 and thethird button270.
Theoptical sensor290 is a regular mouse optical sensor but upside down. It detects each different rotational direction of theball230. 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 ahorizontal scroll wheel330 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. Aleft button340 functions as a regular mouse left button, and aright button350 functions as a regular mouse right button.FIG. 16.2 is a bottom view for said horizontal tilt scroll wheel; it illustrates afirst button360,second button370,third button380, andfourth button390, 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, onfirst button360,second button370,third button380, orfourth button390 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 ofFIG. 3. This 3D mouse alternative is comprised of two scroll wheels instead of three, where thefirst scroll wheel400 on the left side of the 3D mouse is rotated horizontally to provide immediate input for θ, thesecond scroll wheel410 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:
ρ=(x2+y2)0.5
This is in cases where the movement of this 3D mouse is inwards/closer to the direction of the dottedline100 of the spherical cursor, and,
ρ=−(x2+y2)0.5
This is in cases where the movement of this 3D mouse is inwards/closer to the opposite direction of the dottedline100 of the spherical cursor.
FIG. 18 illustrates another 3D mouse that looks like a conventional mouse in addition to twoselection switches420, and430 on the left side of this 3D mouse. Wherein pressing thefirst selection switch420 by the thumb finger one time to be “on” and another time to be “off”, and when moving this 3D mouse while thefirst selection switch420 is “on”, then the immediate input for θ is provided. Also pressing thesecond selection switch430 by the thumb finger one time to be “on” and another time to be “off” and when moving this 3D mouse while thesecond selection switch430 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:
θ=(x2+y2)0.5
φ=(x2+y2)0.5
ρ=(x2+y2)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 ofFIG. 17.
FIG. 20 illustrates a 3D mouse comprised of ahorizontal scroll wheel440 that rotates clockwise or counterclockwise to provide immediate input for θ, andvertical scroll wheel450 that rotates up or down to provide immediate input for φ, where the input of ρ is provided by moving the user's finger ontouchpad surfaces460 and470 wherein the finger movement inwards/closer to the direction of the dottedline100 of the spherical cursor provides positive input for ρ, or the finger movement inwards/closer to the opposite direction of the dottedline100 of the spherical cursor provides negative input for ρ.
FIG. 21 illustrates a 3D mouse comprised of ahorizontal scroll wheel480 that rotates clockwise or counterclockwise to provide immediate input of θ,vertical scroll wheel490 that rotates “up or down” to provide immediate input of φ, and two pressuresensitive buttons500 and510 that detect the user's finger pressing to provide, respectively, positive or negative input for ρ to the computer system.
In the previous 3D mouse inFIG. 21, it is possible to eliminate said two pressuresensitive buttons500 and510, and make said twoscroll wheels480 and490 provide this function in addition to their rotation to provide immediate input for θ and φ. In this case, pressing thehorizontal scroll wheel480 laterally from left to right by the thumb finger provides immediate positive input for ρ, and pressing thevertical scroll wheel490 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 dottedline100 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 dottedline100 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 circularcounterclockwise movement520 provides positive input for θ and the circularclockwise movement530 provides negative input for θ. Thevertical movement540 from down to up provides positive input for φ, and thevertical movement550 from up to down provides negative input for φ. Also, thehorizontal movement560 from left to right provides positive input for ρ, and thehorizontal movement570 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 dottedline100 of the spherical cursor to provide positive input for ρ, and inwards/closer to the opposite direction of the dottedline100 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 dottedline100 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 dottedline100 to provide input for ρ, then thesolid line110 of the spherical cursor protracts to the targeted position. If the user protracts thesolid line110 more than needed, meaning passing the targeted position, the user then will retract thesolid line110 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 frompoint1 to point2 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 dottedline100 overlap with its targeted position on the computer display, accordingly, the user moved the mouse another small movement from point2 topoint3 for less than one inch to adjust the direction of the dottedline100 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 thesolid line110 of the spherical cursor to provide input for ρ; accordingly, the user moved the mouse more than one inch frompoint3 topoint4 until the solid line reached the targeted position on the computer display.
FIG. 23.2 illustrates the threespherical cursor movements580,590, and600 on the computer display that are associated, respectively, with the three mouse movements ofFIG. 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 frompoint1 to point2 is a small movement less than one inch, accordingly, it is considered to be an input for θ, where in this step, the dottedline100 of the spherical cursor reached its targeted position from the first time. The second step from point2 topoint4 is a mouse's movement greater than one inch and, accordingly, it is considered to be an input for ρ, whereas thesolid line110 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 frompoint4 topoint3, in/close to the opposite direction of the dottedline100 of the spherical cursor to get back thesolid line110 to reach the targeted position.
FIG. 24.2 illustrates the threespherical cursor movements610,620, and630 on the computer display that are associated, respectively, with the three movements by the mouse ofFIG. 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 numbered640 and650, whereregion640 defines the directions of the mouse's movements that are considered to be in or close to the direction of the dottedline100, and theregion650 defines the directions of the mouse's movements that are considered to be in the opposite or close to the opposite direction of the dottedline100. The following mathematical relationships express the values of the tworegions640 and650 accurately as follows:
(θ+90)>“region 640”>(θ−90)
(θ+90)<“region 650”<(θ−90)
According to the previous mathematical relationships, theregion640 clarifies what is meant by saying “moving the spherical mouse in/close to the direction of the dottedline100” and theregion650 clarifies what is meant by saying “moving the spherical mouse in/close to the opposite direction of the dottedline100.”
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 inFIG. 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 inFIG. 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 inFIG. 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 inFIG. 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 inFIG. 27.1 while if this value is 135 then the spherical cursor movement will be as shown inFIG. 27.2, whereas in this figure the value of ρ is equal to 2 which means the spherical cursor movement will be two units. InFIG. 27.3 the value of θ is equal to 300 and the value of ρ is equal to 1.5, and inFIG. 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 inFIG. 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 inFIG. 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 inFIG. 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 inFIG. 29.3, whereas in this example the multiple-step of θ is 135, 90 and 135.
As mentioned previously in the two diagrams inFIGS. 25.1 and25.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, whereasFIG. 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 inFIG. 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 inFIG. 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 inFIG. 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, and33.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 inFIGS. 34.1,34.2, and34.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, and35.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 and36.2 illustrate two examples for moving the spherical cursor in geometrical paths in 3D, whereFIG. 36.1 illustrates the spherical cursor movements parallel to the x, y, or z-axis, andFIG. 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 foursteps660,670,680, and690 are located in the xy-plane, hence there is no indication for φ. The7thstep720 is located in the z-axis direction; thereby there is no indication for θ. The5thstep700 and6thsteps710 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 dottedline100 of the spherical cursor, where the dottedline100 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 first160 and/or second170 scroll wheels of the present 3D mouse until s/her reaches the target, where the computer system keeps illustrating the point of intersection between thedotted line100 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, thefirst scroll wheel160, thesecond scroll wheel170, andthird scroll wheel180 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 thefirst scroll wheel160 can provide a movement along the x-axis, and its pressed rotation can provide a rotation about the z-axis. The normal rotation of thesecond scroll wheel170 can provide a movement along the z-axis, and its pressed rotation can provide a rotation about the y-axis. The normal rotation of thethird scroll wheel180 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 thefirst scroll wheel160 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 thesecond scroll wheel170 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 thethird scroll wheel180 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 ofFIG. 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 dottedline100 of the spherical cursor will provide a movement along the axis, and moving the mouse on the surface perpendicular to the direction of the dotedline100 will provide a rotation about the axis.
The 3D trackball can provide six-degrees-of-freedom, as shown inFIG. 40.1 a movement along the x, y, and z-axis is provided to the computer system, where to move along the x-axis, thefirst section300 is rotated horizontally by the thumb finger to press on thefirst button250 and thesecond button260 during the ball rotation. To move along the y-axis, thethird section320 is rotated “up” or “down” by the index finger to press, respectively, on thefirst button250 and thefourth button280, or to press on thesecond button260 and thethird button270 during the ball rotation. To move along the z-axis, thesecond section310 is rotated vertically by the middle finger to press on thethird button270 and thefourth button280.
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, thethird section320 is rotated “up or down” by the index finger while pushing thefirst section300 laterally by the thumb finger to press on thefirst button250 and thesecond button260. To rotate about the y-axis, thesecond section310 is rotated vertically by the middle finger while pushing on thethird section320 laterally by the index finger to press on thesecond button260 and thethird button270. To rotate about the z-axis, thefirst section300 is rotated horizontally by the thumb finger while pushing vertically on the top of thethird section320 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 dottedline100 and thesolid line110 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 fourbuttons250,260,270, and280 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 fourbuttons360,370,380, and390 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.