Claims
- 1. A method of defining a surface of a model, comprising:
determining automatically an area of detail corresponding to an area of the model by referring to a displacement map; and increasing automatically a resolution of the area of the model by increasing a number of polygons representing the area.
- 2. The method according to claim 1, wherein the referring comprises obtaining detail information from the displacement map.
- 3. The method according to claim 2, wherein said determining further comprises basing said determining on the detail information.
- 4. The method according to claim 1, wherein said increasing comprises:
sampling the area of detail; and adding a vertex at a sample point when the point has a substantially non-zero feature metric.
- 5. The method according to claim 1, wherein said increasing further comprises moving the sample point toward a direction of a high rate of change.
- 6. The method according to claim 1, wherein said increasing further comprises adding vertices at points of significant curvature.
- 7. The method according to claim 1, wherein said increasing further comprises preferentially connecting vertices of the polygons along one of edges and borders that are in the area of detail.
- 8. The method according to claim 1, wherein the polygons are triangles and wherein vertices of the triangles are feature points.
- 9. The method according to claim 1, wherein the model is a polygon mesh model.
- 10. A method of creating a surface comprising automatically refining a representation of a surface by automatically determining one of a location and a direction of a feature corresponding to the surface.
- 11. A method of creating a model, comprising:
identifying automatically areas of one of details and features that correspond to areas of the model; and increasing representation of the model in areas of the model corresponding to the areas of detail.
- 12. A method of obtaining a surface, comprising automatically deriving information of features of a displacement map to automatically locate points used to represent the surface.
- 13. A method of displacing a parameterized surface comprised of two-dimensional subdivisions, the method comprising:
generating two-dimensional height maps for subdivisions of the surface by sampling a height field to calculate a height value for points in the subdivision; and generating two-dimensional feature maps, for the subdivisions, that identify features of the height field, by using the height map and height field to calculate approximate degrees and directions of local curvature.
- 14. A method of creating a surface, comprising:
approximating a surface with a point; computing a height of the point and heights in a local neighborhood of the point; deriving information of local change in the heights; determining whether the information of local change indicates that the local neighborhood is substantially flat; and representing the surface without the point when said determining indicates a substantially flat local area.
- 15. A method of creating a surface, comprising:
approximating a surface with a point; computing a height of the point and heights of a local neighborhood of the point; deriving information of local change in the heights; determining whether the information of local change indicates that the point is a feature point of the neighborhood; and representing the surface with the point when said determining indicates it is a feature point.
- 16. The method according to claim 15, further comprising using the heights to approximate a gradient for the point if it has been determined to indicate local change, and repositioning the point to a location in the direction of the gradient.
- 17. The method according to claim 16, further comprising adding a new point in the neighborhood at an extrema in the neighborhood in the direction of the gradient.
- 18. A method of displacing a surface, comprising:
identifying features of a displacement map, the features including locations and directions of detail in the displacement map; adjusting points corresponding to the surface, based on the features of the displacement map; identifying borders of features in the displacement map; and deriving a displaced surface mesh by using the borders to constrain a triangulation of the adjusted points.
- 19. A method of displacing a surface, comprising:
deriving a set of points for triangles in a tessellation of the surface, by
creating a distribution of points on and in a triangle, calculating height values for points in the distribution by sampling a height field, calculating a feature metric for points in the distribution by approximating second derivatives of the points using height values of neighboring points in the distribution, and eliminating points from the distribution that have feature metrics indicating a locally flattish region of the height field.
- 20. The method according to claim 19, wherein said deriving further comprises:
calculating feature orientations for points in the distribution by using height values of neighboring points to find approximate directions of approximate greatest change in the height field, and adding to the distribution points near extrema and features of the height field.
- 21. The method according to claim 20, further comprising:
identifying borders of features in the height field and using the borders to constrain a triangulation of the distribution of points.
- 22. The method according to claim 19 wherein the distributions comprise grids of points uniformly distributed on the triangles, using sides of triangles as axes of the grid.
- 23. A method of displacing a surface, comprising:
deriving a set of points for triangles in a tessellation of the surface, by
creating a grid of points on and in a triangle, calculating height values for points in the grid by sampling a height field, calculating feature metrics for points in the grid by approximating second derivatives of the points using height values of neighboring points, calculating feature orientations for points in the grid by using height values of neighboring points to approximate discrete gradients in the height field, calculating height values for new points in the triangle that are away from the points in the grid in the directions of the feature orientations, identifying new points that are near extrema and features of the height field by approximating second derivatives of the new points using the height values of the new points, and compiling a set of points comprising grid points and identified new points.
- 24. A method of displacing a surface, comprising:
parameterizing the surface by tessellating it into a first set of triangles, wherein the tessellation has a fineness, according to the size of the triangles, that is sufficient to represent the surface, but not sufficient to represent detail in a displacement map; deriving a set of points for each triangle in the first set, by
creating a non-orthogonal coordinate system defining points on and in the triangle, wherein the two shortest sides of the triangle are axes of the coordinate system and the triangle vertex where the axes intersect is an origin of the coordinate system, calculating a height value for most of the points by, for each such point, sampling a height field, calculating a feature metric for most of the points by, for each such point, summing a plurality of Taylor approximations taken in directions of a plurality of points neighboring the point, wherein the Taylor approximations are calculated using the height values of the neighboring points, and wherein the feature metric approximates an amount of local curvature in the height field in a local area of the point, at least one of discarding, ignoring, and flagging as unnecessary points having a feature metric indicating that the point is in a substantially locally flat area of the height field, calculating a feature orientation for most of the points that were not discarded, ignored, or flagged by, for each such point, using least squares minimization to fit a linear function to a plurality of points neighboring the point, wherein the feature orientation is a discrete gradient of the height field that approximates a direction from the point that has the greatest rate of local height change, for most points that have a feature orientation, sampling the height field at points uniformly distributed along a line segment within a neighborhood, wherein the line segment passes through the point in the direction of the feature orientation of the point, and wherein a rate of height change in the height field along the line segment is approximated for the point and each sample point by using their sampled height field values, for most points that have a line segment, relocating the point to a location of a closest sample point on the line segment that has a rate of height change above a threshold, and adding points at sample points on the line segment having a rate of height change indicating an extrema or feature in the height field; creating a second set of triangles by constraining a Delaunay triangulation of the set of points of each triangle in the first set of triangles, wherein a constraint is a feature border of the height field in the triangle that is identified by the set of points; and building a final displaced surface geometry using the second set of triangles.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to and claims priority to U.S. application entitled “Feature-based displacement mapping”, having serial No. 60/290,669, by Jerome Maillot and Xiaohuan Wang, filed May 5, 2001 and incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60290669 |
May 2001 |
US |