1 2 surface representation data structures
play

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

Spring 2017 CSCI 621: Digital Geometry Processing 1.2 Surface Representation & Data Structures Hao Li http://cs621.hao-li.com 1 Administrative No class next Tuesday, due to Siggraph deadline Introduction to first programming


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

  2. Administrative • No class next Tuesday, due to Siggraph deadline • Introduction to first programming exercise on Jan 24th Siggraph Deadline 2013@ILM! 2

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

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

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

  6. High Resolution 6

  7. Large scenes 7

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

  9. 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 ) 9

  10. 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 ) ? 10

  11. 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 ) ? 11

  12. 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 12

  13. 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 13

  14. 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% 14

  15. Polygonal Meshes Polygonal meshes are a good compromise O ( h 2 ) • Piecewise linear approximation → error is • Error inversely proportional to #faces 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 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 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 18

  19. 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 19

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

  21. Graph Definitions B A • Graph { V , E } E F 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 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 G K J 23

  24. 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 24

  25. 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 25

  26. Connectivity Connected: B Path of edges connecting A every two vertices E F D C I H G 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 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. 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 30

  31. 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 31

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

  33. 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 33

  34. 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 34

  35. 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 35

  36. 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 36

  37. While digital artists call it Wireframe, … 37

  38. 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 or an edge e ∈ E • 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 38

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

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

  41. 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 41

  42. 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 ) χ 42

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

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

  45. 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 45

  46. 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 46

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

  48. How many pentagons? 48

  49. 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 49

  50. 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: 50

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

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