Image display apparatus, method and program based on rigid body dynamics
First Claim
1. A computer-implemented method, using a computer having at least a processing unit and a memory, for determining motion of simulated objects each of which is represented by a data structure indicating characteristics of the simulated object, wherein each of at least some of the simulated objects have visual characteristics and simulated physical characteristics and wherein the motion of the simulated objects is to be in compliance with a physics model and is to be represented on a display device such that a viewer perceives the motion of the simulated objects in compliance with the physics model, the method comprising:
- storing, in the memory, position parameters and velocity parameters, the position and velocity parameters defining an initial state of the physics model and the simulated objects;
storing, in the memory, constraint parameters defining at least one constraint function constraining the motion of the simulated objects according to the physics model, wherein the constraint parameters include at least one position constraint constraining the motion of the plurality of rigid bodies;
calculating, using the processor, the position and velocity parameters defining the state of the simulated objects after a predetermined time step based on rigid body dynamics, including;
a) carrying out a semi-implicit integration step subject to the constraints constraining the motion of the simulated objects, to determine the velocity after the step; and
b) determining constraint forces that act to keep the simulated objects in compliance with the constraints by ensuring that the first derivative of the constraint function is zero;
generating, using the processor, at the end of the predetermined time step, a screen image of a series of screen images for display on the display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and
displaying the screen image on the display device;
wherein the physics model includes a model of friction in which the frictional force between a pair of objects is independent of a normal force between the objects for both elastic and inelastic collisions.
4 Assignments
0 Petitions
Accused Products
Abstract
An image display system and method that use physical models to produce a realistic display of a scene are disclosed. The image display method involves operating a computer having a display screen, a memory and a processing unit for simulating the motion of objects and displaying the results on the display screen. The method includes the steps of storing in the memory position and velocity parameters which define an initial state of a model system having a plurality of bodies, storing in the memory parameters which define at least one constraint function constraining the motion of the bodies in the model system, and calculating in the processor the position and velocity parameters which define the state of the system after a predetermined time step based on rigid body dynamics, including carrying out a semi-implicit integration step subject to the constraints, to determine the velocity after the step, including determining the constraint forces that act to keep the system in compliance with the constraints by ensuring that the first derivative of the constraint function is zero.
-
Citations
41 Claims
-
1. A computer-implemented method, using a computer having at least a processing unit and a memory, for determining motion of simulated objects each of which is represented by a data structure indicating characteristics of the simulated object, wherein each of at least some of the simulated objects have visual characteristics and simulated physical characteristics and wherein the motion of the simulated objects is to be in compliance with a physics model and is to be represented on a display device such that a viewer perceives the motion of the simulated objects in compliance with the physics model, the method comprising:
-
storing, in the memory, position parameters and velocity parameters, the position and velocity parameters defining an initial state of the physics model and the simulated objects; storing, in the memory, constraint parameters defining at least one constraint function constraining the motion of the simulated objects according to the physics model, wherein the constraint parameters include at least one position constraint constraining the motion of the plurality of rigid bodies; calculating, using the processor, the position and velocity parameters defining the state of the simulated objects after a predetermined time step based on rigid body dynamics, including; a) carrying out a semi-implicit integration step subject to the constraints constraining the motion of the simulated objects, to determine the velocity after the step; and b) determining constraint forces that act to keep the simulated objects in compliance with the constraints by ensuring that the first derivative of the constraint function is zero; generating, using the processor, at the end of the predetermined time step, a screen image of a series of screen images for display on the display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and displaying the screen image on the display device; wherein the physics model includes a model of friction in which the frictional force between a pair of objects is independent of a normal force between the objects for both elastic and inelastic collisions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer readable medium storing a plurality of program code for controlling a data processor of a computer system, that when executed, cause the data processor to perform one or more tasks for simulating the motion of objects and displaying the results on a display screen, the computer system including a memory having memory locations for position parameters and for velocity parameters, the position and velocity parameters defining an initial state of a model system having a plurality of bodies, the plurality program code comprising:
-
program code for storing, in the memory, constraint parameters defining at least one constraint function constraining the motion of the bodies in the model system, wherein the constraint parameters include at least one position constraint constraining the motion of the plurality of rigid bodies; program code for calculating the position and velocity parameters defining the state of the system after a predetermined time step based on rigid body dynamics, including; a) program code for performing a semi-implicit integration step subject to the constraints constraining the motion of the simulated objects to determine the velocity after the step; and b) program code for determining constraint forces that act to keep the system in compliance with the constraints by ensuring that the first derivative of the constraint function is zero; and program code for generating, at the end of the predetermined time step, a screen image of a series of screen images for display on the display screen, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and program code for displaying the screen image on the display screen, wherein the model system includes a model of friction in which the frictional force between a pair of objects is independent of a normal force between the objects for both elastic and inelastic collisions. - View Dependent Claims (14, 15)
-
-
16. Apparatus for simulating the motion of objects and displaying the results on a display screen comprising:
-
a display screen, a memory, a processing unit, and a computer program stored in the memory for causing the apparatus to carry out the steps of; a) storing in the memory position and velocity parameters defining an initial state of a model system having a plurality of bodies, b) storing in the memory parameters defining at least one constraint function constraining the motion of the bodies in the model system, wherein the at least one constraint function defines at least one position constraint constraining the motion of the plurality of rigid bodies, c) storing in the memory parameters defining a bounded constraint force to simulate the effects of friction in which the constraint force acts in the plane of contact between a pair of objects to prevent sliding of one of the pair of objects over the other of the pair, wherein the constraint force is bounded to be not greater than a predetermined constant value to allow sliding of the objects over one another and thus include dynamic friction in the simulation, and wherein the bounded constraint force is independent of a normal force between the objects for both elastic and inelastic collisions; d) calculating in the processor the position and velocity parameters defining the state of the system after a predetermined time step based on rigid body dynamics, including i) carrying out a semi-implicit integration step subject to the constraints, to determine the velocity after the step; and ii) determining the constraint forces that act to keep the system in compliance with the constraints by ensuring that the first derivative of the constraint function is zero; and e) generating, at the end of the predetermined time step, a screen image of a series of screen images for display on the display screen, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step, and f) displaying, on the display screen, the screen image.
-
-
17. A computer-implemented method, using a computer, for simulating movement of a plurality of rigid bodies according to a physics model by calculating motion of the plurality of the rigid bodies the method comprising:
-
storing, into storage accessible to the computer, position parameters defining initial positions of a plurality of rigid bodies; defining at least one position constraint constraining the motion of the plurality of rigid bodies, the at least one position constraint defining constraints on positions of the plurality of rigid bodies represented by the position parameters read from the storage; providing the at least one position constraint to the computer; determining a bounded constraint force, using the computer, wherein the bounded constraint force represents a frictional force between a pair of objects of the plurality of rigid bodies, the frictional force acting in a plane of contact between the pair of objects and wherein at least one reaction force is bounded to be not greater than a predetermined value relative to the frictional force, and wherein the bounded constraint force is independent of a normal force between the objects for both elastic and inelastic collisions; calculating, using the computer, new position parameters for the plurality of rigid bodies using the computer, the new position parameters defining new positions of the plurality of rigid bodies after a predetermined time step, wherein the new position parameters depend on at least one reaction force that acts to keep the plurality of rigid bodies in compliance with the at least one position constraint, such that the new position parameters satisfy the at least one position constraint directly without an iterative error process; and generating, using the processor, at the end of the predetermined time step, a screen image of a series of screen images for display on a display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and displaying the screen image on the display device. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A computer system comprising a processor and instruction memory, the instruction memory comprising instructions that, when executed, calculate simulated movement of a plurality of rigid bodies according to a physics model from stored representations of the plurality of rigid bodies, the computer system comprising:
-
a data memory configured to store position parameters defining initial positions of the plurality of rigid bodies; a constraint definer that, when executed, defines at least one position constraint constraining motion of the plurality of rigid bodies, the at least one position constraint defining constraints on positions of the plurality of rigid bodies represented by the stored position parameters read from the storage; a friction modeler operable to determine a bounded constraint force, wherein the bounded constraint force represents a frictional force between a pair of objects of the plurality of rigid bodies, the frictional force acting in a plane of contact between the pair of objects, wherein at least one reaction force is bounded to be not greater than a predetermined value relative to the frictional force, and wherein the bounded constraint force is independent of a normal force between the objects for both elastic and inelastic collisions; and a position parameter calculator that, when executed, calculates new position parameters for the plurality of rigid bodies defining new positions of the plurality of rigid bodies after a predetermined time step, wherein the new position parameters depend on at least one reaction force that acts to keep the plurality of rigid bodies in compliance with the at least one position constraint, such that the new position parameters satisfy the at least one position constraint directly without an iterative error process; a image generator that when executed at the end of the predetermined time step, generates a screen image of a series of screen images for display on a display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based at least in part on the position parameters for the plurality of rigid bodies at the end of the predetermined time step; wherein the processor is configured, when executed, to perform processing operations that implement the constraint definer and the position parameter calculator in accordance with computer executable instructions stored in the instruction memory. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. Processing apparatus for calculating simulated movement of a plurality of rigid bodies according to a physics model, the processing apparatus comprising:
-
means for storing position parameters defining initial positions of a plurality of rigid bodies; means for defining at least one position constraint constraining the motion of the plurality of rigid bodies, the at least one position constraint defining constraints on positions of the plurality of rigid bodies represented by the position parameters read from the means for storing; means for determining a bounded constraint force, wherein the bounded constraint force represents a frictional force between a pair of objects of the plurality of rigid bodies, the frictional force acting in a plane of contact between the pair of objects, wherein at least one reaction force is bounded to be not greater than a predetermined value relative to the frictional force, and wherein the bounded constraint force is independent of a normal force between the objects for both elastic and inelastic collisions; means for calculating new position parameters for the plurality of rigid bodies defining new positions of the plurality of rigid bodies after a predetermined time step, wherein the new position parameters depend on at least one reaction force that acts to keep the plurality of rigid bodies in compliance with the at least one position constraint, such that the new position parameters satisfy the at least one position constraint directly without an iterative error process; and means for generating, at the end of the predetermined time step, a screen image of a series of screen images for display on a display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and means for displaying the screen image on the display device.
-
-
36. A data carrier tangibly embodying a program of machine readable instructions executable by a digital processing apparatus having stored thereon instructions that, when executed, calculate simulated movement of a plurality of rigid bodies according to a physics model, the program comprising:
-
program code for storing, into storage accessible to the computer, position parameters defining initial positions of a plurality of rigid bodies; program code for defining at least one position constraint constraining the motion of the plurality of rigid bodies, the at least one position constraint defining constraints on positions of the plurality of rigid bodies represented by the position parameters read from the storage; program code for determining a bounded constraint force, wherein the bounded constraint force represents a frictional force between a pair of objects of the plurality of rigid bodies, the frictional force acting in a plane of contact between the pair of objects, wherein at least one reaction force is bounded to be not greater than a predetermined value relative to the frictional force, and wherein the bounded constraint force between the pair of objects is independent of a normal force between the objects for both elastic and inelastic collisions; program code for calculating new position parameters for the plurality of rigid bodies defining new positions of the plurality of rigid bodies after a predetermined time step, wherein the new position parameters depend on at least one reaction force that acts to keep the plurality of rigid bodies in compliance with the at least one position constraint, such that the new position parameters satisfy the at least one position constraint directly without an iterative error process; and program code for generating, at the end of the predetermined time step, a screen image of a series of screen images for display on a display device, the screen image displaying a view of the simulated objects such that the viewer can perceive the motion of the simulated objects in compliance with the physics model, the screen image being based on the calculated position and velocity parameters defining the state of the simulated objects at the end of the predetermined time step; and program code for displaying the screen image on the display device. - View Dependent Claims (37, 38, 39, 40, 41)
-
Specification