P
USRE40693EExpiredUtilityPatentIndex 47

Method and apparatus for creating a wireframe and polygon virtual world

Assignee: SUN MICROSYSTEMS INCPriority: Nov 30, 1990Filed: Sep 23, 1998Granted: Mar 31, 2009
Est. expiryNov 30, 2010(expired)· nominal 20-yr term from priority
Inventors:BROWNING DAN DJOFFE ETHAN DLANIER JARON Z
A63F 13/60Y10S707/99931
47
PatentIndex Score
0
Cited by
8
References
42
Claims

Abstract

A method and apparatus for creating virtual worlds wherein a user may begin with a database containing a limited pictorial representation of a desired virtual world and then edit the database to specify the remaining data needed to create the actual virtual world. In one embodiment of the present invention, a database containing a limited pictorial representation of a virtual world is communicated to a receiving unit, and a grouping unit collects various descriptions of the pictorial representation into selected groups. An attribute assigning unit then assigns attributes to the groups. The attributes may include group hierarchy, constraints of motion, color, texture or other features. The modified database is then communicated to a data coupling unit which couples real world data to the groups. Finally, a rendering unit renders the virtual world which looks and functions according to the specified attributes and the real world data.

Claims

exact text as granted — not AI-modified
1. An apparatus for creating a virtual world data base, comprising:
 receiving means for receiving first, second and third polygon representations of respective first, second and third virtual objects in a virtual world;  
 selecting means, coupled to said receiving means, for selecting a first edge of said first virtual object and for selecting a second edge of said second virtual object; and  
 grouping means, coupled to the receiving means and the selecting means, for grouping said first and second virtual objects in the virtual world into a grouped object comprising said first and second virtual objects joined at an intersection of the first and second edges, the grouped object represented by at least one of a three-dimensional and rotatable wireframe objects and a three-dimensional and rotatable sweep polygon.  
 
     
     
       2. The apparatus according to  claim 1  further comprising attribute assigning means, coupled to the grouping means, for assigning an attribute to the first and second edges of the first and second virtual objects, the attribute means including hierarchy means for assigning a grouping hierarchy for the first and second virtual objects wherein the second virtual object is assigned as a child object of the first virtual object and wherein an orientation and a position of the child object is calculated relative to the first virtual object. 
     
     
       3. The apparatus according to  claim 2  wherein the attribute assigning means further comprises:
 origin assigning means for assigning an origin on the first virtual object around which the third virtual objects can rotate; and  
 constraint assigning means for assigning a three-dimensional contraint of motion to the the third virtual object to constrain how the third virtual object can rotate with respect to the first virtual object.  
 
     
     
       4. The apparatus of  claim 3 , wherein the constraint assigning means comprises means for specifying a minimum angle and a maximum angle that said third virtual object can rotate with respect to said origin. 
     
     
       5. The apparatus according to  claim 3  wherein the attribute assigning means further comprises color assigning means for assigning color values to the grouped object. 
     
     
       6. The apparatus according to  claim 5  wherein the attribute assigning means further comprises texture assigning means for assigning texture values to the grouped object. 
     
     
       7. The apparatus according to  claim 2  further comprising data coupling means, coupled to the grouping means, for coupling real world data to the grouped object. 
     
     
       8. An apparatus for creating a virtual world comprising:
 receiving means for receiving first, second and third polygon representations of respective first, second and third virtual objects in a virtual world;  
 selecting means, coupled to said receiving means, for selecting a first edge of a first virtual object and for selecting a second edge of a second virtual object; and  
 grouping means, coupled to the receiving means and the selecting means, for grouping said first and second virtual objects in the virtual world into a grouped object comprising said first and second virtual objects joined at an intersection of the first and second edges, the grouped object represented by at least one of a three-dimensional and rotatable wireframe object and a three-dimensional and rotatable sweep polygon;  
 attribute assigning means, coupled to the grouping means, for assigning an attribute to the first and second edges of the first and second virtual objects, the attribute assigning means including: 
 hierarchy means for assigning a grouping hierarchy for the first and second virtual objects wherein the second virtual object is assigned as as child object of the first virtual object and an orientation and a position of the child object is calculated relative to the first virtual object; and  
 origin assigning means for assigning an origin on the first virtual objects around which the third virtual object can rotate; and  
 constraint assigning means for assigning a three-dimensional constraint of motion to the the third virtual object to constrain how the third virtual object can rotate with respect to the first virtual object; and  
 
 rendering means for rendering the virtual world including the grouped object.  
 
     
     
       9. The apparatus of  claim 8 , wherein the constraint assigning means comprises means for specifying a minimum angle and a maximum angle that said third virtual object can rotate with respect to said origin. 
     
     
       10. A method for creating a data base representing a virtual world, the method comprising: receiving a plurality of polygon representations of virtual objects; selecting first and second virtual objects from said plurality of polygon representations of virtual objects; grouping the first and second virtual objects into a three- dimensional grouped object, wherein said grouping the first and second virtual objects includes: selecting a first edge of said first virtual object; selecting a second edge of said second virtual object; wherein said three - dimensional grouped object comprises said first and second virtual objects joined with at least a portion of said first edge of said first virtual object contacting at least a portion of said second edge of said second virtual object; assigning a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and calculating an orientation and position of the child object relative to the first virtual object.   
     
     
       11. A method for creating a data base representing a virtual world, the method comprising: receiving a plurality of polygon representations of virtual objects; selecting first and second virtual objects from said plurality of polygon representations of virtual objects; grouping the first and second virtual objects into a three- dimensional grouped object, wherein said grouping the first and second virtual objects includes: selecting a first edge of said first virtual object; selecting a second edge of said second virtual object; wherein said three - dimensional grouped object comprises said first and second virtual objects joined at an intersection of the first and second edges; assigning a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and calculating an orientation and position of the child object relative to the first virtual object.   
     
     
       12. A memory medium comprising program instructions for creating a data base representing a virtual world, wherein the program instructions are executable to implement: receiving a plurality of polygon representations of a plurality of virtual objects including a first virtual object, a second virtual object, and a third virtual object; selecting the first and second virtual objects from said plurality of polygon representations of virtual objects using edges of the virtual objects; grouping the first and second virtual objects into a three- dimensional grouped object represented by at least one of the following: a three - dimensional and rotatable wireframe object, and a three - dimensional and rotatable polygon object; wherein said grouping the first and second virtual objects includes: selecting a first edge of said first virtual object; selecting a second edge of said second virtual object; wherein said three - dimensional grouped object comprises said first and second virtual objects joined with at least a portion of said first edge of said first virtual object contacting at least a portion of said second edge of said second virtual object; assigning a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and calculating an orientation and position of the child object relative to the first virtual object.   
     
     
       13. A memory medium comprising program instructions for creating a data base representing a virtual world, wherein the program instructions are executable to implement: receiving a plurality of polygon representations of a plurality of virtual objects including a first virtual object, a second virtual object, and a third virtual object; selecting the first and second virtual objects from said plurality of polygon representations of virtual objects using edges of the virtual objects; grouping the first and second virtual objects into a three- dimensional grouped object represented by at least one of the following: a three - dimensional and rotatable wireframe object, and a three - dimensional and rotatable polygon object; wherein said grouping the first and second virtual objects includes: selecting a first edge of said first virtual object; selecting a second edge of said second virtual object; wherein said three - dimensional grouped object comprises said first and second virtual objects joined at an intersection of the first and second edges; assigning a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and calculating an orientation and position of the child object relative to the first virtual object.   
     
     
       14. A system for creating a data base representing a virtual world, the system comprising: a computer system comprising a CPU and memory, wherein the memory stores a plurality of polygon representations of virtual objects; a user input device coupled to the computer system for providing user input to the computer system; wherein the CPU is operable to select first and second virtual objects from said plurality of polygon representations of virtual objects; wherein the CPU is operable to group the first and second virtual objects into a three- dimensional grouped object; wherein the CPU is further configured to: select a first edge of said first virtual object, and select a second edge of said second virtual object, wherein said three - dimensional grouped object comprises said first and second virtual objects joined with at least a portion of said first edge of said first virtual object contacting at least a portion of said second edge of said second virtual object, wherein the CPU is operable to assign a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and wherein the CPU is operable to calculate an orientation and position of the child object relative to the first virtual object.   
     
     
       15. A system for creating a data base representing a virtual world, the system comprising: a computer system comprising a CPU and memory, wherein the memory stores a plurality of polygon representations of virtual objects; a user input device coupled to the computer system for providing user input to the computer system; wherein the CPU is operable to select first and second virtual objects from said plurality of polygon representations of virtual objects; wherein the CPU is operable to group the first and second virtual objects into a three- dimensional grouped object; wherein said CPU is configured to group the first and second virtual objects by: selecting a first edge of said first virtual object, and selecting a second edge of said second virtual object, wherein said three - dimensional grouped object comprises said first and second virtual objects joined at an intersection of the first and second edges, wherein the CPU is operable to assign a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and wherein the CPU is operable to calculate an orientation and position of the child object relative to the first virtual object.   
     
     
       16. A method for creating a data base representing a virtual world, the method comprising:
   receiving a plurality of polygon representations of virtual objects, wherein the plurality of polygon representations include a first, a second, and a third representation of respective first, second, and third virtual objects, wherein the virtual objects have edges;        selecting first and second virtual objects using the edges from said plurality of polygon representations of virtual objects;        grouping the first and second virtual objects into a grouped object comprising a combination of the first and second virtual objects, wherein the first and second virtual objects intersect; and        representing the gouped object by at least one of the following:      a three - dimensional and rotatable wireframe object, and        a three - dimensional and rotatable sweep polygon object.       
     
     
       17. The method as recited in  claim 16 , further comprising:
   assigning a grouping hierarchy for the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and        calculating an orientation and position of the child object relative to the first virtual object.     
     
     
       18. The method as recited in  claim 17 , further comprising:
   assigning group attributes to the grouped object; and        assigning individual attributes to a particular virtual object within the grouped object, wherein the individual attributes are inherited by child objects of the particular virtual object.     
     
     
       19. The method as recited in  claim 17 , further comprising:
   assigning an origin on the first virtual object around which the second virtual object can rotate; and        assigning a three - dimensional constraint of motion to the second virtual object that constrains how the second virtual object can rotate with the respect to the first virtual object.     
     
     
       20. The method as recited in  claim 19 , further comprising specifying one or more angles that constrain the second virtual object's rotation with respect to the origin. 
     
     
       21. The method as recited in  claim 19 , further comprising specifying one or more constraint values that constrain the second virtual object's translation with respect to the origin. 
     
     
       22. The method as recited in  claim 21 , further comprising:
   grouping a third virtual object into the grouped object; and        assigning a three - dimensional constraint of motion to the third virtual object that constrains how the third virtual object can rotate with respect to the origin.     
     
     
       23. The method as recited in  claim 22 , further comprising specifying one or more constraint angles that constrain the third virtual object's rotation with respect to the origin. 
     
     
       24. The method as recited in  claim 17 , further comprising assigning texture and color values to the grouped object. 
     
     
       25. The method as recited in  claim 17 , further comprising coupling real world data to the grouped object. 
     
     
       26. The method as recited in  claim 25 , wherein said coupling comprises:
   taking sensor data from real world inputs; and        varying the orientation of the child object with respect to the origin in relation to the sensor data.     
     
     
       27. The method as recited in  claim 25 , wherein said coupling comprises:
   taking sensor data from real world inputs; and        varying the position of the child object with respect to the origin in relation to the sensor data.     
     
     
       28. The method as recited in  claim 25 , wherein said coupling comprises:
   sensing the relative position of two real world physical objects; and        adjusting the relative position of the second virtual object relative to the origin accordingly.     
     
     
       29. The method as recited in  claim 25 , wherein said coupling comprises:
   sensing the relative orientation of two real world physical objects; and        adjusting the relative orientation of the second virtual object relative to the origin accordingly.     
     
     
       30. The method as recited in  claim 29 , wherein said sensing is accomplished using a data glove. 
     
     
       31. A computer program for creating a virtual world data base, wherein said computer program is embodied on computer-readable media and comprises instructions configured to: read polygon representations of a plurality of virtual objects, including a first virtual object, a second virtual object, and a third virtual object;      select the first virtual object and the second virtual object from said plurality of virtual objects;        assign attributes to the first and second virtual objects;        group said first and second virtual objects into a grouped object, wherein said first and second virtual objects intersect;        represent the grouped object by at least one of the following:      a three - dimensional and rotatable wireframe object, and        a three-dimensional and rotatable polygon object;          assign a grouping hierarchy to the first and second virtual objects, wherein the second virtual object is assigned as the child of the first virtual object; and        calculate an orientation and position of the child object relative to the first virtual object.     
     
     
       32. The computer program as recited in  claim 31 , wherein said computer program further comprises instructions configured to:
   assign an origin on the first virtual object around which the second virtual object can rotate; and        assign a three-dimensional constraint of motion to the second virtual object, wherein said three-dimensional constraint of motion constrains how the second virtual object can rotate with respect to the first virtual object.     
     
     
       33. The computer program as recited in  claim 31 , wherein said computer program further comprises instructions configured to specify a minimum angle and a maximum angle that the third virtual object can rotate with respect to the origin. 
     
     
       34. The computer program as recited in  claim 31 , wherein said computer program further comprises instructions configured to assign color values to the grouped object. 
     
     
       35. The computer program as recited in  claim 31 , wherein said computer program further comprises instructions configured to assign texture values to the grouped object. 
     
     
       36. The computer program as recited in  claim 31 , wherein said computer program further comprises instructions configured to couple real world data to the grouped object. 
     
     
       37. The computer program as recited in  claim 36 , wherein said computer program is configured to:
   take sensor data from real world inputs; and        vary the orientation of the child object with respect to the origin in relation to the sensor data.     
     
     
       38. The computer program as recited in  claim 36 , wherein said computer program is configured to:
   take sensor data from real world inputs; and        vary the position of the child object with respect to the origin in relation to the sensor data.     
     
     
       39. The computer program as recited in  claim 36 , wherein said computer program is configured to:
   sense the relative position of two real world physical objects; and        adjust the relative position of the second virtual object relative to the origin accordingly.     
     
     
       40. The computer program as recited in  claim 36 , wherein said computer program is configured to:
   sense the relative orientation of two real world physical objects; and        adjust the relative orientation of the second virtual object relative to the origin accordingly.     
     
     
       41. The computer program as recited in  claim 40 , wherein said computer program is configured to sense the relative orientation of two real world objects from input signals received from a data glove. 
     
     
       42. A computer program embodied on a computer-readable medium, wherein the computer program is configured to create a data base representing a virtual world by: receiving a plurality of polygon representations of virtual objects; selecting first and second virtual obhects from said plurality of polygon representations of virtual objects; grouping the first and second virtual objects into a hierarchical grouped object, wherein said grouping includes: selecting a first mathematical edge of said first virtualobject; selecting a second mathematical edge of said second virtual object; and representing the grouped object by at least one of the following: a three-dimensional and rotatable hierarchical wireframe object, and a three-dimensional and rotatable hierarchical polygon object and wherein the first and second virtual objects intersect, and wherein the grouped object comprises said first and second virtual objects joined with at least a portion of said first edge of said first virtual object contacting at least a portion of said second edge of said second virtual object.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.