DOC PREVIEW
Princeton COS 426 - Subdivision Surfaces

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1Subdivision SurfacesTom FunkhouserPrinceton UniversityCOS 426, Spring 2006Modeling• How do we ... Represent 3D objects in a computer? Acquire computer representations of 3D objects? Manipulate computer representations of 3D objects? Analyze computer representations of 3D objects?Different representations for different types of objects and operations3D Object Representations• Raw data Voxels Point cloud Range image Polygons• Surfaces Mesh Subdivision  Parametric Implicit• Solids Octree BSP tree CSG Sweep• High-level structures Scene graph Application specific3D Object Representations• Raw data Voxels Point cloud Range image Polygons• Surfaces Mesh Subdivision  Parametric Implicit• Solids Octree BSP tree CSG Sweep• High-level structures Scene graph Application specificSurfaces• What makes a good surface representation? Accurate Concise Intuitive specification Local support Affine invariant Arbitrary topology Guaranteed continuity  Natural parameterization Efficient display Efficient intersectionsH&B Figure 10.46Polygon Meshes• How should we represent a mesh in a computer? Efficient traversal of topology Efficient use of memory• Mesh Representations Independent faces Vertex and face tables Adjacency lists Winged-EdgeZorin & Schroeder, SIGGRAPH 99, Course Notes2Polygon Meshes• How should we represent a mesh in a computer? Efficient traversal of topology Efficient use of memory• Mesh Representations Independent faces Vertex and face tables Adjacency lists Winged-EdgeZorin & Schroeder, SIGGRAPH 99, Course NotesIndependent Faces• Each face lists vertex coordinatesIndependent Faces• Each face lists vertex coordinates Redundant vertices No topology informationVertex and Face Tables• Each face lists vertex references Shared verticesVertex and Face Tables• Each face lists vertex references Shared vertices Still no topology informationAdjacency Lists• Store all vertex, edge, and face adjacencies  Efficient topology traversal3Adjacency Lists• Store all vertex, edge, and face adjacencies  Efficient topology traversal Extra storagePartial Adjacency Lists• Can we store only some adjacency relationshipsand derive others? Winged Edge• Adjacency encoded in edges All adjacencies in O(1) time Little extra storage (fixed records) Arbitrary polygonsWinged Edge• Example:3D Object Representations• Raw data Voxels Point cloud Range image Polygons• Surfaces Mesh Subdivision  Parametric Implicit• Solids Octree BSP tree CSG Sweep• High-level structures Scene graph Application specificGerry’s GamePixar4Surfaces• What makes a good surface representation? Accurate Concise Intuitive specification Local support Affine invariant Arbitrary topology Guaranteed continuity Natural parameterization Efficient display Efficient intersectionsH&B Figure 10.46Subdivision• How do you make a smooth curve?Zorin & SchroederSIGGRAPH 99 Course NotesSubdivision Surfaces• Coarse mesh & subdivision rule Define smooth surface as limit of sequence of refinements Zorin & SchroederSIGGRAPH 99 Course NotesKey Questions• How refine mesh? Aim for properties like smoothness• How store mesh? Aim for efficiency for implementing subdivision rulesZorin & SchroederSIGGRAPH 99 Course NotesLoop Subdivision Scheme• How refine mesh? Refine each triangle into 4 triangles by splitting each edge and connecting new vertices Need rules for “even / odd” (white / black) verticesZorin & SchroederSIGGRAPH 99 Course NotesLoop Subdivision Scheme• How position new vertices? Choose locations for new vertices as weighted average of original vertices in local neighborhoodZorin & SchroederSIGGRAPH 99 Course NotesWhat if odd vertex only touches one triangle?Odd: Even:What if even vertex does not have degree 6?5Loop Subdivision Scheme• Rules for extraordinary vertices and boundaries:Zorin & SchroederSIGGRAPH 99 Course NotesLoop• How to choose β? Analyze properties of limit surface Interested in continuity of surface and smoothness Involves calculating eigenvalues of matrices» Original Loop» Warren))cos((224183851nnπβ+−= =>=3316383nnnβLoop Subdivision SchemeZorin & SchroederSIGGRAPH 99 Course NotesLimit surface has provable smoothness properties!Subdivision Schemes• There are different subdivision schemes Different methods for refining topology  Different rules for positioning vertices » Interpolating versus approximatingZorin & Schroeder, SIGGRAPH 99 , Course NotesSubdivision SchemesZorin & SchroederSIGGRAPH 99 Course NotesSubdivision SchemesZorin & SchroederSIGGRAPH 99 Course Notes6Subdivision Surfaces• Properties: Accurate Concise Intuitive specification Local support Affine invariant Arbitrary topology Guaranteed continuity  Natural parameterization Efficient display Efficient intersectionsPixarSubdivision Surfaces• Advantages: Simple method for describing complex surfaces Relatively easy to implement Arbitrary topology Local support Guaranteed continuity Multiresolution• Difficulties: Intuitive specification  Parameterization IntersectionsKey Questions• How refine mesh? Aim for properties like smoothness• How store mesh? Aim for efficiency for implementing subdivision rulesZorin & SchroederSIGGRAPH 99 Course NotesTriangle Meshes• Relevant properties: Exactly 3 vertices per face Any number of faces per vertex• Useful adjacency structure for Loop subdivision: Do not represent edges explicitly Faces store refs to vertices and neighboring faces Vertices store refs to adjacent faces and verticesAssignment 3• Interactive editing of subdivision surfaces Loop subdivision scheme Partial adjacency list mesh representation Interactive vertex draggingAssignment 3• Edit coarse mesh while display subdivided mesh7Assignment 3• Store hierarchy of meshes Full triangle mesh at every level Vertices store references to counterparts one level up and one level down Enables efficient re-positioning of mesh vertices afterinteractive draggingLevel i Level i+1SummaryAccurate No YesConcise No YesIntuitive specification No NoLocal support Yes YesAffine invariant Yes YesArbitrary


View Full Document

Princeton COS 426 - Subdivision Surfaces

Documents in this Course
Lecture

Lecture

35 pages

Lecture

Lecture

80 pages

Boids

Boids

25 pages

Exam 1

Exam 1

9 pages

Curves

Curves

4 pages

Lecture

Lecture

83 pages

Load more
Download Subdivision Surfaces
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Subdivision Surfaces and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Subdivision Surfaces 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?