Indirect object manipulation in a simulation
First Claim
1. A method for interactive manipulation of an animated object displayed in a repeatedly updated three-dimensional simulation on a computer controlled display system having a computer and a two-dimensional display coupled to the computer, comprising the steps of:
- a) providing a user actuated input controller signal for selectively positioning a two dimensional cursor point on the two-dimensional display;
b) providing on the display a user cursor corresponding to the position of the cursor point and at least one animated object, each animated object having associated therewith;
i) geometrical data indicating location of the animated object within the display;
ii) a physical model representing a free body diagram of the animated object;
iii) a pre-defined set of instructions representing both user-applied and other forces exerted on the physical model of the animated object;
c) positioning the user cursor adjacent to the animated object and signalling the computer to activate a force application mode;
d) applying a user-applied displacement force to the physical model for the animated object in response to force application mode signals from the computer, the user-applied displacement force being applied in a direction consistent with a goal of maintaining the animated object in close proximity to the user cursor in the coordinate space of the display;
e) simultaneously resolving the user-applied displacement force with the other forces independent of user input exerted on the animated object within the physical model, the resolution of forces providing a state change in at least one of the animated object or a user viewpoint projection of the animated object within the simulation; and
f) re-displaying the simulation in accordance with the state change occurring in step e).
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for user interaction with animated objects displayed in a repeatedly updated 3-D computer simulated environment using 2-D cursor and button input. The invention provides for user manipulation of 3-D objects in a simulation where conflicting goals may be simultaneously applied to the objects and resolved. All goals acting on an object are translated to equivalent information in terms of physical forces, and are applied as forces via a physically based model, where this model has no knowledge as to the source of each force. Each user is treated as an entity in the environment, with a positional presence. The positional presence of a user is represented by a user object displayed in the simulation. The invention provides a unique interface to a real-time simulation that is easy to use, by virtue of mapping a subset of the inputs to actions consistent with the expectation of the user actually being physically present within the environment. Moreover, the invention can be implemented on a wide range of low cost computing systems, as the requirements are for a minimum of 2-D input and output.
-
Citations
23 Claims
-
1. A method for interactive manipulation of an animated object displayed in a repeatedly updated three-dimensional simulation on a computer controlled display system having a computer and a two-dimensional display coupled to the computer, comprising the steps of:
-
a) providing a user actuated input controller signal for selectively positioning a two dimensional cursor point on the two-dimensional display;
b) providing on the display a user cursor corresponding to the position of the cursor point and at least one animated object, each animated object having associated therewith;
i) geometrical data indicating location of the animated object within the display;
ii) a physical model representing a free body diagram of the animated object;
iii) a pre-defined set of instructions representing both user-applied and other forces exerted on the physical model of the animated object;
c) positioning the user cursor adjacent to the animated object and signalling the computer to activate a force application mode;
d) applying a user-applied displacement force to the physical model for the animated object in response to force application mode signals from the computer, the user-applied displacement force being applied in a direction consistent with a goal of maintaining the animated object in close proximity to the user cursor in the coordinate space of the display;
e) simultaneously resolving the user-applied displacement force with the other forces independent of user input exerted on the animated object within the physical model, the resolution of forces providing a state change in at least one of the animated object or a user viewpoint projection of the animated object within the simulation; and
f) re-displaying the simulation in accordance with the state change occurring in step e). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
a) processing geometrical data within the simulation using the user viewpoint projection to create a succession of two-dimensional images on the display;
b) calculating the parameters of a cursor line within the simulation as a function of the cursor point, the user viewpoint projection and an eyepoint, wherein the eyepoint represents the position of the user'"'"'s eye within the simulation;
c) calculating an initial ideal point as the approximate intersection of the cursor line with geometrical data within the simulation;
d) selecting via user input the calculated ideal point where the associated geometrical data defines a component of the animated object;
e) maintaining a collection of selected object data;
f) calculating a current ideal point using the initial ideal point and the cursor point in response to cursor motion;
g) calculating a coordinate point representing the current state of the animated object;
h) calculating the difference between the current ideal point and the calculated coordinate representing the current state of the animated object, the calculated difference defining an object motion direction vector corresponding to the applied displacement force; and
i) calculating the applied displacement force acting upon the animated object as a function of the object motion direction vector.
-
-
3. The method of claim 2, which further includes one animated object as a user object representing the user'"'"'s presence in the simulation, the user object being linked in association with the user cursor.
-
4. The method of claim 3, wherein the step of positioning the user cursor and signalling the computer to activate a force application mode includes the step of causing the user object to select an animated object in the display.
-
5. The method of claim 4, wherein the animated object selected by the user object is immovable and the step of re-displaying the state change creates the impression that the user object is moving through the simulation by self-locomotion.
-
6. The method of claim 5, wherein the user object includes a component in the form of a hand and the step of selecting includes forming the hand to grasp the selected animated object.
-
7. The method of claim 1, wherein the input controller signal is from a mouse.
-
8. The method of claim 7, wherein the step of positioning the user cursor and signaling the computer to activate a force application mode includes the step of activating a switch.
-
9. The method of claim 8, wherein the step of activating a switch comprises pressing a button on the mouse.
-
10. The method of claim 2, wherein a plurality of animated objects are displayed on the display and wherein at least one of the plurality of animated objects represents the presence of a second user in the simulation.
-
11. The method of claim 2, wherein the step of applying a displacement force includes the step of varying applied force in accordance with magnitude of displacement of the user cursor from the apparent position of the animated object displayed on the display.
-
12. An apparatus for interactive manipulation of animated objects displayed in a repeatedly updated three-dimensional simulation on a computer controlled display system having a computer and a two-dimensional display coupled to the computer, comprising:
-
a) means for selectively positioning a two dimensional cursor point on a two-dimensional display;
b) means for displaying a user cursor corresponding to the position of the cursor point and at least one animated object, the at least one animated object having associated therewith;
i) geometrical data indicating location of the animated object within the display;
ii) a physical model representing a free body diagram of the animated object;
iii) a pre-defined set of instructions representing both user-applied and other forces exerted on the physical model of the animated object;
c) means for positioning the user cursor adjacent to the animated object and signalling the computer to activate a force application mode;
d) means for applying a user-applied displacement force to the physical model for the animated object in response to force application mode signals from the computer, the user-applied displacement force being applied in a direction consistent with a goal of maintaining the animated object in close proximity to the user cursor in the coordinate space of the display;
e) means for simultaneously resolving the user-applied displacement force with the other forces independent of user input exerted on the animated object within the physical model, the resolution of forces providing a state change in at least one of the animated object or a user viewpoint projection of the animated object within the simulation; and
f) means for re-displaying the simulation in accordance with the state change occurring in step f). - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
a) means for processing geometrical data within the simulation using the user viewpoint projection to create a succession of two-dimensional images on the display;
b) means for calculating the parameters of a cursor line within the simulation as a function of the cursor point, the user viewpoint projection and an eyepoint, wherein the eyepoint represents the position of the user'"'"'s eye within the simulation;
c) means for calculating an initial ideal point as the approximate intersection of the cursor line with geometrical data within the simulation;
d) means for selecting via user input the calculated ideal point where the associated geometrical data defines a component of the animated object;
e) means for maintaining a collection of selected object data;
f) means for calculating a current ideal point using the initial ideal point and the cursor point in response to cursor motion;
g) means for calculating a coordinate point representing the current state of the animated object;
h) means for calculating the difference between the current ideal point and the calculated coordinate representing the current state of the animated object, the calculated difference defining an object motion direction vector corresponding to the applied displacement force; and
i) means for calculating the applied displacement force acting upon the animated object as a function of the object motion direction vector.
-
-
14. The apparatus of claim 13, wherein the at least one animated object further includes a user object representing the user'"'"'s presence in the simulation, the user object being linked in association with the user cursor.
-
15. The apparatus of claim 13, wherein the means for positioning the user cursor and signalling the computer to activate a force application mode includes means for causing the user object to select an animated object in the display.
-
16. The apparatus of claim 15, wherein the animated object selected by the user object is immovable such that re-display of the state change creates the impression that the user object is moving through the simulation by self-locomotion.
-
17. The apparatus of claim 16, wherein the user object includes a component in the form of a hand and the means for selecting includes means for forming the hand to grasp the selected animated object.
-
18. The apparatus of claim 12, wherein the input controller signal is from a mouse.
-
19. The apparatus of claim 18, wherein the means for positioning the user cursor and signaling the computer to activate a force application mode includes means for activating a switch.
-
20. The apparatus of claim 19, wherein the means for activating a switch comprises a depressible button on the mouse.
-
21. The apparatus of claim 13, wherein a plurality of animated objects are displayed on the display and wherein at least one of the plurality of animated objects represents the presence of a second user in the simulation.
-
22. The apparatus of claim 13, wherein the means for applying a displacement force includes means for varying applied force in accordance with magnitude of displacement of the user cursor from the apparent position of the animated object displayed on the display.
-
23. A computer program product for interactively manipulating animated objects displayed in a repeatedly updated three-dimensional simulation on a computer controlled display system having a computer and a two-dimensional display coupled to the computer, comprising:
-
a) a computer-readable medium;
b) first program instruction means for instructing a processor to selectively position a two dimensional cursor point on a two-dimensional display;
c) second program instruction means for instructing a processor to display a user cursor corresponding to the position of the cursor point and at least one animated object, the at least one animated object having associated therewith;
i) geometrical data indicating location of the animated object within the display;
ii) a physical model representing a free body diagram of the animated object;
iii) a pre-defined set of instructions representing both user-applied and other forces exerted on the physical model of the animated object;
d) third program instruction means for instructing a processor to position the user cursor adjacent to the animated object and to signal the computer to activate a force application mode;
e) fourth program instruction means for instructing a processor to apply a user-applied displacement force to the physical model for the animated object in response to force application mode signals from the computer, the user-applied displacement force being applied in a direction consistent with a goal of maintaining the animated object in close proximity to the user cursor in the coordinate space of the display;
f) fifth program instruction means for instructing a processor to simultaneously resolve the user-applied displacement force with the other forces independent of user input exerted on the animated object within the physical model, the resolution of forces providing a state change in at least one of the animated object or a user viewpoint projection of the animated object within the simulation;
g) sixth program instruction means for instructing a processor to re-display the simulation in accordance with state changes occurring in the animated object and user view point projection; and
h) wherein each of said program instruction means is recorded on said medium.
-
Specification