IP Library Granted Patent US 10,579,207
Granted Patent B2
US 10,579,207 · App. 14/712,695 · Granted Mar 3, 2020

Manipulating virtual environment using non-instrumented physical object

Inventors: Cecil Piya (West Lafayette, IN); Vinayak Raman Krishnamurthy (West Lafayette, IN); Karthik Ramani (West Lafayette, IN)
Assignee: Purdue Research Foundation
G06F3/04815G06F3/011
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,579,207
App. No.
14/712,695
Granted
Mar 3, 2020
Kind
B2
Abstract

A method of manipulating a three-dimensional image file including a virtual object includes obtaining image information in a processing device of a non-instrumented physical object manipulated by a user, such image information including movement information; and causing virtual movement of the virtual object based on the movement information. A method of shaping a virtual object includes obtaining image information including movement information; and determining a shape of the virtual object based on the movement information. A method of modifying a virtual object includes obtaining image information including movement information; and altering a virtual surface appearance of at least a part of the virtual object based on the movement information. Systems and computer-readable media are also described.

Claims (75)

1. A method of manipulating a three-dimensional image file including a virtual object, the method comprising:

obtaining, by a processing device, first image information of an environment comprising a non-instrumented physical object held and manipulated by a user;

identifying, by the processing device, a gesture in the first image information;

in response to identifying the gesture, recognizing, by the processing device, the non-instrumented physical object as a proxy;

in response to recognizing the non-instrumented physical object as the proxy, obtaining, by the processing device, second image information comprising movement information representing at least one movement of the non-instrumented physical object; and

causing virtual movement of the virtual object based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

2. The method according to claim 1 , further comprising, by the processing device:

associating a shape of the non-instrumented physical object with a predetermined set of constrained movements; and

causing the virtual movement of the virtual object within the predetermined set of constrained movements.

3. The method according to claim 1 , wherein the non-instrumented physical object comprises at least one of a block, a rod, a substantially planar object, or a grasping tool having grasping functionality.

4. The method according to claim 1 , wherein:

the non-instrumented physical object is a first non-instrumented physical object and the movement information is first movement information, and

the method further comprises, by the processing device:

updating position and orientation information associated with the virtual object based on the virtual movement;

obtaining third image information of a second non-instrumented physical object manipulated by at least one of the user or another user, the third image information including second movement information, the second non-instrumented physical object being different from the first non-instrumented physical object; and

altering a shape of the virtual object based on the second movement information and the updated position and orientation information.

5. The method according to claim 1 , wherein:

the non-instrumented physical object is a first non-instrumented physical object, the movement information is first movement information, and the virtual object is a first virtual object, and

the method further comprises, by the processing device:

obtaining third image information of a second non-instrumented physical object manipulated by at least one of the user or another user, the second image information including second movement information, the second non-instrumented physical object being different from the first non-instrumented physical object;

causing virtual movement of a second virtual object based on the second movement information;

detecting a first relative virtual spatial relationship between the first virtual object and the second virtual object, the first relative virtual spatial relationship satisfying a stored constraint; and

in response to detecting the first relative visual spatial relationship, causing virtual movement of the first virtual object or the second virtual object into a second relative virtual spatial relationship associated with the stored constraint.

6. The method according to claim 1 , further comprising, by the processing device:

determining a geometric parameter of the non-instrumented physical object based at least in part on the second image information;

altering a shape of the virtual object based at least in part on the determined geometric parameter; and

determining a virtual dimension corresponding to the altered shape of the virtual object.

7. The method according to claim 1 , wherein the recognizing the non-instrumented physical object as the proxy comprises:

identifying, based at least partly on the first image information, a geometry of the non-instrumented physical object;

accessing a database comprising geometry information; and

identifying that the geometry of the non-instrumented physical object matches geometry information in the database.

8. The method according to claim 1 , wherein the movement information is first movement information and the at least one movement is a first movement, the method further comprising:

obtaining, by the processing device, third image information of the environment comprising the non-instrumented physical object;

identifying, by the processing device, that the third image information depicts the non-instrumented physical object resting on a surface;

in response to identifying that the third image information depicts the non-instrumented physical object resting on the surface, disengaging, by the processing device, the non-instrumented physical object as the proxy; and

in response to disengaging the non-instrumented physical object as the proxy:

obtaining, by the processing device, fourth image information of the environment comprising the non-instrumented physical object, the fourth image information comprising second movement information indicating a second movement of the non-instrumented physical object; and

refraining from causing further virtual movement of the virtual object based on the second movement information.

9. A method of shaping a virtual object in a three-dimensional image file, the method comprising:

obtaining, by a processing device, first image information of an environment comprising a non-instrumented physical object held and manipulated by a user,

identifying, by the processing device, a gesture in the first image information;

in response to identifying the gesture, recognizing, by the processing device, the non-instrumented physical object as a proxy;

in response to recognizing the non-instrumented physical object as the proxy, obtaining, by the processing device, second image information including movement information; and

determining, by the processing device, a shape of the virtual object based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

10. The method according to claim 9 , wherein:

the movement information indicates a path of the non-instrumented physical object through the environment; and

the shape of the virtual object is determined to have a volume corresponding to the path.

11. The method according to claim 10 , wherein a cross-section of the shape expands along the path of the non-instrumented physical object through the environment.

12. The method according to claim 11 , further comprising, by the processing device:

obtaining an additional input contemporaneous with the obtaining of the movement information; and

varying the cross-section of the shape at a location along the path corresponding in time to the additional input.

13. The method according to claim 10 , wherein the shape is determined to have a uniform cross-section along the path of the non-instrumented physical object through the environment.

14. The method according to claim 9 , wherein the determining the shape of the virtual object comprises altering, by the processing device, an existing shape of the virtual object.

15. The method according to claim 14 , further comprising accessing, by the processing device, a predetermined set of alteration capabilities associated with the non-instrumented physical object manipulated by the user.

16. The method according to claim 15 , wherein:

the predetermined set of alteration capabilities corresponds to subtracting virtual material from the virtual object to alter the shape of the virtual object; and

the determining the shape includes adjusting boundary data of the virtual object to remove a portion of the virtual object based at least in part on the movement information.

17. The method according to claim 16 , wherein:

the movement information includes information of a slicing motion of the non-instrumented physical object; and

the determining the shape includes determining the portion of the virtual object to be removed based at least in part on a virtual trajectory of the slicing motion with respect to a virtual location of the virtual object.

18. The method according to claim 15 , wherein:

the predetermined set of alteration capabilities corresponds to locally deforming or stretching the virtual object to alter the shape of the virtual object; and

the determining the shape includes adjusting boundary data of the virtual object to deform the virtual object based at least in part on the movement information.

19. A method of modifying a virtual object in a three-dimensional image file, the method comprising, by a processing device:

obtaining first image information of an environment comprising a non-instrumented physical object held and manipulated by a user;

identifying, by the processing device, a gesture in the first image information;

in response to identifying the gesture, recognizing, by the processing device, the non-instrumented physical object as a proxy;

in response to recognizing the non-instrumented physical object as the proxy, obtaining, by the processing device, second image information including movement information; and

altering a virtual surface appearance of at least a part of the virtual object based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

20. The method according to claim 19 , wherein the altering the virtual surface appearance comprises at least one of:

altering, by the processing device, a color of the virtual object; or

altering, by the processing device, a texture of the virtual object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2015
From: RAMANI, KARTHIK; VINAYAK, FNU; PIYA, CECIL
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 036339/0932 →
Continuity (2)
Provisional Application 61992888 · May 14, 2014
Related Publication 20150331576A1 · Nov 19, 2015
Cited By (6)
US 12,210,691 US 12,353,632 US 12,357,911 US 12,525,139 US 12,632,120 US 12,730,524