Claims
- 1. Given a triangle/texture map data structure representation of a surface of a 3D object, a method of making, and of using for display of the 3D object, a new data structure representing the same surface of the same 3D object, the method comprising:
from data of the triangle/texture map data structure representation of a surface of a 3D object, defining so many contours,
where each contour is of multiple substantially equivalent locations upon the surface of the 3D object, where the collective contours dividing the surface of the 3D object, as will provide of an interpolated fit between contours that will keep error in any visual representation of the 3D surface of the object from the contour data below a predetermined threshold error; and displaying a visual representation of the surface of the 3D object from the contour data.
- 2. The method according to claim 1 where the multiple substantially equivalent locations of each contour are so equivalent by being of color differing by less than a predetermined tolerance called a color tolerance.
- 3. The method according to claim 1 further comprising:
fitting curves, or splines, along the contours in order that the number of locations required to represent a least some contours is reduced; wherein by this fitting of splines the total locations of all the collective contours are abbreviated, or compressed, from the triangle/texture map data structure from which the contours are derived.
- 4. The method according to claim 3wherein splines are fitted in numbers such that any geometric error in the displaying of the visual representation of the surface of the 3D object from the contour data will be below a predetermined threshold value, called a geometric error threshold.
- 5. The method according to claim 3wherein the fitted splines are linear.
- 6. The method according to claim 3wherein the fitted splines are non-linear.
- 7. The method according to claim 3wherein the fitted splines are both linear and non-linear.
- 8. A method of generating a new data structure from a previous data structure for representing the surface of a 3D object, the method comprising:
providing a color error threshold; providing a geometric error threshold; and finding contours that sufficiently divide the surface of the 3D object such that an interpolative color error between the contours is below the color error threshold and an interpolative geometric error of the 3D surface is below the geometric error threshold.
- 9. The method of claim 8, wherein the contours include color contours.
- 10. The method of claim 8, wherein the previous data structure includes a pixel-based texture map and wherein the color contours are derived from the texture map.
- 11. The method of claim 10, wherein the previous data structure approximates the surface of the 3D object with polygons, and further comprising utilizing the contours from the texture map to define linear segments of the contours on the polygons.
- 12. The method of claim 8, wherein the previous data structure approximates the surface of the 3D object with polygons, the contours defining linear segments that divide surfaces of the polygons.
- 13. The method of claim 8, wherein the previous data structure approximates the surface of the 3D object with polygons, the contours defining points on edges of the polygons.
- 14. The method of claim 8, wherein each contour dividing the 3D surface defines one or more splines.
- 15. The method of claim 14, wherein each spline is either linear, quadratic, or higher order.
- 16. The method of claim 14, further comprising: utilizing the data from the previous data structure to define linear cross-connects, wherein the contours and cross-connects define closed primitives.
- 17. A method of generating a new data structure from a previous data structure, the previous data structure defining a surface of a three dimensional object with polygons, the method comprising:
finding a plurality of points on at least some of the polygons that define at least one contour, the at least one contour having a color value that is constant to within a tolerance.
- 18. The method of claim 17, wherein finding a plurality of points on at least some of the polygons includes finding points on some of the edges of the polygons.
- 19. The method of claim 17, further comprising fitting at least one spline through the plurality of points on the polygons.
- 20. The method of claim 19, further comprising storing points defining the at least one spline in the new data structure.
- 21. The method of claim 19, wherein the number of points stored for defining the at least one spline is approximately the minimum number to define the at least one spline to minimize file size and memory requirements, minimize transmission time over a network, or maximize rendering speed for the new data structure for a given image quality.
- 22. A data structure for representing the surface of a 3D object, the data structure including control points that define contours that divide the surface into subregions, the contours including contours of substantially constant color.
- 23. The data structure of claim 22, wherein at least some of the contours define maxima or minima for the color values within a region of the image having high rates of color change.
- 24. A method of rendering a representation of a three dimensional object comprising:
providing a data structure for representing the surface of a 3D object, the data structure including control points that define contours that divide the surface into subregions, the contours including contours of substantially constant color; defining connections between the contours to form polygons.
- 25. The method of claim 24, wherein the represented 3D object is an object, character, or surface in an interactive video game, entertainment system, educational system, or training simulation.
- 26. The method of claim 24, wherein the represented 3D object is an an object, character, or surface in an advertisement.
- 27. The method of claim 24, wherein the represented 3D object is an an object, character, or surface in a computer-aided design system.
RELATION TO A PROVISIONAL PATENT APPLICATION
[0001] The present patent application is descended from, and claims benefit of priority of, U.S. provisional patent application Serial No. 60/326,132 filed on Sep. 28, 2001, having the same title, and to the selfsame inventor, as the present patent application.
[0002] The present patent application is related to U.S. patent application Ser. No. 10/219,953 filed on Aug. 14, 2002, for a SYSTEM AND METHOD FOR EFFICIENTLY CREATING A SURFACE MAP, and also to a U.S. patent application filed on an even date herewith for a SYSTEM AND METHOD FOR COMPRESSING IMAGE FILES WHILE PRESERVING VISUALLY SIGNIFICANT ASPECTS. Both related applications are to the same inventor as is the present application. The contents of the related patent applications are incorporated herein by reference
Provisional Applications (1)
|
Number |
Date |
Country |
|
60326132 |
Sep 2001 |
US |