throbber
1111111111111111 IIIIII IIIII 11111 1111111111 11111 1111111111 11111 11111 111111111111111 11111111
`US 20060092133Al
`
`c19) United States
`c12) Patent Application Publication
`Touma et al.
`
`c10) Pub. No.: US 2006/0092133 Al
`May 4, 2006
`(43) Pub. Date:
`
`(54) 3D MOUSE AND GAME CONTROLLER
`BASED ON SPHERICAL COORDINATES
`SYSTEM AND SYSTEM FOR USE
`
`(75)
`
`Inventors: Pierre Touma, Austin, TX (US); Hadi
`Murr, Beirut (LB); Elie Bachaalani,
`Beirut (LB); Imad Maalouf, Beirut
`(LB)
`
`Correspondence Address:
`Bert Vermeulen
`c/o Henry Waters and Associates
`4740 Table Mesa Drive
`Boulder, CO 80305 (US)
`
`(73) Assignee: Pierre A. Touma
`
`(21) Appl. No.:
`
`11/263,710
`
`(22) Filed:
`
`Oct. 31, 2005
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/624,335, filed on Nov.
`2, 2004.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`G09G 5108
`(2006.01)
`(52) U.S. Cl. .............................................................. 345/158
`
`(57)
`
`ABSTRACT
`
`A computer input device constructed from at least one tilt
`accelerometer and at least one linear input element is
`disclosed. This input device can be used in a computer
`system to specify a position on a display using radial
`coordinates, cylindrical coordinates, or spherical coordi(cid:173)
`nates.
`
`101
`
`106
`
`103
`
`. ..
`... .......
`.... .... (:~ .......... ....
`
`104 ~
`~ 102
`
`108
`
`Align EX1022
`Align v. 3Shape
`IPR2022-00145
`
`

`

`Patent Application Publication May 4, 2006 Sheet 1 of 4
`
`US 2006/0092133 Al
`
`107
`
`,r
`
`o-· -·
`-
`:0
`
`f
`
`\
`
`c:::::i
`
`106
`
`103
`
`. ..
`
`........
`....
`.. ... ···
`·· ... : ............... ,,.
`
`1 0 4~
`~ 102
`108
`
`Fig. 1
`
`

`

`Patent Application Publication May 4, 2006 Sheet 2 of 4
`
`US 2006/0092133 Al
`
`rf
`..
`·····-..... I
`
`..c
`N
`
`0)
`
`u:::
`
`-
`
`'
`ill ..
`Ii--~ ~-
`LA~
`Q
`
`,....
`
`-
`0
`
`0 -
`J
`
`' --
`-
`
`co
`N
`
`0)
`
`u:::
`
`-- 0
`'
`ifllf:k
`~ _,.····
`.
`' -
`...
`) .. f.., .,
`~ -
`
`0
`
`....
`J
`
`"C
`N
`
`0)
`
`u:::
`
`C"
`
`-
`
`-- 0
`' ~
`~ Ii .,., .,·
`' -
`
`0
`
`-
`J
`
`CJ
`N
`
`0)
`
`u:::
`
`.-
`
`~ -
`
`-
`
`r
`
`

`

`Patent Application Publication May 4, 2006 Sheet 3 of 4
`
`US 2006/0092133 Al
`
`Fig. 3
`
`

`

`Patent Application Publication May 4, 2006 Sheet 4 of 4
`
`US 2006/0092133 Al
`
`-
`
`-
`
`......... -
`-
`-
`-
`-
`-
`Graphical 3D
`application
`
`1
`
`416
`
`r -
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`
`Processing unit
`
`Communications
`Module
`
`4015:
`------
`4~~3 -_-_-_-_-_-____ _
`
`415
`
`414
`
`413
`
`425
`
`I
`I
`I
`I
`
`Communications
`Module
`
`424
`
`423
`
`422
`
`Accelerometer(s)
`
`421
`
`User input
`elements
`
`Controller
`
`Power supply
`I
`L ________________ _
`I
`
`Fig. 4
`
`

`

`US 2006/0092133 Al
`
`May 4, 2006
`
`1
`
`3D MOUSE AND GAME CONTROLLER BASED
`ON SPHERICAL COORDINATES SYSTEM AND
`SYSTEM FOR USE
`
`[0001] This application claims priority based on U.S.
`Provisional Patent Application Ser. No. 60/624,335 entitled
`"3D Mouse/Pointer Based on Spherical Coordinates System
`and System for Use," filed 2 Nov. 2004.
`
`FIELD OF INVENTION
`
`[0002] The present invention relates to the field of com(cid:173)
`puter peripherals and controllers. One embodiment of the
`present invention relates to the control of 3D video games
`characters, home entertainment systems or more industrial
`applications such as robotics and the control of UAVs
`(umnanned aerial vehicles) and UGVs (umnanned ground
`vehicles). Specifically, one embodiment of the present
`invention relates to a method and apparatus for moving and
`controlling a cursor, object, character or mechanical system
`in a virtual or physical 3D environment. One embodiment of
`the present invention uses inertial sensing technology and an
`approach based on a mathematical representation of the 3D
`space with spherical coordinates, instead of the Cartesian
`representation mostly used in 3D applications.
`
`BACKGROUND OF THE INVENTION
`
`[0003] The tremendous computing power available at low
`cost in the early 21 st century has made possible many
`computer applications that previously were unattainable
`because of the computational resources required. A prime
`example is three-dimensional modeling. To compute large
`three-dimensional models and to manipulate them in real(cid:173)
`time requires large computational power, unless the models
`are very primitive. Today many applications, ranging from
`computer games with very high levels or realism to mod(cid:173)
`eling of sub-surface geological formations are possible on
`even relatively mainstream computer systems.
`
`[0004] A related trend is the merging of technologies such
`as televisions, home theatre, computers and game stations to
`produce PC Entertainment Centers. This trend is comple(cid:173)
`mented by the drive towards 3D games and game environ(cid:173)
`ments. One challenge, however, is to make full use of the
`three dimensional environments by giving the users attrac(cid:173)
`tive tools to manipulate objects or characters of these three
`dimensional environments.
`
`[0005]
`In the two-dimensional computing world, the
`mouse has become a ubiquitous feature for allowing a user
`to move a cursor around in the two-dimensional space.
`Moving the cursor with the mouse can be used to find and
`select particular objects. There is a need to be able to move
`a cursor to objects located in three-dimensional space as
`well as the need to move objects or characters in a 3D
`environment. This is much more challenging than moving a
`mouse across a tabletop as is the customary means for
`moving a cursor using a three-dimensional mouse.
`
`[0006]
`In the prior art there are several known methods for
`moving a cursor in three-dimensional space. These include
`moving a receiver with respect to a field established by
`external beacons or emitters/receivers, with respect to
`acoustic, magnetic or optical signals that may be detected by
`the receiver. Problems with such approaches include the
`need for using external devices.
`
`[0007] Other prior art solutions rely on gyroscopes to
`detect the movement of a 3D mouse, allowing the device to
`move a cursor in a 2D plan on the monitor. However, these
`solutions lack the 3D capability that is needed when dealing
`with 3D environments.
`
`[0008] From the foregoing it is apparent that there is a
`hitherto umnet need for a 3D pointing/controlling device
`that is self-contained, lightweight, and which uses low-cost
`components. The need is also apparent for a controlling
`device that could be used to remotely control mechanical
`systems such as Unmanned Air Vehicles (UAVs), UGVs
`Unmanned Ground Vehicles (UGVs), Unmanned Water
`Vehicles (UWVs) and other robotics systems, in a natural
`and efficient manner that is different from the method still
`followed today as represented by the control unit of model
`airplanes and the likes. One embodiment of the present
`invention can be used to address needs such as these.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0009]
`
`In the accompanying drawings:
`
`[0010] FIG. 1 shows a 3D input device used in a 3D
`computer system;
`
`[0011] FIG. 2 shows the detailed movement of the device
`and the related control of a vectorial cursor;
`
`[0012] FIG. 3 shows one embodiment of the 3D Mouse/
`Controller with the knobs and buttons used for interaction
`with a 3D environment; and
`
`[0013] FIG. 4 shows a block diagram of the 3D Mouse/
`Controller system and the way it interacts with a 3D appli(cid:173)
`cation on the computer monitor, through interrelated mod(cid:173)
`ules performing the different functions of: Movement
`Sensing, Sensing data interpretation and conversion to digi(cid:173)
`tal data, Wireless Communication of the data to an interface,
`Graphical rendering of the data in a 3D application.
`
`DESCRIPTION OF THE EMBODIMENTS
`
`[0014] This invention is described in one embodiment in
`the following description with reference to the Figures, in
`which like numbers represent the same or similar elements
`or process steps. While this invention is described in terms
`of the best mode for achieving this invention's objectives in
`a particular application, it will be appreciated by those
`skilled in the art that variations may be accomplished in
`view of these teachings without deviating from the spirit or
`scope of the present invention.
`
`[0015] For example, the present invention may be imple(cid:173)
`mented using any combination of computer programming
`software, firmware, or hardware. As a preparatory step to
`practicing the invention or constructing an apparatus accord(cid:173)
`ing to the invention, the computer programming code
`(whether software or firmware) according to the invention
`will typically be embedded in one or more machine readable
`storage devices such as micro-controllers, Flash memories,
`semiconductor memories such as ROMs, PROMs, etc.,
`thereby making an article of manufacture in accordance with
`the invention.
`
`[0016] The article of manufacture containing the computer
`programming code is used by either executing the code
`directly from the storage device, or by transmitting the code
`according to the present invention with appropriate standard
`
`

`

`US 2006/0092133 Al
`
`May 4, 2006
`
`2
`
`computer hardware to execute the code contained therein.
`An apparatus for practicing the invention could be one or
`more devices having network access to computer program(s)
`coded in accordance with the invention.
`
`[0017] One embodiment of the present technological inno(cid:173)
`vation relates to pointing (I/0) devices used to position or
`manipulate a vectorial object. Vectorial objects can be
`vectorial cursors, graphical symbols, or any pictorial repre(cid:173)
`sentation of physical or virtual object or character having
`one or multiple dimensions that has both a linear component
`( such as magnitude [ or size], or position in a Cartesian
`space) and an angular component (such as orientation). In
`particular one embodiment of the present invention relates to
`handheld devices that can be used to position or manipulate
`a vectorial object such as a vectorial cursor or 3D objects/
`Characters in three-dimensional space. A vectorial cursor in
`3D is the analog of a cursor in 2D. It is shaped like an arrow
`giving the user spatial feedback of the direction and position
`of the cursor. Depending on the application, the length of the
`arrow could be variable or fixed, whereby the arrow would
`be either extending from a spherical coordinates point of
`reference, or virtually moving in the 3D space. Thus, pro(cid:173)
`vided is an inertial sensor-based application related to a 3D
`Mouse that can act as a spatial pointer and can reach objects
`and icons in three dimensional environments and manipulate
`said objects, icons or characters. Such three dimensional
`environments could be generated by 3D graphical rendering
`or 3D GUis with 2D monitors, volumetric monitors or
`stereoscopic and holographic monitors.
`
`[0018] Such an embodiment of the present invention is
`based on inertial technology and methods that determine the
`position of a cursor in a 3D environment. This is achieved
`by mapping the movement of an operator's hand in space
`onto a polar coordinates frame of reference, thus optimizing
`the number of inertial sensors needed and reducing manu(cid:173)
`facturing cost. In such an embodiment, the application of the
`technology uses a single accelerometer in a form factor
`allowing it to be used as a desktop mouse or free-standing
`remote controller or game controller. In addition to its role
`as a mouse for the interaction with 3D environments and 3D
`GUis, the device/technology has the capability-in one
`embodiment-to act as a universal remote controller with
`both 2D and 3D interfaces of entertainment/media centers.
`
`[0019]
`In another embodiment the same approach could be
`used with a glove-like application allowing the user to
`interact with both 2D and 3D environments by limited
`movements of the hand and/or fingers. In a further embodi(cid:173)
`ment, it could also act as an advanced game controller for 3D
`games and could be coupled with haptic feedback. Further(cid:173)
`more, the method/technology could be applied in combina(cid:173)
`tion with portable game consoles (Gameboy, PSP ... )
`allowing players to interact with mobile 3D games through
`movements of the console itself, in combination with trig(cid:173)
`gers. This application is also useful with handheld comput(cid:173)
`ers and portable phones, allowing navigation through 2D or
`3D interface menus by moving the device itself instead of
`using a stylus or the operators fingers.
`
`[0020] Another embodiment of the technology would be
`as an add-on to game-specific sports hardware for a new
`generation of sports games (Baseball bat, Golf drive, Tennis
`racket, Skateboard, Skis, Luge ... ) and body movement
`games. In yet another embodiment, the technology could be
`applied for the control ofUAVs and other remote controlled
`aircrafts and/or their embedded systems such as cameras/
`other detection equipment. The same embodiment is appli(cid:173)
`cable to the control of model toys (aircraft, cars, boats ...
`). A person familiar with the art would also find that the
`technology has also applications in the field of medicine,
`engineering and sciences. It could be a virtual scalpel, a
`controller for a robotic arm, or a pointer for the manipulation
`of 3D molecules among other applications ...
`
`[0021] The present invention can provide a natural and
`ergonomic way to interact with 3D environments and to
`control systems in 3D space. This can be done by means of
`a 3-dimensional computer pointing and input device (3D
`Mouse/Controller) that uses a polar (spherical) coordinates
`approach implemented through the use of inertial technol(cid:173)
`ogy (accelerometer), to reach a point in 3D space and to
`control graphical symbols and animated characters in 3D
`environments.
`
`[0022] The present invention can be implemented using a
`3D Pointer concept. The three-dimensional pointer is
`achieved by using a spherical coordinate system. Its struc(cid:173)
`ture permits the user to access any point in his virtual
`environment by properly changing the device's directions
`and by increasing or decreasing the pointer length. The tilt
`angles, Pitch and Roll, captured from the accelerometer are
`used respectively as Alpha and Beta angles of the spherical
`coordinate system as illustrated in the equations below.
`While directions are captured from the hand movement by
`measuring the projection of the static gravity on the tilted
`accelerometer, the pointer length which is the physical
`analog of the radius R is simulated by using a trigger pair on
`the device. The user can change its pointer in order to reach
`the desired three-dimensional point by pressing the increase
`and decrease triggers. An alternative is to use a time varying
`pointer length. As a result the instantaneous position of the
`pointer in the inertial frame can be expressed as a function
`of the time-varying radius and spherical angles.
`
`X-R(t).Cos(a).Sin(i3)
`
`Y-R(t).Sin( a).Sin(i3)
`
`Z-R(t).Cos(i3)
`
`[0023] Like most 3D interfaces it is important to distin(cid:173)
`guish between the inertial frame and the user frames. The
`inertial frame is considered as a reference and all objects in
`the 3D virtual environment are expressed with respect to it.
`Thus this system is fixed. The x-axis is pointing to any
`convenient direction, the z-axis is pointing vertically upward
`and the y-axis is perpendicular to both. The user frame is the
`mobile system containing the pointer. It is defined by a
`rotation around the z-axis by 1.jJ and by the rotation around
`x and y by 8 and W. Moreover the distance between those
`frames defines the offset of the pointer with respect to the
`
`

`

`US 2006/0092133 Al
`
`May 4, 2006
`
`3
`
`inertial frame. The figure below illustrates those rotations.
`The matrix linking between those two frames is the product
`of the following rotation matrix.
`
`-sin(i/1)
`
`cos(i/1)
`
`0
`
`0
`1
`
`0 j r cos(0)
`

`
`0
`-sin(0)
`
`0
`
`sin(0) j
`
`0
`
`.
`
`0 cos(0)
`
`0
`
`r ~l l COS(\O)
`
`sin(\O)
`
`-si~(\O) 1
`COS(\O) j
`
`[0024]
`
`After developing we get:
`
`microprocessor used. The ADXL202E is capable of mea(cid:173)
`suring both positive and negative accelerations to at least ±2
`g. The accelerometer can measure static acceleration forces
`such as gravity, allowing it to be used as a tilt sensor as used
`in our application. Acceleration will result in an output
`square wave whose amplitude is proportional to accelera(cid:173)
`tion. Phase sensitive demodulation techniques are then used
`to rectify the signal and determine the direction of the
`acceleration.
`
`[0029] One of the most popular applications of the
`ADXL202E is tilt measurement. An accelerometer uses the
`force of gravity as an input vector to determine orientation
`of an object in space. An accelerometer is most sensitive to
`tilt when its sensitive axis is perpendicular to the force of
`gravity, i.e., parallel to the earth's surface. At this orientation
`its sensitivity to changes in tilt is highest. When the accel(cid:173)
`erometer is oriented on axis to gravity, i.e., near its +1 g or
`
`cos(l/l).cos(0) cos(l/l).sin(0).sin(\O) - sin(i/1).cos(\O)
`Rrn = sin(l/l).cos(0) sin(l/l).sin(0).sin(\O) - cos(i/1).cos(\O)
`r
`-sin(0)
`cos(0).sin(\O)
`
`cos(l/l).sin(0).cos(\O) - sin(i/1).sin(\O) j
`
`sin(l/l).sin(0).cos(\O) - cos(i/1).sin(\O)
`
`cos(0).cos(\O)
`
`[0025]
`In one embodiment of the present invention the 3D
`interface is used to create the virtual reality scene needed to
`interact with the 3D pointer. This interface is developed in
`an expandable mode in order to permit any improvement in
`the future. This interface allows the user to interact with the
`3D objects, to change the colors of the ground and the
`pointer, to change the render mode between wire frame,
`hidden, and rendered, to change the view angles and the light
`intensity.
`
`[0026]
`It is important to mention that the yaw angle can be
`changed directly from the pointing device in order to make
`the navigation easier. In order to avoid the use of additional
`sensing components such as a magnetic sensor or Gyro(cid:173)
`scope, we have simulated the yaw dimension by a rotation
`of the field of view. This field of view rotation is a manipu(cid:173)
`lation of the graphical perspective through the interface
`software, by a pair of control buttons on the device itself.
`
`[0027]
`In one embodiment of the present invention we are
`using an inertial sensor to detect tilt accelerations that will
`then be converted into movement. In this particular embodi(cid:173)
`ment, we are using a MEMS accelerometer developed by
`Analog Devices, the ADXL202E MEMS accelerometer.
`Any similar inertial sensor including thermal accelerometers
`could be used. The ADXL202E is a low-cost, low-power,
`complete two-axis accelerometer with a digital output, all on
`a single monolithic IC. The ADXL202E can measure both
`dynamic acceleration ( e.g., vibration) and static acceleration
`(e.g., gravity). The outputs are analog voltage or digital
`signals whose duty cycles (ratio of pulse width to period) are
`proportional to acceleration. A microprocessor counter,
`without an AID converter or glue logic, can directly measure
`the duty cycle outputs. The duty cycle period is adjustable
`from 0.5 ms to 10 ms via external timing resistor.
`
`[0028] The ADXL202E is a complete, dual-axis accelera(cid:173)
`tion measurement system. For each axis, an output circuit
`converts the analog signal to a duty cycle modulated (DCM)
`digital signal that can be decoded with the timer port of the
`
`-1 g reading, the change in output acceleration per degree of
`tilt is negligible. When the accelerometer is perpendicular to
`gravity, its output will change nearly 17 .5 mg per degree of
`tilt, but at 45° degrees it is changing only at 12.2 mg per
`degree and resolution declines. Due to the fact that it is
`sensible to the static gravity, it can be used to measure
`especially Tilt angles (Pitch and Roll) just by measuring the
`projection of the vector g over each axis of the accelerom(cid:173)
`eter.
`
`[0030] When the accelerometer is oriented so both its X
`and Y axes are parallel to the earth's surface it can be used
`as a two axis tilt sensor with a roll and a pitch axis. Once the
`output signal from the accelerometer has been converted to
`an acceleration that varies between -1 g and + 1 g, the output
`tilt in degrees is calculated as follows:
`
`Pitch= ASi~ *)
`
`Roll= ASi~ ;~)
`
`[0031]
`In one embodiment of the present invention the 3D
`Mouse/controller is a hand held device that captures the
`movement of a hand in free space and controls the move(cid:173)
`ment of a vectorial cursor, object or character in an appli(cid:173)
`cation on a monitor, or a system in physical space. It uses
`inertial technology in the form of an accelerometer or any
`similar technology that measures angular acceleration/dis(cid:173)
`placement with great precision. This technology allows the
`3D Mouse/Controller to be self-contained without the need
`for beacons or emitters/receivers to detect generated signals,
`as the case would be with acoustic, magnetic or optical
`approaches.
`
`[0032] Practically, it could be either used as a mouse for
`3D GUis and volumetric monitors, a controller for 3D
`
`

`

`US 2006/0092133 Al
`
`May 4, 2006
`
`4
`
`games, a pointer for interactive presentations or as a remote
`controlling device for the upcoming PC Entertainment Cen(cid:173)
`ters that would combine a TV with a Computer and a Home
`Theatre. Its range only depending of that of the wireless
`technology used. In an alternative embodiment, the 3D
`Mouse/Controller is a wired device connected electrically to
`a computing device.
`
`[0033] This control functionality could be extended to
`controlling more household peripherals such as telecommu(cid:173)
`nications, lighting, irrigation, security system, heating/cool(cid:173)
`ing or even car start-up in the morning. This would be done
`through a software user interface (Windows, Linux etc ...
`) that would appear on a large Plasma ( or other) screen. The
`said screen playing the role of a TV, computer monitor and
`command and control interface.
`
`[0034]
`In this respect, the 3D Mouse/Controller could be
`the future universal remote controller for the next generation
`of consumer appliances that would be controlled through a
`central computer (network of computers), instead of each
`having its own micro-controller and remote controlling
`device. The complexity of remote controllers would then be
`in the software interface that would be made more intuitive
`(and ideally in 3D) than the scroll down menu interface and
`large number of buttons currently available.
`
`[0035] As the 3D Mouse/Controller also has a spatial
`capability with the needed degrees of freedom, it is a
`suitable device for the new generation of 3D monitors ( e.g.,
`Stereographic, Holographic and Volumetric). There is a
`number of companies developing such monitor technologies
`in the US, Europe and Asia and their feedback is that they
`still lack a practical/affordable 3D Mouse/Controller that
`would allow operators to navigate easily in the 3D environ(cid:173)
`ment.
`
`[0036] The 3D capability is achieved through a limited
`amount of hand movements (rotations) that would allow the
`alignment of a feedback vector (vectorial cursor) with the
`object to be reached, on the monitor. Practically, the align(cid:173)
`ment is done by varying the vertical and horizontal angles of
`the ray, in a polar frame of reference. Once the alignment is
`achieved, the 3D Mouse allows the extension of the ray
`whereby it would reach the object, thus enabling it for
`further manipulation. This approach allows an optimization
`of needed electronics whereby only one inertial device
`(accelerometer) is needed for the basic 3D functionality.
`
`[0037] The 3D capability of the device would also enable
`a new generation of Virtual reality applications (in this case
`a haptic feedback might be added), Industrial and military
`simulations, advanced 3D CAD/CAM design, Medicine,
`Molecular Chemistry, Bio-informatics ...
`
`[0038] This 3D capability is also an enabling factor for the
`next generation of game stations and game environments. A
`game controller enabled by this 3D technology will be able
`to control characters m a 3D space with very natural
`movements.
`
`[0039]
`In one particular embodiment, the technology
`could be embedded in a portable/mobile game device/
`system (similar to Gameboy, PSP ... ) adding 3D capability
`and control through hand movements and allowing the
`advent of 3D games controlled through movements of the
`game system itself, thus starting a paradigm shift in portable
`game systems.
`
`[0040]
`In another embodiment, the technology could be
`embedded in game controllers with the shape of sports
`equipment, (non-extensive list including Golf clubs, Tennis
`racquets or Baseball bats), thus allowing the creation of even
`more realistic video games around sports themes.
`
`[0041] Other applications would be a remote controller for
`hobbyists or for military personnel tele-guiding flying enti(cid:173)
`ties such as Unmarmed Air Vehicles (UAVs), Unmarmed
`Ground Vehicles (UGVs), or Unmanned Water Vehicles
`(UWV)s.
`
`[0042] From a marketing perspective, the field seems ripe
`for the technology, especially that it has been designed to be
`manufactured cost-effectively. One embodiment of the
`present invention relies on Bluetooth wireless communica(cid:173)
`tions and RS 232 connectivity. It is also possible to have
`wired USB connectivity and Wi-Fi (wireless) communica(cid:173)
`tions or any other enabling technology capable of being
`understood by anyone skilled.
`
`[0043] FIG. 1 shows a 3D computer system at 100.
`Referring to FIG. 1, a computer is shown at 107, a computer
`monitor is shown 101, and a computer keyboard is shown at
`108. A3D environment 105 and a set of3D applications 106
`are shown within the monitor 101. A 3D input device or
`Mouse/Controller 102 interacts with the 3D environment
`105 by controlling a vectorial cursor 104. In the example
`shown here, the vectorial cursor 104 is shaped like an arrow
`giving the user spatial feedback of the direction and position
`of the cursor. Depending on the application, the length of the
`arrow could be extensible or fixed. In the embodiment
`shown here, the base of the arrow is a fixed origin of a
`spherical coordinate system and changes in the length of the
`vectorial cursor 106 are controlled through a linear input
`element comprising a pair of buttons on the input device
`102, allowing a user to reach any point in the space depicted
`on the monitor 101. In an alternate embodiment, the location
`of the base of the arrow can be controlled through the input
`device allowing the entire arrow, or vectorial cursor 104 to
`move virtually in the 3D space, with the length of the arrow
`being either fixed or responsive to user input through the 3D
`input device. A linear input element used in such an input
`device 102 can be any single or multiple user-responsive
`components understood by anyone skilled in the art.
`Examples of linear input elements include a pair of push
`buttons, a slide switch, a touch pad, and a scroll wheel.
`
`[0044]
`It should be noted that a computer system could be
`any system that includes an information-processing unit.
`Examples of computer systems include, but are not limited
`to personal digital assistants (PDAs), personal computers,
`mini-computers, mainframe computers, electronic games,
`and microprocessor-based systems used to control personal,
`industrial or medical vehicles and appliances.
`
`[0045] The movement and control functions of the 3D
`Mouse/Controller 102 are shown as phantom lines at 103.
`The curved lines and arrows at 103 represent possible
`movements of the device held by the user. An upward or
`downward tilt (pitch) of the device would move the vectorial
`cursor 104 in a similar fashion on the screen, while a lateral
`tilt (roll) in a left-right marmer would move the vectorial
`cursor 104 on the screen to the left or right. The magnitude
`of the vectorial cursor 104 is controlled using a pair of
`control triggers on the device. The combination of pitch,
`roll, and vector magnitude allow the user to reach any point
`
`

`

`US 2006/0092133 Al
`
`May 4, 2006
`
`5
`
`in 3D space using spherical coordinates with a minimal
`amount of physical movement.
`[0046]
`In one embodiment illustrated in FIG. 1, the 3D
`Mouse/Controller 102 is pointing at 3D applications 106 in
`3D graphical user interface (GUI) 105 that are displayed on
`a monitor 101. In another embodiment, the 3D Mouse/
`Controller 102 could control one or more 3D graphical
`objects in a 3D games environment in the same manner. A
`graphical object can be a video game character or any other
`graphical symbol in a 3D environment. In that case, the
`physical embodiment of the controlling device 102 could
`look like a game controller and the 3D character would be
`substituted for the vectorial cursor 103. The vector magni(cid:173)
`tude derived from a linear input element in the Mouse/
`Controller 102 can be used to control the size or orientation
`of the graphical object.
`[0047]
`In another embodiment, the Mouse/Controller 102
`is a 2D input device working in radial coordinates. In this
`case, only one tilt angle and a minimum of one linear input
`are measured in the input device 102 to provide a 2D
`navigational device operating in radial coordinates. In yet
`another embodiment, the Mouse/Controller 102 is an input
`device with two linear input elements capable of changing a
`vector magnitude in perpendicular axes. These two perpen(cid:173)
`dicular axis in conjunction with one tilt axis can generate a
`position in 3D space using cylindrical coordinates.
`[0048] FIGS. 2a, 2b, 2c, and 2d show the detailed move(cid:173)
`ment of the 3D Mouse/Controller 102 and the related control
`of the vectorial cursor 104. FIG. 2a shows the initial state
`of the device 102 and vectorial cursor 104 pointing on one
`application 106. FIG. 2b shows a right rolling tilt of the
`device 102 that causes the vectorial cursor 104 to move right
`and point to another application 106 to the right of the initial
`one in FIG. 2a. FIG. 2c shows an upward tilt of the device
`102 that causes the vectorial cursor 104 to move up and
`point to another application 106 above of the initial one in
`FIG. 2b. FIG. 2d shows the extension function through a
`button on the device 102 that causes the vectorial cursor 104
`to move further inside the 3D GUI 105 and point to an icon
`on the desktop 106 above of the application one in FIG. 2c.
`[0049] FIGS. 2a, 2b, 2c are the actual rendering of the
`device movements and vectorial cursor control as described
`in FIG. 1. Namely, an up-down tilt of the device will move
`the cursor in an upward or downward manner. Similarly, a
`left-right tilt of the device would move the vectorial cursor
`to the left or the right. Finally, the vectorial cursor would
`move forward or backward through the depression of a pair
`of triggers on the device itself that controls its spatial
`extension and retraction.
`[0050] FIG. 3 shows one physical embodiment of the 3D
`Mouse/Controller with the knobs and buttons used for
`interaction with a 3D environment. One pair of buttons
`301/302 is the equivalent of the left and right clicks of a
`regular mouse. They activate similar functions. A second
`pair of buttons (triggers) 303/304 enables the extension and
`retraction of the vectorial cursor to reach different parts of a
`3D environment, by increasing the module of the vectorial
`cursor. The vectorial cursor being the physical analog of a
`spherical vector, the buttons actually increase/decrease the
`module of the vector which is rendered on the screen by a
`movement of the vectorial cursor forward or backward.
`[0051] A third pair of buttons 305/306 allows the user to
`change the field of view or "perspective" of a 3D scene, in
`
`order to simulate the Yaw dimension. This is done by
`graphically changing the field of view through a graphical
`transformation in the interface software. The action is con(cid:173)
`trolled by another pair of triggers on the device.
`
`[0052] FIG. 4 shows a block diagram of one embodiment
`of the 3D Mouse/Controller system. The system comprises
`an input device (which can also be a hand-held pointing
`device or a 3D Mouse/Controller) 402 and a display control
`unit module 401. The input device includes an inertial sensor
`(accelerometer) 424 operable to detect an acceleration as the
`user tilts the pointing device in at least one direction; a
`power supply 422 (which can be a battery, AC power supply,
`solar cell or any other source of electrical power under

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket