Systems and methods for interacting with virtual objects in a haptic virtual reality environment
First Claim
1. A method for interfacing with a virtual object in a haptic virtual environment, comprising:
- generating a virtual object comprising a virtual surface in the haptic virtual environment;
sensing a location of a user in real space;
determining a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment;
determining a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
determining locations for the plurality of discrete points of the virtual tool in the haptic virtual environment in comparison to the haptic interface location and a location of the virtual surface;
determining if at least one of the plurality of discrete points of the virtual tool penetrates the virtual surface;
if at least one of the plurality of discrete points penetrates the virtual surface, determining a geometry for the virtual surface at an area of penetration of the virtual tool; and
limiting movement of the virtual tool based on (i) the geometry of the virtual surface, (ii) at least one location of at least one of the plurality of discrete points, and (iii) the haptic interface location.
5 Assignments
0 Petitions
Accused Products
Abstract
A user of a modeling application uses a haptic interface device in the real world to manipulate a virtual tool in a virtual environment to interact with a virtual object. The user can use the tool to evaluate the shape of the virtual object and navigate its virtual surface, based on an interactive force feedback approach. When the user attempts to penetrate the virtual object with the virtual tool, a modeling application limits the movement of the virtual tool depending on the geometry of the surface, the position of the virtual tool, and a haptic interface location in the virtual environment, which represents the physical location of the haptic interface device in the real world. The user can evaluate different geometries of the virtual surface, including an edge geometry, such as occurs when the virtual tool is touching or moving along an edge of the virtual object.
340 Citations
44 Claims
-
1. A method for interfacing with a virtual object in a haptic virtual environment, comprising:
-
generating a virtual object comprising a virtual surface in the haptic virtual environment;
sensing a location of a user in real space;
determining a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment;
determining a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
determining locations for the plurality of discrete points of the virtual tool in the haptic virtual environment in comparison to the haptic interface location and a location of the virtual surface;
determining if at least one of the plurality of discrete points of the virtual tool penetrates the virtual surface;
if at least one of the plurality of discrete points penetrates the virtual surface, determining a geometry for the virtual surface at an area of penetration of the virtual tool; and
limiting movement of the virtual tool based on (i) the geometry of the virtual surface, (ii) at least one location of at least one of the plurality of discrete points, and (iii) the haptic interface location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for interfacing with a virtual object in a haptic virtual environment, comprising:
-
the virtual object comprising a virtual surface;
a haptic interface device, wherein the haptic interface device senses a location of a user in real space;
a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment; and
a modeling application in communication with the haptic interface device, the virtual object, and the virtual tool, wherein the modeling application (a) determines a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
(b) determines locations for the plurality of discrete points of the virtual tool in the haptic virtual environment in comparison to the haptic interface location and a location of the virtual surface;
(c) determines a geometry for the virtual surface at an area where at least one of the plurality of discrete points of the virtual tool penetrates the virtual surface; and
(d) limits movement of the virtual tool based on (i) the geometry of the virtual surface, (ii) at least one location of at least one of the plurality of discrete points, and (iii) the haptic interface location.- View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for interfacing with a virtual surface in a haptic virtual environment, comprising:
-
generating a virtual surface in the haptic virtual environment;
sensing a location of a user in real space;
determining a virtual representation of the user in real space, the virtual representation comprising a plurality of discrete points;
determining a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
determining a virtual representation location in the haptic virtual environment;
moving the virtual representation location toward the haptic interface location in the haptic virtual environment; and
limiting movement of the virtual representation based on a geometry of the surface and on preventing any one of the plurality of discrete points of the virtual representation from substantially penetrating the virtual surface. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for interfacing with a virtual surface in a haptic virtual environment, comprising:
-
generating a virtual surface in the haptic virtual environment;
sensing a location of a user in real space;
determining a virtual representation of the user in real space, the virtual representation comprising a plurality of discrete points;
determining a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
determining a virtual representation location in the haptic virtual environment;
proposing to move the virtual representation to a first proposed location in the direction of the haptic interface location;
evaluating at least one of the plurality of discrete points of the virtual representation to detect interference of the virtual representation with the virtual surface for the first proposed location of the virtual representation;
moving the virtual representation to the first proposed location if no interference of the virtual representation with the virtual surface is detected; and
proposing a second location of the virtual representation if interference of the virtual representation with the virtual surface is detected at the first proposed location. - View Dependent Claims (38, 39, 40, 41, 42, 43)
evaluating at least one of the discrete set of points to check for interference of the virtual representation with the virtual surface for the second proposed location of the virtual representation; moving the virtual representation to the second proposed location if no interference of the virtual representation with the virtual surface is detected; and
proposing a third location of the virtual representation if interference of the virtual representation with the virtual surface is detected at the second proposed location.
-
-
41. The method of claim 40 further comprising a step of determining a line formed by the intersection of two planes, the two planes derived from local geometry information in a region near the first proposed location and the second proposed location, and wherein the step of proposing the third proposed location comprises determining the third proposed location in the direction of the line.
-
42. The method of claim 40 further comprising a step of determining a resultant vector from the cross product of two vectors derived from local geometry information in a region near the first proposed location and second proposed location, and wherein the step of proposing the third proposed location comprises determining the third proposed location in the direction of the proposed resultant vector.
-
43. The method of claim 37 further comprising the steps of
evaluating at least one of the discrete set of points to detect interference of the virtual representation with the virtual surface for the second proposed location of the virtual representation; -
moving the virtual representation to the second proposed location if no interference of the virtual representation with the virtual surface is detected; and
proposing a third location of the virtual representation if interference of the virtual representation with the virtual surface is detected at the second proposed location.
-
-
44. A method for interfacing with a virtual surface in a haptic virtual environment, comprising:
-
generating a virtual surface in the haptic environment based on a set of scalar values arranged in a three dimensional grid;
sensing a location of a user in real space;
determining a virtual representation of the user in real space;
determining a haptic interface location in the haptic virtual environment in response to the location of the user in real space;
determining a virtual representation location in the haptic virtual environment;
moving the virtual representation location in the haptic virtual environment based on the previous virtual representation location, the haptic interface location in the virtual environment, and the geometry of the virtual surface.
-
Specification