US6552722B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Systems and methods for sculpting virtual objects in a haptic virtual reality environment
Assignee: 3D Systems Inc
•
Filing: 1999-07-06
•
Granted: 2003-04-22
•
Expires: 2019-07-06
Abstract
Abstract A user of a virtual object or computer model uses a haptic interface device in the real world to manipulate a virtual tool in a virtual environment to interact and modify the virtual object. The user uses the virtual tool in a sculpting mode to modify the shape of the virtual object by adding, removing, or modifying the material of the object. The user feels an interaction force from the virtual tool as it interacts with and modifies the virtual object. The designer can set geometric constraints, such as a constraint point, constraint line, or constraint surface, to limit or guide the movement of the virtual tool.
Inventors
- 👤 Loren Shih
- 👤 Walter A. Aviles
- 👤 Thomas H. Massie
- 👤 Walter C. Shannon, III
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 17:56
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/016; B; B33; B33Y; B33Y80/00; G06F3/017; G06F3/03; G06F3/033; G06F3/0346; G06F3/0354; G06F3/03545; G06F3/038; G06T; G06T19/00; G06T19/20; G06F2203/00; G06F2203/01; G06F2203/013; G06T2200/00; G06T2200/24; G06T2210/00; G06T2210/28; G06T2219/00; G06T2219/20; G06T2219/2021
Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
158 words
A method for modifying a voxel-based virtual object in a haptic virtual environment, comprising: determining a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment; selecting a modification mode that modifies a voxel value representative of the voxel-based virtual object; sensing a location of a user in real space; determining locations of the plurality of discrete points of the virtual tool relative to a location of the voxel-based virtual object; calculating an interaction force between the virtual tool and the voxel-based virtual object based on the locations of the plurality of discrete points of the virtual tool and the location of the voxel-based virtual object; producing a modified voxel-based virtual object by modifying the voxel-based virtual object based on the modification mode, the locations of the plurality of discrete points of the virtual tool, and the location of the voxel-based virtual object; and outputting the modified voxel-based virtual object.
Claim 2
Independent Claim
158 words
A method for modifying a voxel-based virtual object in a haptic virtual environment, comprising: determining a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment; selecting a modification mode that modifies a voxel value representative of the voxel-based virtual object; sensing a location of a user in real space; determining locations of the plurality of discrete points of the virtual tool relative to a location of the voxel-based virtual object; calculating an interaction force between the virtual tool and the voxel-based virtual object based on the locations of the plurality of discrete points of the virtual tool and the location of the voxel-based virtual object; producing a modified voxel-based virtual object by modifying the voxel-based virtual object based on the modification mode, the locations of the plurality of discrete points of the virtual tool, and the location of the voxel-based virtual object; and outputting the modified voxel-based virtual object.
Claim 3
Dependent Claim
51 words
The method of claim 1 , further comprising the steps of determining a virtual surface for the voxel-based virtual object; and determining a position and an orientation of the virtual tool by determining the locations of the plurality of discrete points relative to the virtual surface of the voxel-based virtual object.
Claim 4
Dependent Claim
24 words
The method of claim 2 , wherein the step of determining the virtual surface comprises determining a virtual isosurface for the voxel-based virtual object.
Claim 5
Dependent Claim
15 words
The method of claim 1 , wherein the voxel-based virtual object is a volumetric representation.
Claim 6
Dependent Claim
15 words
The method of claim 4 , wherein the volumetric representation comprises voxels comprising density values.
Claim 7
Dependent Claim
39 words
The method of claim 1 , wherein the step of selecting a modification mode comprises selecting at least one of a material removal mode, a material addition mode, a smoothing mode, a mirroring mode, and a 3-D sketch mode.
Claim 8
Dependent Claim
24 words
The method of claim 1 , further comprising the step of determining at least one virtual constraint for the movement of the virtual tool.
Claim 9
Dependent Claim
42 words
The method of claim 7 , wherein the step of determining at least one virtual constraint for the movement of the virtual tool comprises determining at least one of a point, curve and surface constraint for the movement of the virtual tool.
Claim 10
Dependent Claim
17 words
The method of claim 1 , further comprising the step of exporting the modified voxel-based virtual object.
Claim 11
Independent Claim
197 words
A system for modifying a voxel-based virtual object by a user in a haptic virtual environment, the system comprising: a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment, wherein the user selects a modification mode that modifies a voxel value representative of the voxel-based virtual object; a haptic interface device, wherein the haptic interface device senses a location of the user in real space; and a modeling application in communication with the haptic interface device, the voxel-based virtual object, and the virtual tool, wherein the modeling application determines locations of the plurality of discrete points of the virtual tool relative to a location of the voxel-based virtual object; calculates an interaction force between the virtual tool and the voxel-based virtual object based on the locations of the plurality of discrete points of the virtual tool and the location of the voxel-based virtual object; produces a modified voxel-based virtual object by modifying the voxel-based virtual object based on the modification mode, the locations of the plurality of discrete points of the virtual tool, and the location of the voxel-based virtual object; and outputs the modified voxel-based virtual object.
Claim 12
Independent Claim
197 words
A system for modifying a voxel-based virtual object by a user in a haptic virtual environment, the system comprising: a virtual tool comprising a plurality of discrete points for use by the user in the haptic virtual environment, wherein the user selects a modification mode that modifies a voxel value representative of the voxel-based virtual object; a haptic interface device, wherein the haptic interface device senses a location of the user in real space; and a modeling application in communication with the haptic interface device, the voxel-based virtual object, and the virtual tool, wherein the modeling application determines locations of the plurality of discrete points of the virtual tool relative to a location of the voxel-based virtual object; calculates an interaction force between the virtual tool and the voxel-based virtual object based on the locations of the plurality of discrete points of the virtual tool and the location of the voxel-based virtual object; produces a modified voxel-based virtual object by modifying the voxel-based virtual object based on the modification mode, the locations of the plurality of discrete points of the virtual tool, and the location of the voxel-based virtual object; and outputs the modified voxel-based virtual object.
Claim 13
Dependent Claim
64 words
The system of claim 10 , further comprising the voxel-based virtual object comprising a virtual surface; and the virtual tool comprising a position and an orientation, wherein the modeling application determines the position of the virtual tool and the orientation of the virtual tool by determining the locations of the plurality of discrete points relative to the virtual surface of the voxel-based virtual object.
Claim 14
Dependent Claim
19 words
The system of claim 11 , wherein the virtual surface of the voxel-based virtual object is a virtual isosurface.
Claim 15
Dependent Claim
15 words
The system of claim 10 , wherein the voxel-based virtual object is a volumetric representation.
Claim 16
Dependent Claim
15 words
The system of claim 13 , wherein the volumetric representation comprises voxels comprising density values.
Claim 17
Dependent Claim
34 words
The system of claim 10 , wherein the modification mode is a selected one of a material removal mode, a material addition mode, a smoothing mode, a mirroring mode, and a 3-D sketch mode.
Claim 18
Dependent Claim
22 words
The system of claim 10 , wherein the user determines at least one virtual constraint for a movement of the virtual tool.
Claim 19
Dependent Claim
31 words
The system of claim 16 , wherein the at least one virtual constraint for the movement of the virtual tool is at least one of a point, curve and surface constraint.
Claim 20
Dependent Claim
16 words
The system of claim 10 , wherein the modeling application exports the modified voxel-based virtual object.
Claim 21
Independent Claim
142 words
A method for interfacing with a voxel-based virtual object in a haptic virtual environment, comprising: generating a voxel-based virtual object comprising a virtual surface in the haptic virtual environment; setting a constraint geometry in the haptic virtual environment; determining a virtual tool for use by the user in the haptic virtual environment; sensing a location of a 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 position of the virtual tool in the haptic virtual environment in comparison to the haptic interface location and the location of the virtual surface and the constraint geometry; constraining an action of the virtual tool based on (i) the constraint geometry, (ii) the virtual surface, (iii) the position of the virtual tool, and (iv) the haptic interface location.
Claim 22
Independent Claim
142 words
A method for interfacing with a voxel-based virtual object in a haptic virtual environment, comprising: generating a voxel-based virtual object comprising a virtual surface in the haptic virtual environment; setting a constraint geometry in the haptic virtual environment; determining a virtual tool for use by the user in the haptic virtual environment; sensing a location of a 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 position of the virtual tool in the haptic virtual environment in comparison to the haptic interface location and the location of the virtual surface and the constraint geometry; constraining an action of the virtual tool based on (i) the constraint geometry, (ii) the virtual surface, (iii) the position of the virtual tool, and (iv) the haptic interface location.
Claim 23
Dependent Claim
29 words
The method of claim 19 , wherein the step of setting a constraint geometry comprises setting at least one of a constraint point, constraint curve, and a constraint surface.
Claim 24
Dependent Claim
33 words
The method of claim 19 , wherein the step of determining the position of the virtual tool further comprises moving the position of the virtual tool to coincide with the haptic interface location.
Claim 25
Dependent Claim
24 words
The method of claim 19 , further comprising the step of modifying the voxel-based virtual object based on the position of the virtual tool.
Claim 26
Dependent Claim
37 words
The method of claim 19 , further comprising calculating an interaction force among the constraint geometry, the voxel-based virtual object, and the virtual tool in response to the step of determining the position of the virtual tool.
Claim 27
Dependent Claim
45 words
The method of claim 19 , further comprising the steps of selecting a modification mode that modifies a voxel value representative of the voxel-based virtual object, and modifying the voxel-based virtual object in response to the modification mode and the position of the virtual tool.
Claim 28
Dependent Claim
25 words
The method of claim 19 , wherein the step of constraining the action of the virtual tool comprises constraining the translation of the virtual tool.
Claim 29
Dependent Claim
25 words
The method of claim 19 , wherein the step of constraining the action of the virtual tool comprises constraining the rotation of the virtual tool.
Claim 30
Independent Claim
176 words
A system for interfacing with a voxel-based virtual object in a haptic virtual environment, the system comprising: a voxel-based virtual object comprising a virtual surface; a virtual tool for use by the user in the haptic virtual environment; a constraint geometry limiting the movement of the virtual tool in the haptic virtual environment; a haptic interface device, wherein the haptic interface device senses a position of the user in real space; a modeling application in communication with the haptic interface device, the voxel-based virtual object, and the virtual tool, wherein the modeling application determines a haptic interface location in the haptic virtual environment in response to the location of the user in real space; determines a position of the virtual tool in the haptic virtual environment in comparison to the haptic interface location, and the location of the virtual surface and the constraint geometry; and constraining an action of the virtual tool based on (i) the constraint geometry, (ii) the virtual surface, and (iii) the position of the virtual tool, and (iv) the haptic interface location.
Claim 31
Independent Claim
176 words
A system for interfacing with a voxel-based virtual object in a haptic virtual environment, the system comprising: a voxel-based virtual object comprising a virtual surface; a virtual tool for use by the user in the haptic virtual environment; a constraint geometry limiting the movement of the virtual tool in the haptic virtual environment; a haptic interface device, wherein the haptic interface device senses a position of the user in real space; a modeling application in communication with the haptic interface device, the voxel-based virtual object, and the virtual tool, wherein the modeling application determines a haptic interface location in the haptic virtual environment in response to the location of the user in real space; determines a position of the virtual tool in the haptic virtual environment in comparison to the haptic interface location, and the location of the virtual surface and the constraint geometry; and constraining an action of the virtual tool based on (i) the constraint geometry, (ii) the virtual surface, and (iii) the position of the virtual tool, and (iv) the haptic interface location.
Claim 32
Dependent Claim
24 words
The system of claim 27 , wherein the constraint geometry is at least one of a constraint point, constraint curve, and a constraint surface.
Claim 33
Dependent Claim
32 words
The system of claim 27 , wherein the modeling application determines the position of the virtual tool by moving the position of the virtual tool to coincide with the haptic interface location.
Claim 34
Dependent Claim
23 words
The system of claim 27 , wherein the modeling application modifies the voxel-based virtual object based on the position of the virtual tool.
Claim 35
Dependent Claim
36 words
The system of claim 27 , wherein the modeling application calculates an interaction force among the constraint geometry, the voxel-based virtual object, and the virtual tool in response to determining the position of the virtual tool.
Claim 36
Dependent Claim
44 words
The system of claim 27 , further comprising a modification mode that modifies a voxel value representative of the voxel-based virtual object, and the modeling application modifies the voxel-based virtual object in response to the modification mode and the position of the virtual tool.
Claim 37
Dependent Claim
20 words
The system of claim 27 , wherein the action of the virtual tool comprises a translation of the virtual tool.
Claim 38
Dependent Claim
20 words
The system of claim 27 , wherein the action of the virtual tool comprises a rotation of the virtual tool.
References Cited (Backward Citations)
US2475484A
Cited
US3168203A
Cited
US3263824A
Cited
US3449008A
Cited
US3531868A
Cited
US3618786A
Cited
US3637092A
Cited
US3944798A
Cited
US3920972A
Cited
US4062455A
Cited
US4150803A
Cited
US4216467A
Cited
US4302138A
Cited
US4367532A
Cited
US4420808A
Cited
US4638798A
Cited
US4521685A
Cited
US4655673A
Cited
US4604016A
Cited
US4670851A
Cited
US4703443A
Cited
US4676002A
Cited
US4653011A
Cited
US4654648A
Cited
US4661032A
Cited
US4632341A
Cited
US4729098A
Cited
US4769763A
Cited
US4680519A
Cited
US5103404A
Cited
US4973215A
Cited
US4837734A
Cited
US4888538A
Cited
US4791934A
Cited
US4945305A
Cited
US4795296A
Cited
US4853874A
Cited
US4819195A
Cited
US4945501A
Cited
US4800721A
Cited
US4988981B1
Cited
US4988981A
Cited
US4893981A
Cited
US5018922A
Cited
US4839838A
Cited
US4961138A
Cited
US4823634A
Cited
US5088046A
Cited
US4942538A
Cited
US4982504A
Cited
US5040306A
Cited
US5038089A
Cited
US4907970A
Cited
US5053975A
Cited
US5116180A
Cited
US5105367A
Cited
US4907973A
Cited
US5189806A
Cited
US5116051A
Cited
US5044956A
Cited
US5019761A
Cited
US5088055A
Cited
US5007300A
Cited
US5004391A
Cited
US5204824A
Cited
US5130632A
Cited
US5072361A
Cited
US5184319A
Cited
US5255211A
Cited
US5396265A
Cited
US5193963A
Cited
US5223776A
Cited
US5142931A
Cited
US5143505A
Cited
US5354162A
Cited
US5497452A
Cited
US5131844A
Cited
US5266875A
Cited
US5185561A
Cited
US5559412A
Cited
US5414337A
Cited
US5220260A
Cited
US5889670A
Cited
US5515078A
Cited
US5239246A
Cited
US5751289A
Cited
US5264768A
Cited
US5790108A
Cited
US5831408A
Cited
US5629594A
Cited
US5459382B1
Cited
US5389865A
Cited
US5459382A
Cited
US5769640A
Cited
US5844392A
Cited
US5555894A
Cited
US5429140A
Cited
US5805140A
Cited
US5739811A
Cited
US5880714A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2006-04-21 | 2006-10-21 | 2007-04-22 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2010-04-21 | 2010-10-21 | 2011-04-22 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2014-04-21 | 2014-10-21 | 2015-04-22 | $7700.00 | Window Closed / Lapsed |