主权项 |
1. An object operating device that causes an object to perform a second action after performing a first action different from the second action, the object existing in a virtual three-dimensional space, a three-dimensional rotating action being contained in at least one of the first action and the second action,
the object operating device comprising: a motion data storage that stores first motion data formed with data of a plurality of unit times and second motion data formed with data of a plurality of unit times, the first motion data defining the first action, the second motion data defining the second action; a first motion data setter that sets data of an end point until which the object is made to act in accordance with the first motion data, the data of the end point being of the data of the plurality of unit times forming the first motion data; a second motion data setter that sets data of a start point from which the object is made to act in accordance with the second motion data, the data of the start point being of the data of the plurality of unit times forming the second motion data; an interpolating motion data generator that generates motion data, the motion data being data of a plurality of unit times inserted between the end point until which the object is made to act in accordance with the first motion data and the start point from which the object is made to act in accordance with the second motion data; and an object operator that operates the object by using the data of the respective unit times of the first motion data until the end point, the data of the unit times generated by the interpolating motion data generator, and the data of the respective unit times of the second motion data from the start point, wherein the interpolating motion data generator includes: a rotation specifier that specifies a rotation in a three-dimensional rotating action of the object acting in accordance with the first motion data and a rotation in a three-dimensional rotating action of the object acting in accordance with the second motion data in each unit time of the plurality of unit times inserted between the end point and the start point; a rotation decomposer that decomposes the rotation specified by the rotation specifier in each unit time of the three-dimensional rotating action of the object acting in accordance with the first motion data into scalar rotations, and decomposes the rotation specified by the rotation specifier in each unit time of the three-dimensional rotating action of the object acting in accordance with the second motion data into scalar rotations, respectively; a scalar velocity calculator that calculates a scalar velocity in each unit time of the three-dimensional rotating action of the object acting in accordance with the first motion data and a scalar velocity in each unit time of the three-dimensional rotating action of the object acting in accordance with the second motion data, based on the scalar rotations, which are obtained through the decomposition by the rotation decomposer in each unit time when the object acts in accordance with the first motion data, and the scalar rotations, which are obtained through the decomposition by the rotation decomposer in each unit time when the object acts in accordance with the second motion data, respectively; a scalar velocity specifier that specifies a scalar velocity in each unit time of the three-dimensional rotating action of the object, the scalar velocity being applied in the plurality of unit times inserted between the end point and the start point, based on the scalar velocity calculated by the scalar velocity calculator in each unit time when the object acts in accordance with the first motion data, and the scalar velocity calculated by the scalar velocity calculator in each unit time when the object acts in accordance with the second motion data; a scalar rotation calculator that calculates scalar rotations regarding the three-dimensional rotating action of the object, the scalar rotations being applied in each unit time of the plurality of unit times inserted between the end point and the start point, by performing a predetermined arithmetic operation on the scalar velocity specified by the scalar velocity specifier in each unit time; and a rotation regenerator that regenerates rotations of the object, the rotations being applied in each unit time of the plurality of unit times inserted between the end point and the start point, based on the scalar rotations calculated by the scalar rotation calculator. |