IP Library Granted Patent US 7,227,545
Granted Patent B2
US 7,227,545 · App. 10/153,888 · Granted Jun 5, 2007

Unified subdivision scheme for polygonal modeling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,227,545
App. No.
10/153,888
Granted
Jun 5, 2007
Kind
B2
Abstract

A method, computer readable storage, and apparatus for improving subdivision schemes for subdivision surfaces. The present method can correct distortion from the base mesh caused by prior art subdivision and smoothing schemes. In one embodiment, the method includes: (a) subdividing a curve having original vertices producing additional vertices; (b) smoothing the curve into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; and (c) adjusting positions of the smoothed vertices.

Claims (84)

1. A method, comprising:

subdividing a surface having original vertices at a first subdivision level producing additional vertices at a second subdivision level different from the first subdivision level;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels; and

automatically adjusting positions of the smoothed vertices of the second subdivision level based on differences between the first and second levels.

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 at a first subdivision level producing additional vertices;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices at a second subdivision level different from the first subdivision level;

determining actual displacements between the original vertices and the smoothed original vertices of the different first and second subdivision levels;

determining interpolated displacements between the additional vertices and the smoothed additional vertices of the different first and second subdivision levels;

moving the smoothed original vertices of the first subdivision level by a distance based on the actual displacements;

moving the smoothed additional vertices of the second subdivision level by a distance based on the interpolated displacements,

wherein distances the smoothed vertices are moved are weighted based on a preset parameter, and

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 of different first and second subdivision levels; and

moving the smoothed points of the second subdivision level based on differences between the first and second levels to adjust for distortion produced by the smoothing.

12. A method as recited in claim 11 , 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 of the second subdivision level based on differences between the first and second levels 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 simultaneously comprising triangles and quadrilaterals;

subdividing the base mesh into a subdivision surface of different first and second subdivision levels comprising a mix of triangles and quadrilaterals;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels; and

adjusting the surface of the second subdivision level based on differences between the first and second levels.

15. A method, comprising:

selecting an arbitrary number of faces not being a power of 4;

creating a subdivision surface of different first and second subdivision levels by subdividing a quadrilateral into the selected number of faces;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels; and

adjusting the surface of the second subdivision level based on differences between the first and second levels.

16. A method, comprising:

creating a base mesh for a subdivision surface comprising triangles and quadrilaterals;

creating a subdivision surface of different first and second subdivision levels by subdividing the triangles and the quadrilaterals of the base mesh into an arbitrary number of faces not being a power of 4;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels and

adjusting the surface of the second subdivision level based on differences between the first and second levels.

17. A method, comprising:

subdividing a surface into d pieces of different first and second subdivision levels;

smoothing the subdivided surface of the different first and second subdivision levels using a [1 2 . . . d . . . 2 1] smoothing mask; and

linearly interpolating push-back vectors for the smoothed subdivided surface of the second subdivision level based on differences between the first and second levels.

18. A method, comprising:

subdividing a five or more sided polygoned surface into a subdivided surface of different first and second subdivision levels;

smoothing the subdivided surface of the different first and second subdivision levels; and

adjusting positions of vertices of the smoothed subdivided surface of the second subdivision level based on differences between the first and second levels.

19. A method, comprising:

subdividing a polytope surface of dimension 3 or higher into a subdivided surface of different first and second subdivision levels;

smoothing the subdivided surface of the different first and second subdivision levels; and

adjusting positions of vertices of the smoothed subdivided surface of the second subdivision level based on differences between the first and second levels.

20. A computer readable storage, controlling a computer by:

subdividing a surface having original vertices at a first subdivision level producing additional vertices at a second subdivision level different from the first subdivision level;

smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels; and

adjusting positions of the smoothed vertices of the second subdivision level based on differences between the first and second levels.

21. A computer readable storage as recited in claim 20 , wherein the adjusting corrects distortion caused by the smoothing.

22. An apparatus, comprising:

a subdividing unit subdividing a surface having original vertices at a first subdivision level producing additional vertices at a second subdivision level different from the first subdivision level;

a smoothing unit smoothing the surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices from the different first and second subdivision levels; and

an adjusting unit adjusting positions of the smoothed vertices of the second subdivision level based on differences between the first and second levels.

23. An apparatus as recited in claim 22 , wherein the adjusting unit corrects distortion caused by the smoothing.

24. A method of subdividing a surface having original vertices and composed of triangle faces and quadrilateral faces, comprising:

performing a linear subdivision of the surface having the original vertices and producing additional vertices where a number of previously presented faces for each subdivided face can be a number other than four;

centroid averaging the vertices producing smoothed vertices;

determining locational differences between smoothed vertices and corresponding original and additional vertices;

linearly determining displacement vectors for the differences; and

repositioning the smoothed vertices responsive to the differences, the vectors, a volume parameter having values different from zero and one, and a rounding parameter having a value other than one.

25. A method of subdividing a surface having original vertices and composed of triangle faces and quadrilateral faces, comprising:

performing a linear subdivision of the surface having the original vertices and producing additional vertices where a number of previously presented faces for each subdivided face can be a number other than four;

centroid averaging the vertices producing smoothed vertices;

determining locational differences between smoothed vertices and corresponding original and additional vertices;

linearly determining displacement vectors for the differences; and

repositioning the smoothed vertices responsive to the differences, the vectors and a volume parameter having values different from zero and one.

26. 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 responsive to a volume parameter having values different from zero and one.

27. A method, comprising:

subdividing a curved surface having original vertices producing additional vertices;

smoothing a curve of the curved surface into smoothed vertices comprising smoothed original vertices and smoothed additional vertices; and

adjusting positions of the smoothed vertices responsive to a volume parameter having values different from zero and one.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2006
From: ALIAS SYSTEMS CORPORATION
To: AUTODESK, INC.
Reel/Frame 018375/0466 →
CERTIFICATE OF AMENDMENT Recorded Nov 18, 2004
From: ALIAS SYSTEMS CORP., A NOVA SCOTIA UNLIMITED LIABILITY COMPANY
To: ALIAS SYSTEMS INC., A NOVA SCOTIA LIMITED LIABILITY COMPANY
Reel/Frame 015370/0578 →
CERTIFICATE OF CONTINUANCE AND CHANGE OF NAME Recorded Nov 18, 2004
From: ALIAS SYSTEMS INC., A NOVA SCOTIA LIMITED LIABILITY COMPANY
To: ALIAS SYSTEMS CORP., A CANADIAN CORPORATION
Reel/Frame 015370/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2004
From: SILICON GRAPHICS, INC.; SILICON GRAPHICS LIMITED; SILICON GRAPHICS WORLD TRADE BV
To: ALIAS SYSTEMS CORP.
Reel/Frame 014934/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2002
From: MAILLOT, JEROME; STAM, JOS
To: SILICON GRAPHICS, INC.
Reel/Frame 013190/0497 →