Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
First Claim
1. An orientation calculation apparatus for obtaining data from an input device including at least an angular rate sensor and an acceleration sensor, and calculating a three dimensional orientation of the input device in a three-dimensional space, the apparatus comprising:
- a processor;
a memory coupled to said processor, said memory storing instructions that, when executed by said processor, control said processor to;
calculate data of the three-dimensional orientation of the input device in accordance with an angular rate detected by the angular rate sensor;
calculate a three-dimensional acceleration vector providing orientation information for the input device in accordance with acceleration data from the acceleration sensor;
calculate an acceleration projection vector projected onto a plane perpendicular to a predetermined axis, wherein the predetermined axis corresponds to a direction in which the input device is oriented as detected by the angular rate sensor;
calculate a projection gravity vector which corresponds to the projection of a vertically downward direction onto the plane; and
correct the data of the three-dimensional orientation of the input device such that a direction of the three-dimensional acceleration vector in the three-dimensional space approaches the vertically downward direction in the three-dimensional space, wherein,the data of the three-dimensional orientation of the input device is corrected so as to at least rotate the three-dimensional orientation of the input device about the predetermined axis in such a direction that a direction of the acceleration projection vector approaches a direction of the projected gravity vector.
1 Assignment
0 Petitions
Accused Products
Abstract
An orientation calculation apparatus obtains data from an input device including at least a gyroscope and an acceleration sensor, and calculates an orientation of the input device in a three-dimensional space. Orientation calculation means calculates the orientation of the input device in accordance with an angular rate detected by the gyroscope. Acceleration vector calculation means calculates an acceleration vector representing an acceleration of the input device in accordance with acceleration data from the acceleration sensor. Correction means corrects the orientation of the input device such that a direction of the acceleration vector in the space approaches a vertically downward direction in the space. Also, the correction means corrects the orientation of the input device such that a directional change before and after the correction is minimized regarding a predetermined axis representing the orientation of the input device.
-
Citations
17 Claims
-
1. An orientation calculation apparatus for obtaining data from an input device including at least an angular rate sensor and an acceleration sensor, and calculating a three dimensional orientation of the input device in a three-dimensional space, the apparatus comprising:
-
a processor; a memory coupled to said processor, said memory storing instructions that, when executed by said processor, control said processor to; calculate data of the three-dimensional orientation of the input device in accordance with an angular rate detected by the angular rate sensor; calculate a three-dimensional acceleration vector providing orientation information for the input device in accordance with acceleration data from the acceleration sensor; calculate an acceleration projection vector projected onto a plane perpendicular to a predetermined axis, wherein the predetermined axis corresponds to a direction in which the input device is oriented as detected by the angular rate sensor; calculate a projection gravity vector which corresponds to the projection of a vertically downward direction onto the plane; and correct the data of the three-dimensional orientation of the input device such that a direction of the three-dimensional acceleration vector in the three-dimensional space approaches the vertically downward direction in the three-dimensional space, wherein, the data of the three-dimensional orientation of the input device is corrected so as to at least rotate the three-dimensional orientation of the input device about the predetermined axis in such a direction that a direction of the acceleration projection vector approaches a direction of the projected gravity vector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium having stored therein an orientation calculation program to be executed by a computer of an orientation calculation apparatus for obtaining data from an input device including at least an angular rate sensor and an acceleration sensor, and calculating a three-dimensional orientation of the input device in a three-dimensional space, the program causing the computer to execute:
-
calculating data of the three-dimensional orientation of the input device in accordance with an angular rate detected by the angular rate sensor; calculating a three-dimensional acceleration vector providing orientation information for the input device in accordance with acceleration data from the acceleration sensor; calculating an acceleration projection vector projected onto a plane perpendicular to a predetermined axis, wherein the predetermined axis corresponds to a direction in which the input device is oriented as detected by the angular rate sensor; calculating a projection gravity vector which corresponds to the projection of a vertically downward direction onto the plane; and correcting the data of the three-dimensional orientation of the input device such that a direction of the three-dimensional acceleration vector in the three-dimensional space approaches the vertically downward direction in the three-dimensional space, wherein, the orientation of the input device is corrected so as to at least rotate the three-dimensional orientation of the input device about the predetermined axis in such a direction that a direction of the acceleration projection vector approaches a direction of the projected gravity vector. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for obtaining data from an input device including at least an angular rate sensor and an acceleration sensor, and calculating a three-dimensional orientation of the input device in a three-dimensional space, the method comprising:
-
calculating data of the three-dimensional orientation of the input device in accordance with an angular rate detected by the angular rate sensor; calculating a three-dimensional acceleration vector providing orientation information for the input device in accordance with acceleration data from the acceleration sensor; calculating an acceleration projection vector projected onto a plane perpendicular to a predetermined axis, wherein the predetermined axis corresponds to a direction in which the input device is oriented as detected by the angular rate sensor; calculating a projection gravity vector which corresponds to the projection of a vertically downward direction onto the plane; and correcting the data of the three-dimensional orientation of the input device such that a direction of the three-dimensional acceleration vector in the three-dimensional space approaches the vertically downward direction in the three-dimensional space, wherein, the orientation of the input device is corrected so as to at least rotate the three-dimensional orientation of the input device about the predetermined axis in such a direction that a direction of the acceleration projection vector approaches a direction of the projected gravity vector.
-
Specification