IP Library › Granted Patent US 7,050,955
Granted Patent B1
US 7,050,955 · App. 09/675,811 · Granted May 23, 2006

System, method and data structure for simulated interaction with graphical objects

Assignee: Immersion Corporation
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 7,050,955
App. No.
09/675,811
Granted
May 23, 2006
Kind
B1
Abstract

Object simulation and interaction of and between computer-generated or graphical objects in a virtual space includes neutral scene graphs, data structures and procedures for using such graphs and data structures.

Claims (34)

1. A processor-readable medium comprising code representing instructions to cause a processor to:

analyze a first scene graph having a plurality of interconnected nodes, the first scene graph being associated with a first scene;

analyze a second scene graph having a plurality of interconnected nodes, the second scene graph being associated with a second scene;

associate, using a neutral scene graph, each node from the plurality of interconnected nodes of the first scene graph with a node from the plurality of interconnected nodes of the second scene graph independent of any connections between the plurality of interconnected nodes of the first scene graph and any connections between the plurality of interconnected nodes of the second scene graph;

update information associated with the first scene graph at a first update rate; and

update information associated with the second scene graph at a second update rate, the second update rate being substantially higher than the first update rate, the code representing instructions to cause a processor to update the information associated with the second scene graph being configured to cause the processor to update the information associated with the second scene graph via a separate thread from the code representing instructions to cause a processor to update the information associated with the first scene graph.

2. The processor-readable medium of claim 1 , wherein the neutral scene graph provides a topology transformation between the first scene graph and the second scene graph.

3. The processor-readable medium of claim 1 , wherein the first scene graph and the second scene graph are asynchronous, the neutral scene graph being configured to synchronize the first scene graph and the second scene graph.

4. The processor-readable medium of claim 1 , wherein the first scene graph is a graphical scene graph, the second scene graph being a haptic scene graph.

5. The processor-readable medium of claim 1 , further comprising code representing instructions to cause a processor to:

update information associated with the first scene graph at an update rate between about 10–60 Hz; and

update information associated with the second scene graph at an update rate between about 1000–2000 Hz.

6. A processor-readable medium comprising code representing instructions to cause a processor to:

analyze a first scene graph having a plurality of interconnected nodes, the first scene graph being associated with a first scene;

analyze a second scene graph having a plurality of interconnected nodes, the second scene graph being associated with a second scene;

associate, using a neutral scene graph, each node from the plurality of interconnected nodes of the first scene graph with a node from the plurality of interconnected nodes of the second scene graph independent of any connections between the plurality of interconnected nodes of the first scene graph and any connections between the plurality of interconnected nodes of the second scene graph; and

analyze a third scene graph including a plurality of interconnected nodes, the third scene graph being associated with a third scene, the code representing instructions to cause a processor to associate being further configured to cause a processor to associate, using a neutral scene graph, each node from the plurality of interconnected nodes of the first scene graph with a node from the plurality of interconnected nodes of the third scene graph independent of any connections between the plurality of interconnected nodes of the first scene graph and any connections between the plurality of interconnected nodes of the third scene graph.

7. A processor-readable medium comprising code representing instructions configured to cause a processor to:

uniquely associate a plurality of real-world objects with a plurality of virtual representations, each virtual representation from the plurality of virtual representations being a representation of its associated real-world object from the plurality of real-world objects;

determine if at least one contact state exists between a first virtual representation from the plurality of virtual representations and a second virtual representation from the plurality of virtual representations;

if at least one contact state exists, determine if the at least one contact state meets a predetermined threshold number of required contact states between the first virtual representation and the second virtual representation, each of the at least one contact state being associated with a corresponding portion of the first virtual representation and a portion of the second virtual representation;

if the at least one contact state meets a predetermined threshold number of contact states, determine if a minimum drop angle parameter is exceeded for each portion of the first virtual representation associated with the at least one contact state;

if the minimum drop angle parameter is exceeded, associate the second virtual representation with a grasp state; and

if the minimum drop angle parameter is not exceeded, associate the second virtual representation with a release state.

8. The processor-readable medium of claim 7 , wherein the first virtual representation is a virtual representation of a hand, each portion of the virtual representation of the hand that is associated with a contact state being a virtual representation of a finger of the hand.

9. The processor-readable medium of claim 7 , further comprising code representing instructions to cause a processor to:

analyze a relationship between the first virtual representation and the second virtual representation;

determine, at least partially based partially on the analyzed relationship, a local surface approximation associated with each portion of the first virtual representation associated with the at least one contact state and each portion of the first virtual representation within a predetermined distance from the second virtual representation; and

store each local service approximation in memory.

10. The processor-readable medium of claim 7 , further comprising code representing instructions to cause a processor to:

analyze a relationship between the first virtual representation and the second virtual representation;

determine, at least partially based partially on the analyzed relationship, a local surface approximation associated with each portion of the first virtual representation associated with the at least one contact state and each portion of the first virtual representation within a predetermined distance from the second virtual representation;

store each local service approximation in memory; and

send a signal configured to cause a haptic effect at least partially based on at least one local service approximation stored in memory, the haptic effect being configured to output a sensation at least partially based on the at least one contact state.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2002
From: VIRTUAL TECHNOLOGIES, INC.
To: IMMERSION CORPORATION
Reel/Frame 013211/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2001
From: CARMEL, RON; DESROSIERS, HUGO J.C.; GOMEZ, DANIEL; KRAMER, JAMES F.; TIAN, JERRY; TREMBLAY, MARC; ULLRICH, CHRISTOPHER J.
To: VIRTUAL TECHNOLOGIES, INC.
Reel/Frame 011853/0934 →
Continuity (1)
Provisional Application 6015727200 · Oct 1, 1999