Rotating an object on a screen
First Claim
1. An apparatus for rotating an object on a screen, the apparatus comprising:
- a hand axis determiner configured to;
determine an orientation of a hand axis between respective points of a first hand and a second hand in a 3D space in a real world environment, based on first position information from a sensor related to the first hand and based on second position information from the sensor related to the second hand,a hand axis change determiner configured to;
determine a change in the orientation of the hand axis with respect to an axis of the 3D space in the real world environment, anda rotation calculator configured to;
calculate a rotation of the object on a screen in response to the change in orientation of the hand axis, wherein said calculated rotation comprises;
determine a size of the change in orientation of the hand axis with respect to at least one axis of the 3D space;
determine whether the determined size of the change in orientation of the hand axis is less than a corresponding threshold value associated with at least one axis of the 3D space, andwhen the determined size of the change in orientation is less than a corresponding threshold value associated with at least one axis of the 3D space,determine a size of a processed change orientation of the hand axis, wherein the size of the processed change orientation represents a weighted reduction of the size of the change in orientation with respect to said associated at least one axis, said weighting being based on the size of the change in orientation and greater than zero (0) percent; and
orient the object based on the calculated rotation.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus (1) for rotating objects (40) on screens (9) defines a hand axis (20) in response to 3D position information related to the hands (21, 22) of a user and detects a changed orientation of the hand axis (20) with respect to a 3D space and calculates a rotation for the object (40) on the screen (9) in response to said detecting. This way, to rotate the object (40) on the screen (9), an imaginary copy of the object (40) is considered to be inside an imaginary ball (41) held by the user, which imaginary ball (41) is being rotated. The changed orientation of the hand axis (20) comprises changes in angles between the hand axis (20) and the axes (31, 32, 33) of the 3D space. To improve stability in case of each one of said changes being unequal to zero, the apparatus (1) further detects the angles and compares the respective angles with respective thresholds and reduces or weights the respective changes in response to respective comparison results.
-
Citations
19 Claims
-
1. An apparatus for rotating an object on a screen, the apparatus comprising:
-
a hand axis determiner configured to; determine an orientation of a hand axis between respective points of a first hand and a second hand in a 3D space in a real world environment, based on first position information from a sensor related to the first hand and based on second position information from the sensor related to the second hand, a hand axis change determiner configured to; determine a change in the orientation of the hand axis with respect to an axis of the 3D space in the real world environment, and a rotation calculator configured to; calculate a rotation of the object on a screen in response to the change in orientation of the hand axis, wherein said calculated rotation comprises; determine a size of the change in orientation of the hand axis with respect to at least one axis of the 3D space; determine whether the determined size of the change in orientation of the hand axis is less than a corresponding threshold value associated with at least one axis of the 3D space, and when the determined size of the change in orientation is less than a corresponding threshold value associated with at least one axis of the 3D space, determine a size of a processed change orientation of the hand axis, wherein the size of the processed change orientation represents a weighted reduction of the size of the change in orientation with respect to said associated at least one axis, said weighting being based on the size of the change in orientation and greater than zero (0) percent; and orient the object based on the calculated rotation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A device comprising:
-
an apparatus comprising; a hand axis determiner configured to determine the orientation of a hand axis between respective points at a first hand and a second hand in a 3D space, in response to a first position information related to the first hand in the 3D space and in response to a second position information related to the second hand in the 3D space, a hand axis detector configured to detect a changed orientation of the hand axis with respect to at least one axis of within the 3D space; and
a rotation calculator configured to;calculate a rotation in response to the changed orientation, said calculated rotation comprising; determine a processed change orientation based on a determination of a size of the changed orientation with respect to at least one axis of the 3D space being less than a threshold value, wherein a size of the processed change orientation represents a weighted reduction of the size of the change in the orientation, said weighting being based on the size of the change in orientation and greater than zero (0) percent; and orient an object displayed on a screen based on the calculated rotation associated with the hand axis adjusted by the processed change orientation; and a position measurer to determine the first position and the second position information.
-
-
13. A method for operating an apparatus for rotating an object on a screen, the method comprising:
in an apparatus for rotating an object on a screen; determining, via a hand axis determiner, the orientation of the orientation of a hand axis between respective points at a first hand and a second hand of a user in a real world environment, in response to a first 3D position information related to the first hand and in response to a second 3D position information related to the second hand, detecting, via a hand axis detector, a change in the orientation of the hand axis with respect to an axis of a 3D space in the real world, calculating, via an object rotation calculator; a processed change orientation based on a determination of a size of change in the orientation with respect to at least one axis of the 3D space being less than a threshold value, wherein a size of the processed change orientation is based on a weighted reduction of the size of the change in the orientation, when said change in the orientation is less than said threshold value, said weighting being based on the size of the change in the orientation and greater than zero (0) percent; and an orientation of the object on the screen based on the changed orientation of the hand axis and the processed change orientation.
-
14. A computer program product stored on a computer readable storage medium that is not a propagating signal or wave, the program product when communicating with an apparatus for rotating an object on a screen, is configured to control the apparatus to:
-
determine, via a hand axis determiner, an orientation of a hand axis between respective points at a first hand and a second hand, based on a first position information related to the first hand and a second position information related to the second hand; detect, via a hand axis change detector, a change in the orientation of the hand axis with respect to an axis of a 3D space, calculate, via an object rotation calculator, a rotation of the object on the screen in response to the change in the orientation, wherein the change in the orientation comprises; determine an angular change of the change in the orientation with respect to at least one axis of the 3D space based on a comparison of a size of the change in the orientation with respect to a corresponding threshold value, wherein a size of the angular change of the change orientation is represents a weighted reduction of the size of the change in the orientation when the angular change is less than said corresponding threshold value, said weighting being based on the size of the change in the orientation and greater than zero (0) percent; and orient the object based on the determined change in the orientation adjusted by the determined angular change. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer readable storage medium, that is not a propagating signal or a wave, for storing a computer program product, the computer program product configured to control an apparatus for rotating an object on a screen to:
-
define, via a hand axis definer, a hand axis between a first position information related to a first hand and a second position information related to a second hand, detect, via a hand axis orientation detecting processor, a changed orientation of the hand axis with respect to an axis of a 3D space, process, via a hand axis orientation detector, containing a processor, the detected changed orientation, said process comprising; determine a processed changed orientation based on a determination of a size of said changed orientation with respect to a threshold value in at least one axis of the 3D space, wherein a size of the processed change orientation is based on a weighted reduction of the size of the change in the orientation when the changed orientation is less than said threshold value, said weighting being based on the size of the changed orientation and greater than zero (0) percent; and calculate, via an object rotation calculator, a rotation of the object on the screen in response to the processed changed orientation.
-
Specification