Claims
- 1. A method, comprising:
subdividing a surface having original vertices producing additional vertices; smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; and adjusting positions of the smoothed vertices.
- 2. A method as recited in claim 1, wherein the adjusting corrects distortion caused by the smoothing.
- 3. A method as recited in claim 1, wherein the adjusting further comprises determining actual displacements between the original vertices and the smoothed original vertices.
- 4. A method as recited in claim 2, wherein the adjusting further comprises determining interpolated displacements between the additional vertices and the smoothed additional vertices.
- 5. A method as recited in claim 3, wherein during the adjusting operation the smoothed original vertices are moved based on their actual displacement, and the smoothed additional vertices are moved based on their interpolated displacement.
- 6. A method as recited in claim 4, wherein during the adjusting operation, a distance the smoothed vertices are moved is weighted by a preset parameter.
- 7. A method as recited in claim 5, wherein during the adjusting operation, the interpolated displacements are weighted by a renormalization factor.
- 8. A method as recited in claim 6, wherein the renormalization factor results in bulging flat areas around face centers of a surface comprised by the smoothed vertices.
- 9. A method as recited in claim 1, wherein during the adjusting operation, a distance the smoothed vertices are adjusted is weighted by a preset parameter.
- 10. A method, comprising:
subdividing a surface having original vertices producing additional vertices; smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; determining actual displacements between the original vertices and the smoothed original vertices; determining interpolated displacements between the additional vertices and the smoothed additional vertices; moving the smoothed original vertices by a distance based on the actual displacements; moving the smoothed additional vertices by a distance based on the interpolated displacements, wherein distances the smoothed vertices are moved are weighted based on a preset parameter, wherein the determined interpolated displacements are weighted by a renormalization factor which bulges flat areas around face centers of a surface comprised by the smoothed vertices.
- 11. A method, comprising:
determining displacements between points of a base mesh and corresponding smoothed points of a smoothed subdivided surface based on the base mesh; and moving the smoothed points to adjust for distortion produced by the smoothing.
- 12. A method as recited in claim 10, further comprising weighting the moving operation by a preset volume parameter.
- 13. A method of reducing distortion in a smoothed subdivided vertex curve, comprising:
adjusting positions of vertices in the smoothed subdivided vertex surface to compensate for distortion produced by prior subdividing and smoothing.
- 14. A method of subdividing surfaces using a base mesh comprising triangles and quadrilaterals, comprising:
creating a base mesh for a subdivision surface comprising triangles and quadrilaterals; and subdividing the base mesh into a subdivision surface.
- 15. A method, comprising:
selecting an arbitrary number of faces not being a power of 4; and creating a subdivision surface by subdividing a quadrilateral into the selected number of faces.
- 16. A method, comprising:
creating a base mesh for a subdivision surface comprising triangles and quadrilaterals; and creating a subdivision surface by subdividing the triangles and the quadrilaterals of the base mesh into an arbitrary number of faces not being a power of 4.
- 17. A method, comprising:
subdividing a surface into d pieces; smoothing the subdivided surface using a [1 2 . . . d . . . 2 1] smoothing mask; and linearly interpolating push-back vectors for the smoothed subdivided surface.
- 18. A method, comprising:
subdividing a five or more sided surface into a subdivided surface; smoothing the subdivided surface; and adjusting positions of vertices of the smoothed subdivided surface.
- 19. A method, comprising:
subdividing a polytope surface of dimension 3 or higher into a subdivided surface; smoothing the subdivided surface; and adjusting positions of vertices of the smoothed subdivided surface.
- 20. A method of subdividing a polygon with 4 or more sides, comprising:
subdividing each side into a selected number of vertices including first vertices; for each side, joining the first vertices on adjacent sides to create new sides; and connecting any remaining vertices to new points on each respective new side.
- 21. A method as recited in claim 20, further comprising iteratively repeating the subdividing, joining, and connecting.
- 22. A computer readable storage, controlling a computer by:
subdividing a surface having original vertices producing additional vertices; smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; and adjusting positions of the smoothed vertices.
- 23. A computer readable storage as recited in claim 22, wherein the adjusting corrects distortion caused by the smoothing.
- 24. An apparatus, comprising:
a subdividing unit subdividing a surface having original vertices producing additional vertices; a smoothing unit smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; and an adjusting unit adjusting positions of the smoothed vertices.
- 25. An apparatus as recited in claim 24, wherein the adjusting unit corrects distortion caused by the smoothing.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This Application incorporates by reference pending application Ser. No. 09/672,037, entitled: “Method and Computer Program Product for Subdivision Generalizing Uniform B-spline Surfaces of Arbitrary Degree.”