1 2 surface representation data structures
play

1.2 Surface Representation & Data Structures Hao Li - PowerPoint PPT Presentation

Spring 2019 CSCI 621: Digital Geometry Processing 1.2 Surface Representation & Data Structures Hao Li http://cs621.hao-li.com 1 Last Time Geometry Processing Reconstruction Rendering Capture Analysis Reproduction Manipulation 2


  1. Spring 2019 CSCI 621: Digital Geometry Processing 1.2 Surface Representation & Data Structures Hao Li http://cs621.hao-li.com 1

  2. Last Time Geometry Processing Reconstruction Rendering Capture Analysis Reproduction Manipulation 2

  3. Geometric Representations point based quad mesh triangle mesh implicit surfaces / particles volumetric tetrahedrons 3

  4. Geometric Representations point based quad mesh triangle mesh Surface Representations implicit surfaces / particles volumetric tetrahedrons 4

  5. High Resolution 5

  6. Large scenes 6

  7. Outline • Parametric Approximations • Polygonal Meshes • Data Structures 7

  8. Parametric Representation Surface is the range of a function f : Ω ⊂ IR 2 → IR 3 , S Ω = f ( Ω ) 2D example: A Circle f : [0 , 2 π ] → IR 2 � ⇥ r cos( t ) r f ( t ) = r sin( t ) 8

  9. Parametric Representation Surface is the range of a function f : Ω ⊂ IR 2 → IR 3 , S Ω = f ( Ω ) 2D example: Island coast line f : [0 , 2 π ] → IR 2 � ⇥ ? r cos( t ) f ( t ) = r sin( t ) ? 9

  10. Piecewise Approximation Surface is the range of a function f : Ω ⊂ IR 2 → IR 3 , S Ω = f ( Ω ) 2D example: Island coast line f : [0 , 2 π ] → IR 2 � ⇥ ? r cos( t ) f ( t ) = r sin( t ) ? 10

  11. Polynomial Approximation Polynomials are computable functions p p c i t i = � � f ( t ) = c i φ i ( t ) ˜ i =0 i =0 Taylor expansion up to degree p p 1 i ! g ( i ) (0) h i + O ⇤ h p +1 ⇥ � g ( h ) = i =0 Error for approximation by polynomial f g f ( t i ) = g ( t i ) , 0 ≤ t 0 < · · · < t p ≤ h p 1 � h ( p +1) ⇥ ⇤ ( p + 1)! max f ( p +1) | f ( t ) − g ( t ) | ≤ ( t − t i ) = O i =0 11

  12. Polynomial Approximation Approximation error is O ( h p +1 ) Improve approximation quality by • increasing … higher order polynomials p • decreasing … shorter / more segments h Issues f ( p +1) ( t ) max • smoothness of the target data ( ) t • smoothness condition between segments 12

  13. Polygonal Meshes Polygonal meshes are a good compromise • Piecewise linear approximation → error is O ( h 2 ) 3 6 12 24 25% 6.5% 1.7% 0.4% 13

  14. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces 14

  15. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces • Arbitrary topology surfaces 15

  16. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces • Arbitrary topology surfaces • Piecewise smooth surfaces 16

  17. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces • Arbitrary topology surfaces • Piecewise smooth surfaces • Adaptive sampling 17

  18. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces • Arbitrary topology surfaces • Piecewise smooth surfaces • Adaptive sampling • Efficient GPU-based rendering/processing 18

  19. Outline • Parametric Approximations • Polygonal Meshes • Data Structures 19

  20. Graph Definitions B A • Graph { V , E } E F D C I H G K J 20

  21. Graph Definitions B A • Graph { V , E } E F • Vertices V = {A,B,C,…,K} D C I H G K J 21

  22. Graph Definitions B A • Graph { V , E } E F • Vertices V = {A,B,C,…,K} D C • Edges E = {(AB),(AE),(CD),…} I H G K J 22

  23. Graph Definitions B A • Graph { V , E } E F • Vertices V = {A,B,C,…,K} D C • Edges E = {(AB),(AE),(CD),…} I H • Faces F = {(ABE),(EBF),(EFIH),…} G K J 23

  24. Graph Definitions B A Vertex degree or valence: E F D number of incident edges C • deg(A) = 4 I H • deg(E) = 5 G K J 24

  25. Connectivity Connected: B Path of edges connecting A every two vertices E F D C I H G K J 25

  26. Connectivity Connected: Path of edges connecting B A every two vertices E F D Subgraph: C Graph { V’,E’ } is a subgraph of graph I H { V,E } if V’ is a subset of V and E’ is a G subset of E incident on V’ . K J 26

  27. Connectivity Connected: Path of edges connecting B A every two vertices E F D Subgraph: C Graph { V’,E’ } is a subgraph of graph I H { V,E } if V’ is a subset of V and E’ is a G subset of E incident on V’ . K J 27

  28. Connectivity Connected: Path of edges connecting B A every two vertices E F D Subgraph: C Graph { V’,E’ } is a subgraph of graph I H { V,E } if V’ is a subset of V and E’ is a G subset of E incident on V’ . K J Connected Components: Maximally connected subgraph 28

  29. Connectivity Connected: Path of edges connecting B A every two vertices E F D Subgraph: C Graph { V’,E’ } is a subgraph of graph I H { V,E } if V’ is a subset of V and E’ is a G subset of E incident on V’ . K J Connected Components: Maximally connected subgraph 29

  30. Graph Embedding R d Embedding: Graph is embedded in , if R d each vertex is assigned a position in . R 2 R 3 Embedding in Embedding in 30

  31. Graph Embedding R d Embedding: Graph is embedded in , if R d each vertex is assigned a position in . Embedding in R 3 31

  32. Planar Graph Planar Graph Graph whose vertices and edges can be R 2 embedded in such that its edges do not intersect Straight Line Planar Graph Plane Graph Plane Graph 32

  33. Triangulation Triangulation: Straight line plane graph where every B A face is a triangle E F D Why? C • simple homogenous data structure I H • efficient rendering G • simplifies algorithms • by definition, triangle is planar K J • any polygon can be triangulated 33

  34. Mesh • Mesh : straight-line graph R 3 embedded in • Boundary edge: adjacent to exactly 1 face • Regular edge: adjacent to exactly 2 faces • Singular edge: adjacent to more than 2 faces • Closed mesh: mesh with no boundary edges 34

  35. Polygon Q = ( V, E ) A geometric graph R d d ≥ 2 V = { p 0 , p 1 , . . . , p n − 1 } with in , E = { ( p 0 , p 1 ) . . . ( p n − 2 , p n − 1 ) } and is called a polygon A polygon is called • flat, if all edges are on a plane • closed, if p 0 = p n − 1 35

  36. While digital artists call it Wireframe, … 36

  37. Polygonal Mesh A set of finite number of closed polygons if: Q i M • Intersection of inner polygonal areas is empty p ∈ P • Intersection of 2 polygons from is either empty, a point M e ∈ E or an edge • Every edge belongs to at least one polygon e ∈ E • The set of all edges which belong only to one polygon are called edges of the polygonal mesh and are either empty or form a single closed polygon 37

  38. Polygonal Mesh Notation M = ( { v i } , { e j } , { f k } ) v i ∈ R 3 geometry 38

  39. Polygonal Mesh Notation M = ( { v i } , { e j } , { f k } ) v i ∈ R 3 geometry e i , f i ⊂ R 3 topology 39

  40. Global Topology: Genus • Genus: Maximal number of closed simple cutting curves that do not disconnect the graph into multiple components. • Or half the maximal number of closed paths that do no disconnect the mesh • Informally, the number of holes or handles Genus 0 Genus 1 Genus 2 Genus 3 40

  41. Euler Poincaré Formula • For a closed polygonal mesh of genus , the relation g of the number of vertices, of edges, and of faces V E F is given by Euler’s formula: V − E + F = 2(1 − g ) • The term is called the Euler characteristic 2(1 − g ) χ 41

  42. Euler Poincaré Formula V − E + F = 2(1 − g ) 4 − 6 + 4 = 2(1 − 0) 42

  43. Euler Poincaré Formula V − E + F = 2(1 − g ) 16 − 32 + 16 = 2(1 − 1) 43

  44. Average Valence of Closed Triangle Mesh Theorem: Average vertex degree in a closed manifold triangle mesh is ~6 Proof: Each face has 3 edges and each edge is counted twice: 3F = 2E by Euler’s formula: V+F-E = V+2E/3-E = 2-2g Thus E = 3(V-2+2g) So average degree = 2E/V = 6(V-2+2g)/V ~6 for large V 44

  45. Euler Consequences Triangle mesh statistics • F ≈ 2 V E ≈ 3 V • • Average valence = 6 Quad mesh statistics • F ≈ V • E ≈ 2 V • Average valence = 4 45

  46. Euler Characteristic Sphere Torus Moebius Strip Klein Bottle χ = 2 χ = 0 χ = 0 χ = 0 46

  47. How many pentagons? 47

  48. How many pentagons? Any closed surface of genus 0 consisting only of hexagons and pentagons and where every vertex has valence 3 must have exactly 12 pentagons 48

  49. Two-Manifold Surfaces Local neighborhoods are disk-shaped f ( D ✏ [ u, v ]) = D � [ f ( u, v )] Guarantees meaningful neighbor enumeration • required by most algorithms Non-manifold Examples: 49

  50. Outline • Parametric Approximations • Polygonal Meshes • Data Structures 50

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend