polygonal meshes - princeton university computer science · polygonal mesh processing storage o...

7
1 Polygonal Meshes Thomas Funkhouser Princeton University COS 526, Fall 2010 Digital Geometry Processing Processing of 3D surfaces o Creation, acquisition o Storage, transmission o Editing, animation, simulation o Manufacture Applications o Movies, games o Computer-aided design o Medicine, biology o Art, history Sweldens Digital Geometry Processing Many possible surface representations o Polygonal meshes o Parametric surfaces o Subdivision surfaces o Implicit surfaces o etc. Digital Geometry Processing Let’s focus on 3D polygonal meshes o Simple, common representation o Rendering with hardware support o Output of many acquisition tools o Input to many simulation/analysis tools Stanford Graphics Lab 3D Polygonal Meshes Set of polygonal faces representing a 2D surface embedded in 3D Zorin & Schroeder, SIGGRAPH 99, Course Notes 3D Polygonal Meshes Set of polygonal faces representing a 2D surface embedded in 3D Zorin & Schroeder, SIGGRAPH 99, Course Notes Face Vertex Edge

Upload: others

Post on 16-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

1

Polygonal Meshes

Thomas Funkhouser

Princeton University

COS 526, Fall 2010

Digital Geometry Processing

Processing of 3D surfaceso Creation, acquisitiono Storage, transmissiono Editing, animation, simulationo Manufacture

Applicationso Movies, gameso Computer-aided designo Medicine, biologyo Art, history

Sweldens

Digital Geometry Processing

Many possible surface representationso Polygonal mesheso Parametric surfaceso Subdivision surfaceso Implicit surfaceso etc.

Digital Geometry Processing

Let’s focus on 3D polygonal mesheso Simple, common representationo Rendering with hardware supporto Output of many acquisition toolso Input to many simulation/analysis tools

Stanford Graphics Lab

3D Polygonal Meshes

Set of polygonal faces representing a 2D surface embedded in 3D

Zorin & Schroeder, SIGGRAPH 99, Course Notes

3D Polygonal Meshes

Set of polygonal faces representing a 2D surface embedded in 3D

Zorin & Schroeder, SIGGRAPH 99, Course Notes

Face

Vertex

Edge

Page 2: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

2

Outline

Acquisition

Processing

Representation

Outline

Acquisition

Processing

Representation

Polygonal Mesh Acquisition

Interactive modelingo Polygon editorso Interchange formats

Scannerso Laser range scannerso CAT, MRI, etc. (isosurfaces)

Simulationso Physical processes

Polygonal Mesh Acquisition

Interactive modelingØ Polygon editorso Interchange formats

Scannerso Laser range scannerso CAT, MRI, etc. (isosurfaces)

Simulationso Physical processes

Sketchup

Blender

Polygonal Mesh Acquisition

Interactive modelingo Polygon editorsØ Interchange formats

Scannerso Laser range scannerso CAT, MRI, etc. (isosurfaces)

Simulationso Physical processes

Princeton Shape Benchmark

Polygonal Mesh Acquisition

Interactive modelingo Polygon editorso Interchange formats

ScannersØ Laser range scannerso CAT, MRI, etc. (isosurfaces)

Simulationso Physical processes

Digital Michelangelo ProjectStanford

Page 3: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

3

Polygonal Mesh Acquisition

Interactive modelingo Polygon editorso Interchange formats

Scannerso Laser range scannerso CAT, MRI, etc. (isosurfaces)

Simulationso Physical processes

Large Geometric Model RepositoryGeorgia Tech

Polygonal Mesh Acquisition

Interactive modelingo Polygon editorso Interchange formats

Scannerso Laser range scannerso CAT, MRI, etc. (isosurfaces)

SimulationsØ Physical processes

MIT

Outline

Acquisition

Processing

Representation

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion

Polygonal Mesh Processing

StorageØ Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion

Lossy Compression(Simplification)

Garland

Polygonal Mesh Processing

Storageo CompressionØ Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion

Page 4: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

4

Polygonal Mesh Processing

Storageo Compressiono Transmission

AnalysisØ Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion Sheffer

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso ParameterizationØ Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion Sheffer

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryØ Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion Novatnek et al.

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectionØ Segmentation

Editingo Smoothing, sharpening, etc.o Deformationo Completion Katz & Tal

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

EditingØ Smoothing, sharpening, etc.o Deformationo Completion Desbrun

Smoothing

Sharpening

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.Ø Deformationo Completion Sheffer

Page 5: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

5

Polygonal Mesh Processing

Storageo Compressiono Transmission

Analysiso Parameterizationo Differential geometryo Feature detectiono Segmentation

Editingo Smoothing, sharpening, etc.o DeformationØ Completion Podolak

Outline

Acquisition

Processing

Representation

Polygon Mesh Representation

Data structures determine algorithmso Data structure must support key operations of

algorithm efficiently

Examples:o Drawing a mesho Removing a vertexo Computing per-vertex normals

Different data structures for different algorithms

Polygon Mesh Representation

Important properties of mesh representation?

Polygon Mesh Representation

Important properties of mesh representation?o Efficient traversal of topologyo Efficient use of memory

Polygon Mesh Representation

Possible data structureso List of independent faceso Vertex and face tableso Adjacency listso Winged edgeo Half edgeo etc.

Page 6: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

6

Independent Faces

Each face lists vertex coordinateso Redundant verticeso No topology information

Vertex and Face Tables

Each face lists vertex referenceso Shared verticeso Still no topology information

Adjacency Lists

Store all vertex, edge, and face adjacencies o Efficient topology traversalo Extra storage

Partial Adjacency Lists

Can we store only some adjacency relationshipsand derive others?

Winged Edge

Adjacency encoded in edgeso All adjacencies in O(1) timeo Little extra storage (fixed records)o Arbitrary polygons

Winged Edge

Example:

Page 7: Polygonal Meshes - Princeton University Computer Science · Polygonal Mesh Processing Storage o Compression o Transmission Analysis o Parameterization o Differential geometry o Feature

7

Half Edge

Adjacency encoded in edgeso All adjacencies in O(1) timeo Little extra storage (fixed records)o Arbitrary polygons

Similar to winged-edge,except adjacency encoded in half-edges

e heinv

vbegin

Fleft

henext

Summary

Polygonal mesh overviewo Acquisitiono Processingo Representation

Summary

Do polygonal mesh reps have these properties?o Easy to acquireo Accurateo Conciseo Efficient displayo Efficient intersectionso Efficient deformationso Efficient topology changeso Guaranteed validityo Guaranteed smoothnesso Intuitive editing controls

Summary

Next time: Laplacian Surface Editing