3D mouse and game controller based on spherical coordinates system and system for use
First Claim
Patent Images
1. A system for manipulating a three-dimensional object presented on a two-dimensional display, the system comprising:
- a hand-held device comprising;
an accelerometer that generates a tilt signal relative to a gravitational vector wherein;
the tilt signal is measured as a response of the projection of static gravity on the tilted accelerometer;
tilt signal generation does not rely on a detector selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector to generate a movement signal;
the accelerometer is most sensitive to tilt when the accelerometer is perpendicular to gravity; and
the tilt signal comprises a pitch signal and a roll signal where pitch and roll are rotations about two perpendicular axes orthogonal to the gravitational vector;
a linear input element that generates an electrical signal in response to user input wherein the linear input element comprises a push button and wherein;
the linear input element does not use a detector selected from the group consisting of an acoustic detector, a magnetic detector, and an optical detector to generate the electrical signal;
the linear input element does not use information received from outside the device to generate the electrical signal;
the linear input element generates the electrical signal of a magnitude controlled by the user;
the linear input element generates the electrical signal of a magnitude proportionate to user input action; and
an electronic circuit connected to the accelerometer and connected to the linear input element wherein the circuit;
comprises a control unit, a memory unit, a communications unit; and
a battery;
wherein the control unit further comprises a micro-controller;
a digital signal processor, a field programmable gate array, and at least one other machine readable storage device;
calculates the pitch and the roll from the tilt signal without using input from a device selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector;
calculates pitch and roll according to the following equations;
wherein Ax is the acceleration in an arbitrarily direction parallel to the earth'"'"'s surface, Ay is the acceleration in a second direction parallel to the earth'"'"'s surface that is perpendicular to the direction defined by Ax, and g is gravity;
receives the electrical signal from the linear input element to determine a variable radial distance;
calculates the location and orientation of the three-dimensional object using the following equation;
wherein ψ
is rotation about a vertical axis pointing vertically upward from the earth, θ
rotation about an axis that this perpendicular to the axis used to determine ψ
, and φ
is rotation about an axis that is orthogonal to the axes of rotation for both ψ and
θ
;
calculates the location and movement direction of the object in a three-dimensional environment based on spherical coordinates; and
expresses the instantaneous position of the object in an inertial reference frame in Cartesian coordinates as a function of the radius and spherical angles according to the following equations;
X=R(t).Cos(α
).Sin(β
)
Y=R(t).Sin(α
).Sin(β
)
Z=R(t).Cos(β
)
wherein X, Y, and Z represent a location in a Cartesian coordinate domain having the same origin as a spherical coordinate domain defined by the radius R(t) responsive to the electrical signal, an α
angle representing the longitudinal relationship between R(t) and the ZX plane in the Cartesian coordinates, and a β
angle representing the colatitudinal relationship between R(t) and the Z axis, wherein the α
angle is responsive to roll and β
angle is responsive to pitch and;
generates a yaw dimension signal on the device using a mathematical transformation to graphically simulate a rotation of the field of view without the use of a module selected from the group consisting of a gyroscope and a magnetometer; and
generates the yaw dimension signal having a field-of-view rotation responsive to the electrical signal from the linear input element; and
a computer responsive to the communications unit comprising;
the two-dimensional display;
an information processing unit selected from the group consisting of a personal digital assistant, a personal computer, a mainframe, a mini-computer, an electronic game, and a micro-processor based systems used to control a device from the group consisting of a personal device, an industrial vehicle, a medical vehicle, and an appliance;
a communications module; and
computer-readable code for manipulating, presenting, and managing 3-dimensional objects wherein;
the communications module receives the location and orientation information;
the communications module receives the yaw dimension signal;
the computer presents the received information and presents an updated view of the object in virtual spherical coordinates on the display; and
the computer modifies the field of view in response to the yaw dimension signal.
1 Assignment
0 Petitions
Accused Products
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 coordinates.
-
Citations
20 Claims
-
1. A system for manipulating a three-dimensional object presented on a two-dimensional display, the system comprising:
-
a hand-held device comprising; an accelerometer that generates a tilt signal relative to a gravitational vector wherein; the tilt signal is measured as a response of the projection of static gravity on the tilted accelerometer; tilt signal generation does not rely on a detector selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector to generate a movement signal; the accelerometer is most sensitive to tilt when the accelerometer is perpendicular to gravity; and the tilt signal comprises a pitch signal and a roll signal where pitch and roll are rotations about two perpendicular axes orthogonal to the gravitational vector; a linear input element that generates an electrical signal in response to user input wherein the linear input element comprises a push button and wherein; the linear input element does not use a detector selected from the group consisting of an acoustic detector, a magnetic detector, and an optical detector to generate the electrical signal; the linear input element does not use information received from outside the device to generate the electrical signal; the linear input element generates the electrical signal of a magnitude controlled by the user; the linear input element generates the electrical signal of a magnitude proportionate to user input action; and an electronic circuit connected to the accelerometer and connected to the linear input element wherein the circuit; comprises a control unit, a memory unit, a communications unit; and
a battery;
wherein the control unit further comprises a micro-controller;
a digital signal processor, a field programmable gate array, and at least one other machine readable storage device;calculates the pitch and the roll from the tilt signal without using input from a device selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector; calculates pitch and roll according to the following equations;
wherein Ax is the acceleration in an arbitrarily direction parallel to the earth'"'"'s surface, Ay is the acceleration in a second direction parallel to the earth'"'"'s surface that is perpendicular to the direction defined by Ax, and g is gravity;receives the electrical signal from the linear input element to determine a variable radial distance; calculates the location and orientation of the three-dimensional object using the following equation;
wherein ψ
is rotation about a vertical axis pointing vertically upward from the earth, θ
rotation about an axis that this perpendicular to the axis used to determine ψ
, and φ
is rotation about an axis that is orthogonal to the axes of rotation for both ψ and
θ
;calculates the location and movement direction of the object in a three-dimensional environment based on spherical coordinates; and expresses the instantaneous position of the object in an inertial reference frame in Cartesian coordinates as a function of the radius and spherical angles according to the following equations;
X=R(t).Cos(α
).Sin(β
)
Y=R(t).Sin(α
).Sin(β
)
Z=R(t).Cos(β
)
wherein X, Y, and Z represent a location in a Cartesian coordinate domain having the same origin as a spherical coordinate domain defined by the radius R(t) responsive to the electrical signal, an α
angle representing the longitudinal relationship between R(t) and the ZX plane in the Cartesian coordinates, and a β
angle representing the colatitudinal relationship between R(t) and the Z axis, wherein the α
angle is responsive to roll and β
angle is responsive to pitch and;generates a yaw dimension signal on the device using a mathematical transformation to graphically simulate a rotation of the field of view without the use of a module selected from the group consisting of a gyroscope and a magnetometer; and generates the yaw dimension signal having a field-of-view rotation responsive to the electrical signal from the linear input element; and a computer responsive to the communications unit comprising; the two-dimensional display; an information processing unit selected from the group consisting of a personal digital assistant, a personal computer, a mainframe, a mini-computer, an electronic game, and a micro-processor based systems used to control a device from the group consisting of a personal device, an industrial vehicle, a medical vehicle, and an appliance; a communications module; and computer-readable code for manipulating, presenting, and managing 3-dimensional objects wherein; the communications module receives the location and orientation information; the communications module receives the yaw dimension signal; the computer presents the received information and presents an updated view of the object in virtual spherical coordinates on the display; and the computer modifies the field of view in response to the yaw dimension signal. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for moving a three-dimensional vectorial cursor in virtual spherical coordinates on a graphical display, the system comprising:
-
a hand-held user input device comprising; an accelerometer that generates a tilt signal relative to a gravitational vector wherein; the tilt signal is measured as a response of the projection of static gravity on the tilted accelerometer; tilt signal generation does not rely on a detector selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector to generate a movement signal; the accelerometer is most sensitive to tilt when the accelerometer is perpendicular to gravity; and the tilt signal comprises a pitch signal and a roll signal where pitch and roll are rotations about two perpendicular axes orthogonal to the gravitational vector; a linear input element that generates an electrical signal in response to user input wherein; the linear input element comprises a user-responsive device selected from the group consisting of a pair of push buttons, a slide switch, a touch pad, and a scroll wheel; the linear input element does not use a detector selected from the group consisting of an acoustic detector, a magnetic detector, and an optical detector to generate the electrical signal; the linear input element does not use information received from outside the device to generate the electrical signal; the linear input element generates the electrical signal of a magnitude controlled by the user; the linear input element generates the electrical signal of a magnitude proportionate to user input action; and an electronic circuit connected to the accelerometer and connected to the linear input element wherein the circuit; comprises a control unit, a memory unit, a communications unit; and
an electrical storage device;
wherein the control unit further comprises a micro-controller;
a digital signal processor, a field programmable gate array, and at least one other machine readable storage device;calculates the pitch and the roll from the tilt signal without using input from a device selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector; calculates pitch and roll according to the following equations;
wherein Ax is the acceleration in an arbitrarily direction parallel to the earth'"'"'s surface, Ay is the acceleration in a second direction parallel to the earth'"'"'s surface that is perpendicular to the direction defined by Ax, and g is gravity;receives the electrical signal from the linear input element to determine a variable radial distance; calculates the location and orientation of the three-dimensional object using the following equation;
wherein ψ
is rotation about a vertical axis pointing vertically upward from the earth, θ
rotation about an axis that this perpendicular to the axis used to determine ψ
, and φ
is rotation about an axis that is orthogonal to the axes of rotation for both ψ and
θ
;calculates the location and movement direction of the vectorial cursor based on spherical coordinates; and expresses the instantaneous position of the cursor in an inertial reference frame in Cartesian coordinates as a function of the radius and spherical angles according to the following equations;
X=R(t).Cos(α
).Sin(β
)
Y=R(t).Sin(α
).Sin(β
)
Z=R(t).Cos(β
)
wherein X, Y, and Z represent a location in a Cartesian coordinate domain having the same origin as a spherical coordinate domain defined by the radius R(t) responsive to the electrical signal, an α
angle representing the longitudinal relationship between R(t) and the ZX plane in the Cartesian coordinates, and a β
angle representing the colatitudinal relationship between R(t) and the Z axis, wherein the α
angle is responsive to roll and β
angle is responsive to pitch and;generates a yaw dimension signal on the device using a mathematical transformation to graphically simulate a rotation of the field of view without the use of a module selected from the group consisting of a gyroscope and a magnetometer; and generates the yaw dimension signal having a field-of-view rotation responsive to the electrical signal from the linear input element; and a computer responsive to the communications unit comprising; the graphical display; an information processing unit selected from the group consisting of a personal digital assistant, a personal computer, a mainframe, a mini-computer, an electronic game, and a micro-processor based systems used to control a device selected from the group consisting of a personal device, an industrial vehicle, a medical vehicle, and an appliance; a communications module; and computer-readable code for managing 3-dimensional vectorial cursors wherein; the communications module receives the location and orientation information; the communications module receives the yaw dimension signal; the computer presents the vectorial cursor in virtual spherical coordinates on the display; and the computer modifies the field-of-view in response to the yaw dimension signal. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for presenting user manipulation of a hand held device onto a simulated three dimensional computer display, the method comprising the steps of:
-
establishing a hand-held user input device; establishing an accelerometer that generates a tilt signal relative to a gravitational vector in the device; measuring pitch and roll about two perpendicular axes orthogonal to the gravitational vector in response to the projection of static gravity on the tilted accelerometer without using a detector selected from the group consisting of a gyroscope, sn acoustic detector, a magnetic detector, and an optical detector; establishing an input element that incorporates a user-responsive device selected from the group consisting of a pair of push buttons, a slide switch, a touch pad, and a scroll wheel and does not use a detector selected from the group consisting of an acoustic detector, a magnetic detector, and an optical detector to generate the electrical signal and does not use information received from outside the device; using the input element to generate an electrical signal of a magnitude controlled by the user and proportional to the user'"'"'s input action; establishing an electronic circuit that comprises a control unit, a memory unit, and a communications unit, and an electrical storage device wherein the control unit further comprises a micro-controller;
a digital signal processor, a field programmable gate array, and at least one other machine readable storage device;connecting the circuit to the accelerometer and to the input element; using the circuit to calculate pitch and roll from the tilt signals without using input from a device selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector; calculating pitch and roll according to the following equations;
wherein Ax is the acceleration in an arbitrarily direction parallel to the earth'"'"'s surface, Ay is the acceleration in a second direction parallel to the earth'"'"'s surface that is perpendicular to the direction defined by Ax, and g is gravity;determining a variable radial distance in response to a signal from the input element; calculating the location and orientation of the three-dimensional object using the following equation;
wherein ψ
is rotation about a vertical axis pointing vertically upward from the earth, θ
rotation about an axis that this perpendicular to the axis used to determine ψ
, and φ
is rotation about an axis that is orthogonal to the axes of rotation for both ψ and
θ
;calculating the location and movement direction of a vectorial cursor in a three-dimensional environment based on spherical coordinates; expressing the instantaneous position of the vectorial cursor in an inertial reference frame in Cartesian coordinates as a function of the radius and spherical angles according to the following equations;
X=R(t).Cos(α
).Sin(β
)
Y=R(t).Sin(α
).Sin(β
)
Z=R(t).Cos(β
)
wherein X, Y, and Z represent a location in a Cartesian coordinate domain having the same origin as a spherical coordinate domain defined by the radius R(t) responsive to the electrical signal, an α
angle representing the longitudinal relationship between R(t) and the ZX plane in the Cartesian coordinates, and a β
angle representing the colatitudinal relationship between R(t) and the Z axis, wherein the α
angle is responsive to roll and β
angle is responsive to pitch and;establishing a computer responsive to the communications unit wherein the computer comprises a two-dimensional display, a communications module, and an information processing unit selected from the group consisting of a personal digital assistant, a personal computer, a mainframe, a mini-computer, an electronic game, and a micro-processor based systems used to control a device selected from the group consisting of a personal device, an industrial vehicle, a medical vehicle, and an appliance; using the communications module to receive a location signal and an orientation signal from the device; using computer-readable code in the information processing unit to convert the signals received by the communications module into a vectorial cursor size signal and a vectorial cursor orientation signal; and using the vectorial cursor size signal and the vectorial cursor orientation signal to present the vectorial cursor in virtual spherical coordinates on the 2-dimensional display. - View Dependent Claims (16, 17, 18)
-
-
19. A method for controlling and manipulating visual elements of a virtual three-dimensional environment, the method comprising the steps of:
-
establishing a hand-held user input device; establishing an accelerometer that generates a tilt signal relative to a gravitational vector in the device; measuring pitch and roll about two perpendicular axes orthogonal to the gravitational vector in response to the projection of static gravity on the tilted accelerometer without using a detector selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector; establishing an input element that incorporates a user-responsive device selected from the group consisting of a pair of push buttons, a slide switch, a touch pad, and a scroll wheel and does not use a detector selected from the group consisting of an acoustic detector, a magnetic detector, and an optical detector to generate the electrical signal and does not use information received from outside the device; using the input element to generate an electrical signal of a magnitude controlled by the user and proportional to the user'"'"'s input action; establishing an electronic circuit that comprises a control unit, a memory unit, and a communications unit, and an electrical storage device wherein the control unit further comprises a micro-controller;
a digital signal processor, a field programmable gate array, and at least one other machine readable storage device;connecting the circuit to the accelerometer and to the input element; using the circuit to calculate pitch and roll from the tilt signals without using input from a device selected from the group consisting of a gyroscope, an acoustic detector, a magnetic detector, and an optical detector; calculating pitch and roll according to the following equations;
wherein Ax is the acceleration in an arbitrarily direction parallel to the earth'"'"'s surface, Ay is the acceleration in a second direction parallel to the earth'"'"'s surface that is perpendicular to the direction defined by Ax, and g is gravity;determining a variable radial distance in response to a signal from the input element; establishing a computer responsive to the communications unit wherein the computer comprises a two-dimensional display, a communications module, and an information processing unit selected from the group consisting of a personal digital assistant, a personal computer, a mainframe, a mini-computer, an electronic game, and a micro-processor based systems used to control a device selected from the group consisting of a personal device, an industrial vehicle, a medical vehicle, and an appliance; establishing a visible element on the display; calculating the location and orientation of the visible element with the following equation;
wherein ψ
is rotation about a vertical axis pointing vertically upward from the earth, θ
rotation about an axis that this perpendicular to the axis used to determine ψ
, and φ
is rotation about an axis that is orthogonal to the axes of rotation for both ψ and
θ
;calculating the location and movement direction of the visible element in a three-dimensional environment based on spherical coordinates; expressing the instantaneous position of the visible element in an inertial reference frame in Cartesian coordinates as a function of the radius and spherical angles according to the following equations;
X=R(t).Cos(α
).Sin(β
)
Y=R(t).Sin(α
).Sin(β
)
Z=R(t).Cos(β
)
wherein X, Y, and Z represent a location in a Cartesian coordinate domain having the same origin as a spherical coordinate domain defined by the radius R(t) responsive to the electrical signal, an α
angle representing the longitudinal relationship between R(t) and the ZX plane in the Cartesian coordinates, and a β
angle representing the colatitudinal relationship between R(t) and the Z axis, wherein the α
angle is responsive to roll and β
angle is responsive to pitch and;generating a yaw dimension signal on the device using a mathematical transformation to simulate a rotation of the field of view without the use of a module selected from the group consisting of a gyroscope and a magnetometer; generating the yaw dimension signal having a field-of-view rotation responsive to the electrical signal; using the communications module to receive a yaw dimension signal, a location signal, and an orientation signal from the device; and using computer-readable code in the information processing unit to convert the signals received by the communications module into signals representative of the orientation and dimensions of the visible element in virtual spherical coordinates. - View Dependent Claims (20)
-
Specification