US5588104A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for creating virtual worlds using a data flow network
Assignee: Sun Microsystems Inc
•
Filing: 1994-10-04
•
Granted: 1996-12-24
•
Expires: 2014-10-04
Abstract
Abstract A computer display displays a data flow network as a plurality of interconnected units. An interactive program allows the appearance of the plurality of interconnected units to be changed. The data flow network then is automatically altered to correspond with the visual changes. The interconnected units of the data flow network represent inputs, functions and outputs of the data flow network. Inputs represent control signals to manipulate the data flow network, functions modify the value of inputs according to the type of the function unit and outputs represent the x, y or z value of a point in a three-dimensional coordinate system of the virtual world.
Inventors
- 👤 Jaron Z. Lanier
- 👤 Ann Lasko-Harvill
- 👤 Chuck L. Blanchard
- 👤 Joe L. Sparks
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 04:22
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/30; G06F8/34
Claims Analysis
Total Claims: 44
Claim 1
Independent Claim
291 words
An apparatus for creating a virtual world, the virtual world including a virtual object which represents a physical object, wherein a first point of the virtual object represents a first part of the physical object and the first point moves in relation to second and third points of the virtual object which represent second and third parts of the physical object, wherein a movement of the first point is based on changes in inputs to a data flow network, the data flow network describing the movement of the first point in relation to the second and third points when the movement of the first point is not based on either one of a rotation and a translation of the virtual object, the apparatus comprising: a computer display; and means, connected to the computer display, for generating a data flow network for calculating a movement of a first point of a virtual object in a virtual world in relation to a second point and a third point of the virtual object when the movement is not based on either one of a rotation and a translation of the virtual object, the data flow network including a plurality of interconnected units, and the plurality of interconnected units including at least one input unit representing at least one source of input data for providing input data to the data flow network, a plurality of function units which transform the input data, and a plurality of output units each representing one dimension of a corresponding vector of the first point in a three-dimensional coordinate system, wherein the corresponding vector of the first point generates a first spatial position and a first orientation of the first point in the three-dimensional coordinate system in the virtual world.
Claim 2
Independent Claim
291 words
An apparatus for creating a virtual world, the virtual world including a virtual object which represents a physical object, wherein a first point of the virtual object represents a first part of the physical object and the first point moves in relation to second and third points of the virtual object which represent second and third parts of the physical object, wherein a movement of the first point is based on changes in inputs to a data flow network, the data flow network describing the movement of the first point in relation to the second and third points when the movement of the first point is not based on either one of a rotation and a translation of the virtual object, the apparatus comprising: a computer display; and means, connected to the computer display, for generating a data flow network for calculating a movement of a first point of a virtual object in a virtual world in relation to a second point and a third point of the virtual object when the movement is not based on either one of a rotation and a translation of the virtual object, the data flow network including a plurality of interconnected units, and the plurality of interconnected units including at least one input unit representing at least one source of input data for providing input data to the data flow network, a plurality of function units which transform the input data, and a plurality of output units each representing one dimension of a corresponding vector of the first point in a three-dimensional coordinate system, wherein the corresponding vector of the first point generates a first spatial position and a first orientation of the first point in the three-dimensional coordinate system in the virtual world.
Claim 3
Dependent Claim
84 words
The apparatus of claim 1, further comprising means for generating a point hierarchy including the first, second and third points, the first point having a first hierarchical position, the second point having a second hierarchical position and a second spatial position, and the third point having a third hierarchical position and a third spatial position, wherein said second hierarchical position is higher in the point hierarchy than said third hierarchical position and wherein said third spatial position is derived from said second spatial position.
Claim 4
Dependent Claim
26 words
The apparatus of claim 2, further comprising: means for altering said first spatial position of the first point in response to changes in the input data.
Claim 5
Dependent Claim
24 words
The apparatus of claim 3, further comprising: means for altering said third spatial position in response to a change in said second spatial position.
Claim 6
Dependent Claim
25 words
The apparatus of claim 4, wherein at least one of said plurality of function units has a first output and a first user-definable type representation.
Claim 7
Dependent Claim
58 words
The apparatus of claim 5, wherein: at least one of said plurality of input units has a first input and a second user-definable type representation; and said apparatus further comprises a means for checking that said first user-definable type representation is compatible with said second user-definable type representation before said first output and said first input are connected.
Claim 8
Dependent Claim
26 words
The apparatus of claim 6, further comprising: means for visually notifying a user of a type representation incompatibility between said first output and said first input.
Claim 9
Dependent Claim
26 words
The apparatus of claim 6, further comprising: means for acoustically notifying a user of a type representation incompatibility between said first output and said first input.
Claim 10
Dependent Claim
29 words
The apparatus of claim 4, wherein said computer display comprises means for graphically rendering said first and second spatial positions in the three-dimensional coordinate system of the virtual world.
Claim 11
Dependent Claim
23 words
The apparatus of claim 9, further comprising: means for altering said first spatial position in response to changes in said first hierarchical position.
Claim 12
Dependent Claim
21 words
The apparatus of claim 9, further comprising: means for a user to specify an angle from which said points are viewed.
Claim 13
Dependent Claim
18 words
The apparatus of claim 4, further comprising: means for reading the input data from a digital storage device.
Claim 14
Dependent Claim
17 words
The apparatus of claim 4, further comprising: means for sampling the input data from an external device.
Claim 15
Dependent Claim
13 words
The apparatus of claim 13, wherein said external device is a data glove.
Claim 16
Dependent Claim
13 words
The apparatus of claim 13, wherein said external device is an analog-to-digital converter.
Claim 17
Dependent Claim
12 words
The apparatus of claim 13, wherein said external device is a computer.
Claim 18
Dependent Claim
13 words
The apparatus of claim 13, wherein said external device is an electronic mouse.
Claim 19
Dependent Claim
15 words
The apparatus of claim 13, further comprising: means for calibrating positions of said external device.
Claim 20
Dependent Claim
30 words
The apparatus of claim 13, further comprising: a digital storage device; and a means for writing the input data sampled by the means for sampling to the digital storage device.
Claim 21
Dependent Claim
22 words
The apparatus of claim 19, wherein the means for writing also writes time-stamps with the input data to the digital storage device.
Claim 22
Dependent Claim
30 words
The apparatus of claim 20, further comprising: means for preprocessing the input data before the means for writing writes the input data and the time-stamps to the digital storage device.
Claim 23
Dependent Claim
15 words
The apparatus of claim 13, wherein the means for sampling samples at a user-definable period.
Claim 24
Dependent Claim
30 words
The apparatus of claim 4, wherein said at least one source of input data inputs said input data which includes position values in x, y, z, yaw, pitch and roll.
Claim 25
Dependent Claim
32 words
The apparatus of claim 4, wherein said at least one source of input data inputs said input data which includes changes in position values in x, y, z, yaw, pitch and roll.
Claim 26
Dependent Claim
38 words
The apparatus of claim 4, further comprising: means for visually notifying to a user that at least one of said plurality of said function units has outputs not used by any of said plurality of said function units.
Claim 27
Dependent Claim
21 words
The apparatus of claim 4, further comprising: means for individually displaying and hiding said function units as requested by a user.
Claim 28
Dependent Claim
17 words
The apparatus of claim 4, further comprising: means for adding user notations to the data flow network.
Claim 29
Dependent Claim
81 words
The apparatus of claim 4, wherein said means for generating a data flow network further comprises a means for generating a name for one of said plurality of interconnected units; wherein said apparatus further comprises a selecting means for selecting, as a named unit, said one of said plurality of interconnected units for which a name was generated by specifying a name that corresponds to said named unit; and wherein said computer display displays a graphical representation of said named unit.
Claim 30
Dependent Claim
15 words
The apparatus of claim 28, further comprising: means for automatically naming modules without user intervention.
Claim 31
Dependent Claim
21 words
The apparatus of claim 4, further comprising: means for combining a plurality of function units into a new single function unit.
Claim 32
Dependent Claim
20 words
The apparatus of claim 4, further comprising: means for individually displaying and hiding an interconnection line between two function units.
Claim 33
Dependent Claim
34 words
The apparatus of claim 4, further comprising: a display separate from said computer display, including means for graphically rendering said first and second spatial positions in the three-dimensional coordinate system of the virtual world.
Claim 34
Dependent Claim
17 words
The apparatus of claim 1, wherein the first point represents a center point of an N-dimensional polygon.
Claim 35
Dependent Claim
14 words
The apparatus of claim 1, further comprising: means for altering said data flow network.
Claim 36
Dependent Claim
53 words
The apparatus of claim 34, wherein the means for altering said data flow network comprises: means for manipulating a graphical representation of said data flow network; and means for changing which of said plurality of said function units are interconnected in response to manipulations of the graphical representation of said data flow network.
Claim 37
Dependent Claim
56 words
The apparatus of claim 34, wherein the means for altering said data flow network comprises: means for receiving a textual description of changes to be made to said data flow network; and means for changing which of said plurality of said function units are interconnected based on the received textual description of changes to be made.
Claim 38
Dependent Claim
45 words
The apparatus of claim 2, further comprising: means for designating one of said first and second points as a root of a sub-tree in the point hierarchy; and means for scaling corresponding spatial positions of points in the sub-tree in x, y and z dimensions.
Claim 39
Independent Claim
302 words
A method for creating a virtual world, the virtual world including a virtual object which represents a physical object, wherein a first point of the virtual object represents a first part of the physical object and the first point moves in relation to second and third points of the virtual object which represent second and third parts of the physical object, wherein a movement of the first point is based on changes in inputs to a data flow network, the data flow network describing the movement of the first point in relation to the second and third points when the movement of the first point is not based on either one of a rotation and a translation of the virtual object, the method comprising the steps of: generating a data flow network for calculating a movement of a first point of a virtual object in a virtual world in relation to a second point and a third point of the virtual object when the movement is not based on either one of a rotation and a translation of the virtual object, the data flow network including a plurality of interconnected units, and the plurality of interconnected units including at least one input unit representing at least one source of input data for providing input data to the data flow network, a plurality of function units which transform the input data, and a plurality of output units each representing one dimension of a corresponding vector of the first point in a three-dimensional coordinate system, wherein the corresponding vector of the first point generates a first spatial position and a first orientation of the first point in the three-dimensional coordinate system in the virtual world; and calibrating said at least one source of input data to restrict said input data to a corresponding range.
Claim 40
Independent Claim
302 words
A method for creating a virtual world, the virtual world including a virtual object which represents a physical object, wherein a first point of the virtual object represents a first part of the physical object and the first point moves in relation to second and third points of the virtual object which represent second and third parts of the physical object, wherein a movement of the first point is based on changes in inputs to a data flow network, the data flow network describing the movement of the first point in relation to the second and third points when the movement of the first point is not based on either one of a rotation and a translation of the virtual object, the method comprising the steps of: generating a data flow network for calculating a movement of a first point of a virtual object in a virtual world in relation to a second point and a third point of the virtual object when the movement is not based on either one of a rotation and a translation of the virtual object, the data flow network including a plurality of interconnected units, and the plurality of interconnected units including at least one input unit representing at least one source of input data for providing input data to the data flow network, a plurality of function units which transform the input data, and a plurality of output units each representing one dimension of a corresponding vector of the first point in a three-dimensional coordinate system, wherein the corresponding vector of the first point generates a first spatial position and a first orientation of the first point in the three-dimensional coordinate system in the virtual world; and calibrating said at least one source of input data to restrict said input data to a corresponding range.
Claim 41
Dependent Claim
97 words
The method of claim 38, further comprising the steps of: generating a point hierarchy including said first, second and third points, said first point having a first hierarchical position, said second point having a second hierarchical position and a second spatial position, and said third point having a third hierarchical position and a third spatial position; generating relative hierarchical point positions for said second and third points wherein said second hierarchical position is higher in the point hierarchy than said third hierarchical position; and calculating said third spatial position as a function of said second spatial position.
Claim 42
Dependent Claim
70 words
The method of claim 39, further comprising the steps of: sampling the at least one source of input data for changes in the input data provided to the data flow network from the at least one source of input data; and altering said first spatial position in response to said changes in the input data provided to the data flow network from the at least one source of input data.
Claim 43
Dependent Claim
24 words
The method of claim 40, further comprising the step of: altering said third spatial position in response to changes in said second spatial position.
Claim 44
Dependent Claim
27 words
The method of claim 41, further comprising the step of: displaying said first, second and third spatial positions in the three-dimensional coordinate system in the virtual world.
References Cited (Backward Citations)
US4315315A
Cited
US4914568A
Cited
US4974174A
Cited
US5237647A
Cited
US5319747A
Cited
US5396265A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-12-24 | 2000-06-24 | 2000-12-24 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-12-24 | 2004-06-24 | 2004-12-24 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-12-24 | 2008-06-24 | 2008-12-24 | $7700.00 | Window Closed / Lapsed |