Haptic authoring
Methods are presented for authoring geometrical databases which incorporate touch or haptic feedback. In particular, a database of geometrical elements incorporates attributes necessary to support haptic interactions such as stiffness, hardness, friction, and so forth. Users may instantiate objects designed through CAD/CAM environments or attach haptic or touch attributes to subcomponents such as surfaces or solid sub-objects. The resulting haptic/visual databases or world-describing models can then be viewed and touched using a haptic browser or other appropriate user interface.
1. A computer-implemented method, comprising the steps of:
causing the display of an object in a three-dimensional graphical environment;
receiving a selection of the object;
receiving a selection of a haptic attribute from a pre-existing library of haptic attributes;
associating the haptic attribute from a pre-existing library of haptic attributes;
associating the haptic attribute with the object;
receiving a signal indicating a manipulation of a user interface device;
receiving a first mapping of a first coordinate system corresponding to an avatar;
receiving a first mapping of a second coordinate system corresponding to the user interface device;
creating a hierarchy of mapping based on the first mapping and second mapping;
transforming the manipulation of the user interface device into the three-dimensional graphical environment based at least in part on the hierarchy of mappings to affect a position or orientation of the avatar;
determining an interaction between the avatar and the object; and
generating a force based on the interaction and the haptic attribute.
2. The computer-implemented method of claim 1 , wherein the force comprises one of a snap to grid force, simulated frictional force, simulated viscosity force, simulated repulsive force, or simulated attractive force.
3. The computer-implemented method of claim 1 , wherein the force is configured to aid a user in selecting a point on an object.
4. The computer-implemented method of claim 1 , wherein receiving a selection of the haptic attribute comprises receiving a selection of a pre-existing grouping of haptic attributes and values.
5. The computer-implemented method of claim 1 , wherein the object comprises a hierarchy of sub-objects, and wherein associating the haptic attribute with the object comprises associating the haptic attribute with one of the sub-objects.
6. The computer-implemented method of claim 1 , wherein the haptic attribute comprises at least one of an interior attribute, a surface attribute, a charge attribute, a physical attribute, or a constraint attribute.
7. The computer-implemented method of claim 1 , where in the second mapping comprises a plurality of mappings each associated with one of a plurality of degrees of freedom of the user interface device.
8. A computer-readable medium comprising program code, the program code comprising:
program code for causing the display of an object in a three-dimensional graphical environment;
program code for receiving a selection of the object;
program code fort receiving a selection of a haptic attribute from a pre-existing library of haptic attributes;
program code for associating the haptic attribute with the object;
program code for receiving a signal indicating a manipulation of a user interface device;
program code for receiving a first mapping of a first coordinate system corresponding to an avatar;
program code for receiving a second mapping of a second coordinate system corresponding to the user interface device;
program code for creating a hierarchy of mappings based on the first mapping and second mapping;
program code for transforming the manipulation of the user interface device into the three-dimensional graphical environment based at least in part on the hierarchy of mappings to affect a position or orientation of the avatar;
program code for determining an interaction between the avatar and the object; and
program code for generating a force based on the interaction and the haptic attribute.
9. the computer-readable medium of claim 8 , wherein the force comprises one of a snap to grid force, simulated frictional force, simulated viscosity force, simulated repulsive force, or simulated attractive force.
10. The computer-readable medium of claim 8 , wherein force is configured to aid a user in selecting a point on an object.
11. The computer-readable medium of claim 8 , wherein receiving a selection of the haptic attribute comprises receiving a selection of a pre-existing grouping haptic attributes and values.
12. The computer-readable medium of claim 8 , wherein the object comprises a hierarchy of sub-objects, and wherein associating the haptic attribute with the object comprises associating the haptic attribute with one of the sub-objects.
13. The computer-readable medium of claim 8 , wherein the haptic attribute comprises at least one of an interior attribute, a surface attribute, a charge attribute, a physical attribute, or a constraint attribute.
14. The computer-readable medium of claim 8 , wherein in the second mapping comprises a plurality of mappings each associated with one of a plurality of degrees of freedom of the user interface device.