Patent ID: 8751203

Claim:
A method for providing an interactive simulation of a virtual environment to a user at a simulator station, said method comprising: storing physics data on a computer accessible memory coupled with a physics engine, said physics data defining physics parameters of a plurality of virtual objects in a virtual scene, and including position data reflecting respective positions of the virtual objects in the virtual scene: passing, to the physics engine, data identifying at least one of the virtual objects and defining a value of force or torque, said physics engine modifying the physics data in the memory so that the position data of the at least one of the virtual objects in the memory reflects a modified position that corresponds to a result in the virtual environment of the force or torque acting on the at least one of the virtual objects pursuant to physics rules of said physics engine; obtaining and storing said modified position data so as to be accessible to a computerized viewer; and rendering an image corresponding to a view of the virtual scene using said computerized viewer, said view including a view of at least a portion of said at least one of the virtual objects in said modified position; receiving route data at said simulator station over a network connected therewith, said receiving route data at said simulator station over a network connected therewith, said route data defining for the virtual object a point in the scene and a time by which said virtual object is to move to said point in the scene; and determining a first force or torque value to be applied to the virtual object or a part thereof configured to move said virtual object to the point in the scene by the time; and passing said first force or torque value to said physics engine; obtaining first position data of the virtual object after processing of said first force or torque value by the physics engine; and determining a second force or torque value to be applied to the virtual object or a part thereof configured to move said virtual object to the point in the scene by the time based on the first position data for the virtual object; and determining whether the virtual object is delayed in reaching the point in the scene by being obstructed by another virtual object defined by the physics data in the virtual scene; and taking action responsive to a determination of obstruction to reach the point by the time; said action comprising determining a route to the point that avoids the obstructing virtual object and determining a corrective force or torque value configured to cause said virtual object to follow said route, and passing said corrective force or torque to said physics engine.