Claims
- 1. A method for managing operations performed on a three dimensional mesh model comprising:
storing a copy of the initial state of the three dimensional mesh model; receiving a request to perform an operation on the three dimensional mesh model; storing a record of the request in an ordered list; and performing the operation on the three dimensional mesh model.
- 2. The method of claim 1 wherein the storing a record of the request step includes:
storing all of the parameters necessary to repeat the operation.
- 3. The method of claim 2 wherein the ordered list contains a record for each operation that has been previously performed on the three dimensional mesh model in the order in which it was performed.
- 4. The method of claim 3 further comprising:
retrieving the stored copy of the three dimensional mesh model; retrieving the ordered list of requests; and performing each operation in the ordered list of requests on the retrieved copy of the three dimensional mesh model.
- 5. A method for restoring a previous version of a three dimensional mesh model comprising:
retrieving a stored copy of the three dimensional mesh model; retrieving an ordered list of operation requests; and performing each operation in the ordered list of operation requests on the retrieved copy of the three dimensional mesh model.
- 6. The method of claim 5 wherein each operation is performed in the same order in which it was originally placed in the ordered list.
- 7. The method of claim 6 further comprising the step of:
rendering the retrieved copy of the three dimensional mesh model to a display device after each operation is performed.
- 8. The method of claim 6 wherein the ordered list of operations is filtered to exclude at least one record.
- 9. The method of claim 8 wherein the at least one excluded record is at an end of the list.
- 10. The method of claim 8 wherein the at least one excluded record is at least one record removed from an end of the list.
- 11. A method for editing a three dimensional mesh model, comprising:
determining a maximum strength for the editing operation, a number of strength levels, and a strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; receiving a request to perform the editing operation on at least a portion of the three dimensional mesh model at a particular strength value; and selecting the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the particular strength value.
- 12. The method of claim 11 further comprising:
replacing the present state of the three dimensional mesh model with the selected copy of the three dimensional mesh model.
- 13. The method of claim 12 further comprising:
anticipating a request for an editing operation.
- 14. The method of claim 13 wherein successive strength values are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 15. The method of claim 11 further comprising:
replacing a portion of the present state of the three dimensional mesh model with the corresponding portion of the selected copy of the three dimensional mesh model.
- 16. The method of claim 15 further comprising:
anticipating a request for an editing operation.
- 17. The method of claim 16 wherein successive strength values are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 18. A method for performing an editing operation on a selected portion of a three dimensional mesh model comprising:
determining a maximum strength for the editing operation, a number of strength levels, and a strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; assigning strength values to each vertex within the selected portion based on a strength function; and replacing each vertex within the selected portion of the present state of the three dimensional mesh model with the corresponding vertex of the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the strength value assigned to the vertex.
- 19. The method of claim 18 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on the strength function.
- 20. The method of claim 19 wherein the strength function is based the distance of each vertex from a focus point.
- 21. The method of claim 19 wherein the strength function is determined by a user.
- 22. The method of claim 20 wherein successive strength values are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 23. The method of claim 18 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on a user preference.
- 24. The method of claim 23 wherein successive strength values are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 25. A method for editing a portion of a three dimensional mesh model, comprising the steps of:
determining a maximum strength for the editing operation, a number of strength levels, and a strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; receiving a request to perform the editing operation on a selected portion of the three dimensional mesh model; assigning strength values to each vertex within the selected portion based on a strength function; and replacing each vertex within the selected portion of the present state of the three dimensional mesh model with the corresponding vertex of the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the strength value assigned to the vertex.
- 26. The method of claim 25 further comprising:
anticipating a request for an editing operation.
- 27. The method of claim 26 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on the strength function.
- 28. The method of claim 27 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 29. The method of claim 28 wherein the strength function is based the distance of each vertex from a focus point.
- 30. The method of claim 28 wherein the strength function is determined by a user.
- 31. The method of claim 26 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on a user preference.
- 32. The method of claim 31 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 33. A method for adjusting the mapping of a texture on a three dimensional mesh model, comprising:
receiving a request to move a particular point within the texture from a first location to a second location; measuring a movement distance in two dimensional texture space between the first location and the second location; measuring a radial distance in two dimensional texture space between the first location and each point within the texture having an assigned vertex in the three dimensional mesh model; and determining transformed coordinates in two dimensional texture space for each point within the texture having an assigned vertex in the three dimensional mesh model based on the movement distance and the radial distance corresponding to the point for which transformed coordinates are being determined.
- 34. The method of claim 33 further comprising:
mapping the texture onto the three dimensional mesh model using the transformed coordinates for each point within the texture having an assigned vertex in the three dimensional mesh model.
- 35. The method of claim 34 wherein the transformed coordinates are determined using a weight function.
- 36. The method of claim 35 wherein the weight function is defined by a user preference.
- 37. A method for projecting a two dimensional screen selection onto a three dimensional triangulated mesh model comprising:
approximating the screen selection as a polygonal shape; rendering the three dimensional triangulated mesh model onto the polygonal shape to form a two dimensional triangulated mesh; determining the triangles in the two dimensional triangulated mesh that are intersected by the polygonal shape; inserting new vertices into each intersected triangle corresponding to the intersection with the polygonal shape; linking the vertices corresponding to the polygonal shape; retriangulating each intersected triangle to integrate the vertices and links corresponding to the polygonal shape; and projecting the retriangulated triangles onto the corresponding portion in the three dimensional triangulated mesh.
- 38. The method of claim 37 wherein the quality of the approximation of the screen selection is determined by a user preference.
- 39. The method of claim 38 wherein the retriangulating step is accomplished using the Delaney triangulation algorithm.
- 40. A method for blending two adjacent textures comprising:
identifying pairs of matching points along the abutting edge of the adjacent textures; distorting the adjacent textures to spatially align each pair of matching points; and adjusting the image properties of the adjacent textures along the abutting edge.
- 41. The method of claim 40 wherein the distortion of each of the adjacent textures is phased in gradually across the texture so that the other edges of the textures are not distorted.
- 42. The method of claim 41 wherein the adjustments to the image properties of each of the adjacent textures is phased in gradually across the texture so that the image properties at the other edges of the texture remain unchanged.
- 43. The method of claim 42 wherein the pairs of matching points are identified manually.
- 44. The method of claim 42 wherein the pairs of matching points are identified using an algorithm.
- 45. The method of claim 44 wherein the algorithm is the Sarnoff algorithm.
- 46. The method of claim 42 wherein the image properties include intensity.
- 47. The method of claim 42 wherein the image properties include color.
- 48. The method of claim 43 wherein the adjacent textures are distorted in equal amounts.
- 49. The method of claim 43 wherein the adjacent textures are distorted in amounts based on the size of each texture.
- 50. The method of claim 43 wherein only one of the adjacent textures is distorted.
- 51. The method of claim 44 wherein the adjacent textures are distorted in equal amounts.
- 52. The method of claim 44 wherein the adjacent textures are distorted in amounts based on the size of each texture.
- 53. The method of claim 44 wherein only one of the adjacent textures is distorted.
- 54. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for managing operations performed on a three dimensional mesh model, said steps comprising:
storing a copy of the initial state of the three dimensional mesh model; receiving a request to perform an operation on the three dimensional mesh model; storing a record of the request in an ordered list; and performing the operation on the three dimensional mesh model.
- 55. The article of manufacture of claim 54 wherein the step of storing a record of the request includes:
storing all of the parameters necessary to repeat the operation.
- 56. The article of manufacture of claim 55 wherein the ordered list contains a record for each operation that has been previously performed on the three dimensional mesh model in the order in which it was performed.
- 57. The article of manufacture of claim 56 said steps further comprising:
retrieving the stored copy of the three dimensional mesh model; retrieving the ordered list of requests; and performing each operation in the ordered list of requests on the retrieved copy of the three dimensional mesh model.
- 58. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for restoring a previous version of a three dimensional mesh model, said steps comprising:
retrieving a stored copy of the three dimensional mesh model; retrieving an ordered list of operation requests; and performing each operation in the ordered list of operation requests on the retrieved copy of the three dimensional mesh model.
- 59. The article of manufacture of claim 58 wherein each operation is performed in the same order in which it was originally placed in the ordered list.
- 60. The article of manufacture of claim 59 further comprising the step of:
rendering the retrieved copy of the three dimensional mesh model to a display device after each operation is performed.
- 61. The article of manufacture of claim 59 wherein the ordered list of operations is filtered to exclude at least one record.
- 62. The article of manufacture of claim 61 wherein the at least one excluded record is at an end of the list.
- 63. The article of manufacture of claim 61 wherein the at least one excluded record is at least one record removed from an end of the list.
- 64. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for editing a three dimensional mesh model, said steps comprising:
determining a maximum strength for the editing operation, a number of strength levels, and an strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; receiving a request to perform the editing operation on at least a portion of the three dimensional mesh model at a particular strength value; and selecting the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the particular strength value.
- 65. The article of manufacture of claim 64 further comprising the step of:
replacing the present state of the three dimensional mesh model with the selected copy of the three dimensional mesh model.
- 66. The article of manufacture of claim 65 further comprising the step of:
anticipating a request for an editing operation.
- 67. The article of manufacture of claim 66 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 68. The article of manufacture of claim 64 further comprising the step of:
replacing a portion of the present state of the three dimensional mesh model with the corresponding portion of the selected copy of the three dimensional mesh model.
- 69. The article of manufacture of claim 68 further comprising the step of:
anticipating a request for an editing operation.
- 70. The article of manufacture of claim 69 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 71. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for editing a selected portion of a three dimensional mesh model, said steps comprising:
determining a maximum strength for the editing operation, a number of strength levels, and an strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; assigning strength values to each vertex within the selected portion based on a strength function; replacing each vertex within the selected portion of the present state of the three dimensional mesh model with the corresponding vertex of the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the strength value assigned to the vertex.
- 72. The article of manufacture of claim 71 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on the strength function.
- 73. The article of manufacture of claim 72 wherein the strength function is based the distance of each vertex from a focus point.
- 74. The article of manufacture of claim 72 wherein the strength function is determined by a user.
- 75. The article of manufacture of claim 73 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 76. The article of manufacture of claim 71 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on a user preference.
- 77. The article of manufacture of claim 76 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 78. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for editing a portion of a three dimensional mesh model, said steps comprising:
determining a maximum strength for the editing operation, a number of strength levels, and an strength value for each strength level; making a copy of the present state of the three dimensional mesh model for each strength level; performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; receiving a request to perform the editing operation on a selected portion of the three dimensional mesh model; assigning strength values to each vertex within the selected portion based on a strength function; and replacing each vertex within the selected portion of the present state of the three dimensional mesh model with the corresponding vertex of the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the strength value assigned to the vertex.
- 79. The article of manufacture of claim 78 further comprising the step of:
anticipating a request for an editing operation.
- 80. The article of manufacture of claim 79 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on the strength function.
- 81. The article of manufacture of claim 80 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 82. The article of manufacture of claim 81 wherein the strength function is based the distance of each vertex from a focus point.
- 83. The article of manufacture of claim 81 wherein the strength function is determined by a user.
- 84. The article of manufacture of claim 79 wherein the maximum strength for the editing operation, the number of strength levels, and the strength value for each strength level are determined based on a user preference.
- 85. The article of manufacture of claim 84 wherein successive strengths are obtained by performing the editing operation on the three dimensional mesh model recursively.
- 86. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for adjusting the mapping of a texture on a three dimensional mesh model, said steps comprising:
receiving a request to move a particular point within the texture from a first location to a second location; measuring a movement distance in two dimensional texture space between the first location and the second location; measuring a radial distance in two dimensional texture space between the first location and each point within the texture having an assigned vertex in the three dimensional mesh model; and determining transformed coordinates in two dimensional texture space for each point within the texture having an assigned vertex in the three dimensional mesh model based on the movement distance and the radial distance corresponding to the point for which transformed coordinates are being determined.
- 87. The article of manufacture of claim 86 further comprising the step of:
mapping the texture onto the three dimensional mesh model using the transformed coordinates for each point within the texture having an assigned vertex in the three dimensional mesh model.
- 88. The article of manufacture of claim 87 wherein the transformed coordinates are determined using a weight function.
- 89. The article of manufacture of claim 88 wherein the weight function is defined by a user preference.
- 90. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for projecting a two dimensional screen selection onto a three dimensional triangulated mesh model, said steps comprising:
approximating the screen selection as a polygonal shape; rendering the three dimensional triangulated mesh model onto the polygonal shape to form a two dimensional triangulated mesh; determining the triangles in the two dimensional triangulated mesh that are intersected by the polygonal shape; inserting new vertices into each intersected triangle corresponding to the intersection with the polygonal shape; linking the vertices corresponding to the polygonal shape; retriangulating each intersected triangle to integrate the vertices and links corresponding to the polygonal shape; and projecting the retriangulated triangles onto the corresponding portion in the three dimensional triangulated mesh.
- 91. The article of manufacture of claim 90 wherein the quality of the approximation of the screen selection is determined by a user preference.
- 92. The article of manufacture of claim 91 wherein the retriangulating step is accomplished using the Delaney triangulation algorithm.
- 93. An article of manufacture comprising a computer-readable medium having stored thereon instructions adapted to be executed by a processor, the instructions which, when executed, define a series of steps to be used for blending two adjacent textures, said steps comprising:
identifying pairs of matching points along the abutting edge of the adjacent textures; distorting the adjacent textures to spatially align each pair of matching points; and adjusting the image properties of the adjacent textures along the abutting edge.
- 94. The article of manufacture of claim 93 wherein the distortion of each of the adjacent textures is phased in gradually across the texture so that the other edges of the texture are not distorted.
- 95. The article of manufacture of claim 94 wherein the adjustments to the image properties of each of the adjacent textures is phased in gradually across the texture so that the image properties at the other edges of the texture remain unchanged.
- 96. The article of manufacture of claim 95 wherein the pairs of matching points are identified manually.
- 97. The article of manufacture of claim 95 wherein the pairs of matching points are identified using an algorithm.
- 98. The article of manufacture of claim 97 wherein the algorithm is the Sarnoff algorithm.
- 99. The article of manufacture of claim 95 wherein the image properties include intensity.
- 100. The article of manufacture of claim 95 wherein the image properties include color.
- 101. The article of manufacture of claim 96 wherein the adjacent textures are distorted in equal amounts.
- 102. The article of manufacture of claim 96 wherein the adjacent textures are distorted in amounts based on the size of each texture.
- 103. The article of manufacture of claim 96 wherein only one of the adjacent textures is distorted.
- 104. The article of manufacture of claim 97 wherein the adjacent textures are distorted in equal amounts.
- 105. The article of manufacture of claim 97 wherein the textures are distorted in amounts based on the size of each texture.
- 106. The article of manufacture of claim 97 wherein only one of the adjacent textures is distorted.
- 107. A system for editing a three dimensional model, the system comprising:
a computer module for determining a maximum strength for the editing operation, a number of strength levels, and a strength value for each strength level; a computer module for making a copy of the present state of the three dimensional mesh model for each strength level; a computer module for performing the editing operation on each copy of the three dimensional mesh model at the strength value of the strength level to which the copy of the three dimensional mesh model corresponds; a computer module for receiving a request to perform the editing operation on at least a portion of the three dimensional mesh model at a particular strength value; and a computer module for selecting the copy of the three dimensional mesh model corresponding to the strength level that has the strength value most closely matching the particular strength value.
- 108. The system of claim 107 further comprising:
a computer module for anticipating a request for an editing operation.
- 109. The system of claim 107 further comprising:
a computer module for replacing a portion of the present state of the three dimensional mesh model with the corresponding portion of the selected copy of the three dimensional mesh model.
- 110. A system for projecting a two dimensional screen selection onto a three dimensional triangulated mesh model, the system comprising:
a computer module for approximating the screen selection as a polygonal shape; a computer module for rendering the three dimensional triangulated mesh model onto the polygonal shape to form a two dimensional triangulated mesh; a computer module for determining the triangles in the two dimensional triangulated mesh that are intersected by the polygonal shape; a computer module for inserting new vertices into each intersected triangle corresponding to the intersection with the polygonal shape; a computer module for linking the vertices corresponding to the polygonal shape; a computer module for retriangulating each intersected triangle to integrate the vertices and links corresponding to the polygonal shape; and a computer module for projecting the retriangulated triangles onto the corresponding portion in the three dimensional triangulated mesh.
- 111. A system for blending two adjacent textures, the system comprising:
a computer module for identifying pairs of matching points along the abutting edge of the adjacent textures; a computer module for distorting the adjacent textures to spatially align each pair of matching points; and a computer module for adjusting the image properties of the adjacent textures along the abutting edge.
- 112. The system of claim 111 wherein the pairs of matching points are identified using the Sarnoff algorithm.
- 113. A system for managing operations performed on a three dimensional mesh model, the system comprising:
a computer module for storing a copy of the initial state of the three dimensional mesh model; a computer module for receiving a request to perform an operation on the three dimensional mesh model; a computer module for storing a record of the request in an ordered list; and a computer module for performing the operation on the three dimensional mesh model.
- 114. The method of claim 113 wherein the a computer module for storing a record of the request includes:
a computer module for storing all of the parameters necessary to repeat the operation.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/192,506, entitled “System and Method of Three Dimensional Image Capture and Modeling”, filed Mar. 28, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60192506 |
Mar 2000 |
US |