Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung

Similar presentations


Presentation on theme: "Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung"— Presentation transcript:

1 Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung
Computer Graphics SS 2014 Geometric Models - I Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung

2 Object representation
In computer graphics we usually deal with polygonal approximations of continuous objects

3 Object representation
What is a polygon? It consists of points, typically in 3D-space ℝ3 A point is represented by its x,y,z-coordinates; it is called a vertex Points are connected via line segments (edges) Line segments are specified in terms of the vertices at their endpoints A polygon is the interior of a closed planar connected series of line segments The edges do not cross each other and exactly two edges meet at every vertex

4 Object representation
What is a polygon? concave convex

5 Object representation
What is a polygon mesh? Objects are typically considered to be hollow They are modelled by a (closed) surface composed of polygons (faces) – the boundary representation (B-Rep) or surface mesh i.e., objects are modelled as polyhedra

6 Object representation
Types of polygon meshes Triangle meshes and quad meshes

7 Object representation
A polygon mesh must satisfy the following criteria The intersection of two polygons is either empty, or a common vertex, or a common edge Not allowed Allowed Faces overlap T-vertex

8 Object representation
We only consider 2-manifold meshes A mesh where every edge must be shared by exactly 2 faces, except the border edges

9 Polygon meshes and graphs
1 2 3 4 5 7 6 Polygon meshes and graphs A graph is a 2-tupel <V,E> V: the set of nodes E: the set of edges connecting two nodes A planar graph: Graph whose vertices and edges can be embedded in ℝ2 such that its edges do not intersect A plane graph: A planar graph drawn in a plane non planar planar

10 Polygon meshes and graphs
A connected planar graph is a 2-tupel <V,E> V: the set of nodes E: the set of edges connecting two nodes All nodes are connected via a path along the edges F: the faces (Gebiete) are the connected parts of the plane, which emerge when cutting the plane along the edges Triangulation: graph where every face is a triangle. Euler’s Formula: V − E + F = 2 Every convex polyhedron can be turned into a connected planar graph Ie, Euler’s Formula holds as well

11 Polygon meshes and graphs
n-ring of a node is the set of nodes for which a path to that node of length n exist Valence of a node is the number of adjacent edges (= number of adjacent nodes) 1-ring 2-ring

12 Polygon meshes and graphs
Seeing polygon meshes as graphs allows transforming problems on meshes into graph theoretical problems Shortest path along edges from one vertex to another Does a path exist along which every vertex is visited exactly once How many edges E can a triangle mesh of V vertices have 3F = 2E ⇒ E ≈ 3V, F ≈ 2V What is the average valence of the vertices in a triangle mesh ⇒ < 6 (< 4 in a mesh of quadrilaterals) Since each face has 3 edges and each edge is counted twice, we have 3F = 2E For the second part notice that we can use the fact that F/E = 2/3 to our advantage. In this case multpily the formula by 2 to get 2V - 2E + 2F = 4 and then substitute 2E = 3F to get 2V - F = 4. Now if we are interested in the approximation of this ratio we can assume that 4+F = F if we have many faces. This reduces to V = 1/2F or V/F = 1/2, so V:F is 1:2 and F:E is 2:3, so V:F:E is 1:2:3. For the second part, note that for every face there are 3 vertices that comprise that face. Since I derived that V:F is 1:2 we know that this means there are 6 faces that are generated. In order for the relation V:F = 1:2 for the whole mesh, it must be that each vertex touches 6 faces. Triangle mesh: 3F = 2E by counting Using Euler: V+F-E=V+2E/3-E=2-2g -> E = 3(V-2+2g) -> Average(deg) = 2E/V = 6(V-2+2g)/V approx 6 for large V

13 Polygon meshes Genus of a polyhedron
Genus: Maximal number of closed cutting curves that do not disconnect the graph into multiple components. Ie. the number of holes or handles Genus 0 Genus 1 Genus 2 Genus 3

14 Euler-Poincare Formula
Polygon meshes Euler-Poincare Formula For a closed polygonal mesh of genus g, the relation of the number V of vertices, E of edges, and F of faces is given V - E + F = 2(1-g) The term χ = 2(1-g) is called the Euler characteristic χ = 2 χ = 0 χ = -2 χ = -4

15 Polygon meshes Euler-Poincare Formula V = 3890 E = F = 7776 Genus 0, χ = 2

16 Polygon meshes Genus 1, χ = 0 knot

17 Polygon meshes A polygonal approximation is an approximation of a continuous surface by a polygon mesh Example: Approximations of a curve Different approximations of a sphere

18 Polygon meshes A polygonal approximation typically consists of a discrete set of points of the continuous surface, which are connected via edges Constructing the connectivity (edges) for a given set of points is called triangulation

19 Approximation properties of polygonal approximations
Polygon meshes Approximation properties of polygonal approximations For piecewise linear approximations the error between the approximation and the surface is 𝑂( ℎ 2 ) Error goes down as we increase the number of interpolation points; error decreases as the size of the square of the interval

20 Polygon meshes Polygonal approximation are typically adaptive, i.e., more/smaller polygons are used in regions of high curvature (“high 𝑓´´ 𝑐 ”)

21 Adaptive polygonal/polyhedral approximations
Polygon meshes Adaptive polygonal/polyhedral approximations 21

22 Polygon mesh representation
Triangle mesh representation Geometry: where are the vertices positioned (Polygon-)topology: how are the vertices connected (Mesh-)topology: how are the polygons connected Explicit representation (Face Set; STL files): store three vertices for each of the n triangles n*3*3 = 9n floats High redundancy 36 B/f = 72 B/v no connectivity!

23 Polygon mesh representation
Triangle mesh representation Shared vertex („indexed face set“) representation (OBJ, OFF files) Array of coordinates of all vertices (3n floats) Array of triangles with indices into the vertex list (3n integers) 12 B/v + 12 B/f = 36 B/v Use, eg. Meshlab, to view .obj files

24 Polygon mesh representation
Indexed face set representation Less redundancy than explicit representation Separation of geometry and (polygon-)topology More efficient computations on surfaces Mesh operators still difficult to realize Think about how to implement the operation to find all 1-ring neighbors

25 Polygon mesh representation
Extended shared vertex representation (Face-Based Connectivity): Array of vertices, each with a reference to one adjacent triangle: 3n floats + 1n integers Array of triangles, each with references to 3 vertices and face neighbours (adjacent triangles) (at the border: -1): 6n integers 16 B/v + 24 B/f = 64 B/v

26 Polygon mesh representation
VEND Polygon mesh representation EPCCW ENCW Edge-Based Connectivity: Winged Edge data structure (Baumgart94) Arrays of Edges (primary key): start (VSTART) and end (VEND) vertices two adjacent faces (FCW and FCCW) preceding and next edges in one face (EPCW and ENCW) preceding and next edges in other face (EPCCW and ENCCW) Vertices (key): position, one adjacent edge Faces (key): one adjacent edge 120 Byte/v FCCW FCW ENCCW EPCW VSTART E + 4F =

27 Polygon mesh representation
On board example


Download ppt "Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung"

Similar presentations


Ads by Google