cos 426, spring 2020 princeton university felix heide
TRANSCRIPT
![Page 1: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/1.jpg)
Polygonal Meshes
COS 426, Spring 2020
Princeton University
Felix Heide
![Page 2: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/2.jpg)
3D Object Representations
•Points• Range image
• Point cloud
•Surfaces➢Polygonal mesh
• Parametric
• Subdivision
• Implicit
•Solids• Voxels
• BSP tree
• CSG
• Sweep
•High-level structures• Scene graph
• Application specific
![Page 3: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/3.jpg)
3D Polygonal Mesh
• Set of polygons representing a 2D surface embedded in 3D
Zorin & Schroeder
Face
Vertex(x,y,z)
Edge
![Page 4: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/4.jpg)
3D Polygonal Mesh
• The power of polygonal meshes
![Page 5: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/5.jpg)
3D Polygonal Mesh
• Set of polygons representing a 2D surface embedded in 3D
Platonic Solids
![Page 6: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/6.jpg)
3D Polygonal Mesh
http://www.fxguide.com/featured/Comic_Horrors_Rocks_Statues_and_VanDyke/
![Page 7: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/7.jpg)
3D Polygonal Mesh
Isenberg
![Page 8: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/8.jpg)
3D Polygonal Meshes
• Why are they of interest?• Simple, common representation
• Rendering with hardware support
• Output of many acquisition tools
• Input to many simulation/analysis tools
Viewpoint
![Page 9: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/9.jpg)
3D Polygonal Meshes
• Properties? Efficient display? Easy acquisition? Accurate? Concise? Intuitive editing? Efficient editing? Efficient intersections? Guaranteed validity? Guaranteed smoothness? etc.
Viewpoint
![Page 10: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/10.jpg)
Outline
• Acquisition
• Representation
• Processing
![Page 11: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/11.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
![Page 12: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/12.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• SimulationsSketchup
Blender
![Page 13: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/13.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
Digital Michelangelo ProjectStanford
![Page 14: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/14.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
sphynx.co.uk
![Page 15: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/15.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
Nicky Robinson, COS 426, 2014
![Page 16: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/16.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
![Page 17: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/17.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
Peter Maag, COS 426, 2010Fowler et al., 1992
![Page 18: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/18.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
Jose Maria De Espona
Marching cubes
![Page 19: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/19.jpg)
Polygonal Mesh Acquisition
• Interactive modeling
• Scanners
• Procedural generation
• Conversion
• Simulations
symscape Lee et. al 2010
![Page 20: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/20.jpg)
Outline
• Acquisition
• Representation
• Processing
![Page 21: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/21.jpg)
Polygon Mesh Representation
• Important properties of mesh representation?• Efficient traversal of topology
• Efficient use of memory
• Efficient updates
Large Geometric Model RepositoryGeorgia Tech
![Page 22: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/22.jpg)
Polygon Mesh Representation
• Possible data structures
![Page 23: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/23.jpg)
Independent Faces
• Each face lists vertex coordinates• Redundant vertices
• No adjacency information
![Page 24: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/24.jpg)
Vertex and Face Tables (Indexed Vertices)
• Each face lists vertex references• Shared vertices
• Still no adjacency information
![Page 25: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/25.jpg)
Adjacency Lists
• Store all vertex, edge, and face adjacencies • Efficient adjacency traversal
• Extra storage
![Page 26: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/26.jpg)
Partial Adjacency Lists
• Can we store only some adjacency relationshipsand derive others?
![Page 27: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/27.jpg)
Winged Edge
• Adjacency encoded in edges• All adjacencies in O(1) time
• Little extra storage (fixed records)
• Arbitrary polygons
![Page 28: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/28.jpg)
Winged Edge
• Example:
![Page 29: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/29.jpg)
Half Edge
• Each half-edge stores:• Its twin half-edge
![Page 30: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/30.jpg)
Half Edge
• Each half-edge stores:• Its twin half-edge
• The next half-edge
![Page 31: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/31.jpg)
Half Edge
• Each half-edge stores:• Its twin half-edge
• The next half-edge
• The next vertex
![Page 32: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/32.jpg)
Half Edge
• Each half-edge stores:• Its twin half-edge
• The next half-edge
• The next vertex
• The incident face
![Page 33: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/33.jpg)
Half Edge
• Each half-edge stores:• Its twin half-edge
• The next half-edge
• The next vertex
• The incident face
• Each face stores:• 1 adjacent half-edge
• Each vertex stores:• 1 outgoing half-edge
![Page 34: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/34.jpg)
Half Edge
• Queries. How do you find:• All faces incident to an edge?
• All vertices of a face?
• All faces incident to a face?
• All vertices incident to a vertex?
![Page 35: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/35.jpg)
Half Edge
• Adjacency encoded in edges• All adjacencies in O(1) time
• Little extra storage (fixed records)
• Arbitrary polygons
• Assumes 2-Manifold surfaces
![Page 36: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/36.jpg)
Outline
• Acquisition
• Representation
• Processing
![Page 37: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/37.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
![Page 38: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/38.jpg)
Polygonal Mesh Processing
• Analysis➢Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
![Page 39: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/39.jpg)
Polygonal Mesh Processing
• Analysis➢Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Face normals:
![Page 40: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/40.jpg)
Polygonal Mesh Processing
• Analysis➢Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Vertex normals:
![Page 41: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/41.jpg)
Polygonal Mesh Processing
• Analysis➢Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Vertex normals:
for each face-calculate face normal-add normal to each connected vertex normal
for each face normal-normalize
for each vertex normal-normalize
![Page 42: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/42.jpg)
Polygonal Mesh Processing
• Analysis➢Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Lucas Mayer, COS 426, 2014
“The bunny with normal vertices shown. Reminded me of an album cover so I made it into one.”
![Page 43: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/43.jpg)
Polygonal Mesh Processing
• Analysis• Normals➢Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
![Page 44: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/44.jpg)
Polygonal Mesh Processing
• Analysis• Normals➢Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
C0 C1 C2
![Page 45: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/45.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps➢Rotate• Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
![Page 46: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/46.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate➢Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Brendan Chou, COS 426, 2014
![Page 47: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/47.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate➢Deform
• Filters• Smooth• Sharpen• Truncate• Bevel
Sheffer
![Page 48: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/48.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters➢Smooth• Sharpen• Truncate• Bevel
Thouis “Ray” Jones
How?
![Page 49: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/49.jpg)
The Laplacian Operator
• Mesh formulation:
𝑝𝑖 =Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖
𝑝𝑗
#1𝑟𝑖𝑛𝑔𝑖
Olga Sorkine
Average of Neighboring Vertices
![Page 50: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/50.jpg)
5
5
• The Laplacian operator Δ
𝐿(𝑝𝑖) = Δ 𝑝𝑖 =Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖
𝑝𝑗−𝑝𝑖
#1𝑟𝑖𝑛𝑔𝑖
• In matrix form:
𝐿𝑖𝑗 = ൞
−𝑤𝑖𝑗 𝑖 ≠ 𝑗
Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖𝑤𝑖𝑗 𝑖 = 𝑗
0 𝑒𝑙𝑠𝑒
The Laplacian Operator
![Page 51: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/51.jpg)
The Laplacian Operator
• The Laplacian operator Δ
𝐿(𝑝𝑖) = Δ 𝑝𝑖 =Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖
𝑝𝑗−𝑝𝑖
#1𝑟𝑖𝑛𝑔𝑖
• However, Meshes are irregular
![Page 52: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/52.jpg)
• The Laplacian operator Δ
𝐿(𝑝𝑖) = Δ 𝑝𝑖 =Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖
𝑝𝑗−𝑝𝑖
#1𝑟𝑖𝑛𝑔𝑖
• However, Meshes are irregular
• Cotangent weights:
𝐿(𝑝𝑖) =Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖
𝑤𝑖𝑗⋅𝑝𝑗
Σ𝑗∈1𝑟𝑖𝑛𝑔𝑖𝑤𝑖𝑗
− 𝑝𝑖
𝑤𝑖𝑗 =cot 𝛼𝑖𝑗 +cot 𝛽𝑖𝑗
2
The Laplacian Operator
![Page 53: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/53.jpg)
The Laplacian Operator
• Applicable to:• Deformation, by adding constraints
![Page 54: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/54.jpg)
Polygonal Mesh Processing
Sorkine
Deformation
![Page 55: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/55.jpg)
The Laplacian Operator
• Applicable to:• Deformation, by adding constraints
• Blending, by concatenating rows
![Page 56: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/56.jpg)
The Laplacian Operator
• Applicable to:• Deformation, by adding constraints
• Blending, by concatenating rows
• Hole filling, by 0’s on the RHS
![Page 57: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/57.jpg)
The Laplacian Operator
• Applicable to:• Deformation, by adding constraints
• Blending, by concatenating rows
• Hole filling, by 0’s on the RHS
• Coating (or detail transfer), by copying RHS values (after filtering)
![Page 58: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/58.jpg)
The Laplacian Operator
• Applicable to:• Deformation, by adding constraints
• Blending, by concatenating rows
• Hole filling, by 0’s on the RHS
• Coating (or detail transfer), by copying RHS values (after filtering)
• Spectral mesh processing, through eigen analysis
![Page 59: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/59.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth➢Sharpen• Truncate• Bevel
Desbrun
Olga Sorkine
Weighted Average
of Neighbor Vertices
![Page 60: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/60.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen➢Truncate• Bevel
Conway
0.35
![Page 61: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/61.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen➢Truncate• Bevel
Wikipedia
![Page 62: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/62.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen➢Truncate• Bevel
http://www.uwgb.edu/dutchs/symmetry/archpol.htm
Archimedean Polyhedra
![Page 63: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/63.jpg)
Polygonal Mesh Processing
• Analysis• Normals• Curvature
• Warps• Rotate• Deform
• Filters• Smooth• Sharpen• Truncate➢Bevel
Jarek Rossignac Conway
0.40
Wikipedia
![Page 64: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/64.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
![Page 65: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/65.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Collapse edge
Remove Vertex
Subdivide face
![Page 66: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/66.jpg)
Polygonal Mesh Processing
• Remeshing➢Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Zorin & Schroeder
![Page 67: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/67.jpg)
Polygonal Mesh Processing
• Remeshing➢Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Matt Matl, COS 426, 2014
![Page 68: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/68.jpg)
Polygonal Mesh Processing
• Remeshing➢Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Dirk Balfanz, Igor Guskov, Sanjeev Kumar, & Rudro Samanta,
Fractal Landscape
![Page 69: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/69.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
➢Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract Stanford
- more uniform distribution- triangles with nicer aspect
![Page 70: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/70.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
➢Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Stanford
![Page 71: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/71.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
• Simplify
• Topological fixup➢Fill holes
• Fix self-intersections
• Boolean operations• Crop
• Subtract
Podolak
![Page 72: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/72.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
➢Fix self-intersections
• Boolean operations• Crop
• Subtract
Borodin
![Page 73: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/73.jpg)
Polygonal Mesh Processing
• Remeshing• Subdivide
• Resample
• Simplify
• Topological fixup• Fill holes
• Fix self-intersections
• Boolean operations➢Crop
➢Subtract
➢Etc.
![Page 74: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/74.jpg)
Summary
• Polygonal meshes• Most common surface representation
• Fast rendering
• Processing operations• Must consider irregular vertex sampling
• Must handle/avoid topological degeneracies
• Representation• Which adjacency relationships to store
depend on which operations must be efficient
![Page 75: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/75.jpg)
3D Polygonal Meshes
• Properties? Efficient display? Easy acquisition? Accurate? Concise? Intuitive editing? Efficient editing? Efficient intersections? Guaranteed validity? Guaranteed smoothness? etc.
Viewpoint
![Page 76: COS 426, Spring 2020 Princeton University Felix Heide](https://reader031.vdocuments.net/reader031/viewer/2022012002/61d915a3a6985f11f751f565/html5/thumbnails/76.jpg)
3D Polygonal Meshes
• Properties☺Efficient display
☺Easy acquisition
Accurate
Concise
Intuitive editing
Efficient editing
Efficient intersections
Guaranteed validity
Guaranteed smoothness
Viewpoint