halfedge mesh representation
TRANSCRIPT
![Page 1: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/1.jpg)
Halfedge Mesh Representation
David Gu1,2
1Computer Science DepartmentStony Brook University
Yau Mathematical Sciences CenterTsinghua University
Tsinghua University
David Gu Conformal Geometry
![Page 2: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/2.jpg)
Halfedge Data Structure
David Gu Conformal Geometry
![Page 3: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/3.jpg)
Discrete Surfaces
Acquired using 3D scanner.
David Gu Conformal Geometry
![Page 4: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/4.jpg)
Discrete Surfaces
Our group has developed high speed 3D scanner, which cancapture dynamic surfaces 180 frames per second.
David Gu Conformal Geometry
![Page 5: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/5.jpg)
Generic Surface Model - Triangular Mesh
Surfaces are represented as polyhedron triangularmeshes.
Isometric gluing of triangles in E2.
Isometric gluing of triangles in H2,S2.
David Gu Conformal Geometry
![Page 6: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/6.jpg)
Discrete structures
Topology - Simplicial Complex , combinatorics
Conformal Structure - Corner angles (and other variantdefinitions)
Riemannian metrics - Edge lengths
Embedding - Vertex coordinates
David Gu Conformal Geometry
![Page 7: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/7.jpg)
Generic Surface Model - Triangular Mesh
Σ′
e
v
ℎ
f
David Gu Conformal Geometry
![Page 8: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/8.jpg)
Triangle mesh
Definition (Mesh)
A triangle mesh is a oriented two dimensional simplicalcomplex, generally embedded in R
3.
Our goal is to design a data structure to efficiently representgeneral meshes.
David Gu Conformal Geometry
![Page 9: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/9.jpg)
Generic Surface Model - Triangular Mesh
David Gu Conformal Geometry
![Page 10: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/10.jpg)
halfedge data structure
fundamental classes
Vertex
Halfedge, oriented edge
Edge, non-oriented edge
Face, oriented
Links
All objects are linked together through pointers, such that1 The local Eucler operation can be easily performed2 The memory cost is minimized
David Gu Conformal Geometry
![Page 11: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/11.jpg)
Generic Surface Model - Triangular Mesh
halfedge
vertex
face
face halfedge
prev
next
halfedge
edgeedge
halfedge[2]
David Gu Conformal Geometry
![Page 12: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/12.jpg)
Halfedge class
Pointers
Halfedge pointers: prev, next halfedge;
Vertex pointers: target vertex, source vertex;
Edge pointer: the adjacent edge;
face pointer: the face it belongs to;
next
prev
edge
face
target
source
David Gu Conformal Geometry
![Page 13: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/13.jpg)
Vertex class
Pointers
Halfedge pointers: the first in halfedge
vertex
ℎalfedge
David Gu Conformal Geometry
![Page 14: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/14.jpg)
Edge class
Pointers
Halfedge pointers: to the adjacent two halfedges.
if the edge is on the boundary, then the second halfedgepointer is null.
ℎalfedge
David Gu Conformal Geometry
![Page 15: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/15.jpg)
Face class
Pointers
Halfedge pointers: to the first halfedge.
face
ℎalfedge
David Gu Conformal Geometry
![Page 16: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/16.jpg)
Mesh class
Data members
A list of vertices;
A list of halfedges;
A list of edges;
A list of faces;
Σ′
e
v
ℎ
f
David Gu Conformal Geometry
![Page 17: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/17.jpg)
Euler Operation
circulating neighbors of a vertex v → v/e/f/h
iterate out-halfedges counter-clock-wisely
iterate in-halfedges counter-clock-wisely
iterate neighboring faces CCWly
iterate neighboring vertices CCWly
Rotate a halfedge about its target vertex clwly:
he = he → next()→ dual();
Rotate a halfedge about its target vertex ccwly:
he = he → dual()→ prev();
David Gu Conformal Geometry
![Page 18: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/18.jpg)
Euler Operation
circulating neighbors of a face f → v/e/f/h
iterate halfedges ccwly
iterate edges ccwly
iterate vertices ccwly
iterate faces ccwly
Circulate halfedges of a face ccwly:
he = he → next()
circulate halfedge of a face clwly:
he = he → prev();
David Gu Conformal Geometry
![Page 19: Halfedge Mesh Representation](https://reader033.vdocuments.mx/reader033/viewer/2022050112/626ce9ac5bf4ca6ef62dca9b/html5/thumbnails/19.jpg)
Attributes
Attributes
Each object stores attributes (traits) which defines otherstructures on the mesh:
metric structure: edge length
angle structure: halfedge
curvature : vertex
conformal factor: vertex
Laplace-Beltrami operator: edge
Ricci flow edge weight; edge
holomorphic 1-form: halfedge
David Gu Conformal Geometry