fbpx
Wikipedia

Doubly connected edge list

The doubly connected edge list (DCEL), also known as half-edge data structure, is a data structure to represent an embedding of a planar graph in the plane, and polytopes in 3D. This data structure provides efficient[quantify] manipulation of the topological information associated with the objects in question (vertices, edges, faces). It is used in many algorithms of computational geometry to handle polygonal subdivisions of the plane, commonly called planar straight-line graphs (PSLG). For example, a Voronoi diagram is commonly represented by a DCEL inside a bounding box.

This data structure was originally suggested by Muller and Preparata[1] for representations of 3D convex polyhedra.

Later, a somewhat different data structure[citation needed] was suggested, but the name "DCEL" was retained.

For simplicity, only connected graphs are considered[by whom?], however the DCEL structure may be extended to handle disconnected graphs as well by introducing dummy edges between disconnected components.[2]

Data structure edit

 
Each half-edge has exactly one previous half-edge, next half-edge and twin.

DCEL is more than just a doubly linked list of edges. In the general case, a DCEL contains a record for each edge, vertex and face of the subdivision. Each record may contain additional information, for example, a face may contain the name of the area. Each edge usually bounds two faces and it is, therefore, convenient to regard each edge as two "half-edges" (which are represented by the two edges with opposite directions, between two vertices, in the picture on the right). Each half-edge is "associated" with a single face and thus has a pointer to that face. All half-edges associated with a face are clockwise or counter-clockwise. For example, in the picture on the right, all half-edges associated with the middle face (i.e. the "internal" half-edges) are counter-clockwise. A half-edge has a pointer to the next half-edge and previous half-edge of the same face. To reach the other face, we can go to the twin of the half-edge and then traverse the other face. Each half-edge also has a pointer to its origin vertex (the destination vertex can be obtained by querying the origin of its twin, or of the next half-edge).

Each vertex contains the coordinates of the vertex and also stores a pointer to an arbitrary edge that has the vertex as its origin. Each face stores a pointer to some half-edge of its outer boundary (if the face is unbounded then pointer is null). It also has a list of half-edges, one for each hole that may be incident within the face. If the vertices or faces do not hold any interesting information, there is no need to store them, thus saving space and reducing the data structure's complexity.

See also edit

References edit

  1. ^ Muller, D. E.; Preparata, F. P. (1978). "Finding the Intersection of Two Convex Polyhedra". Theoretical Computer Science. 7 (2): 217–236. doi:10.1016/0304-3975(78)90051-8. hdl:2142/74093.
  2. ^ de Berg, Mark; Cheong, Otfried; van Kreveld, Marc; Overmars, Mark (2008). Computational Geometry, Algorithms and Applications (3rd ed.). Springer. pp. 29–33. ISBN 978-3-540-77973-5.

doubly, connected, edge, list, doubly, connected, edge, list, dcel, also, known, half, edge, data, structure, data, structure, represent, embedding, planar, graph, plane, polytopes, this, data, structure, provides, efficient, quantify, manipulation, topologica. The doubly connected edge list DCEL also known as half edge data structure is a data structure to represent an embedding of a planar graph in the plane and polytopes in 3D This data structure provides efficient quantify manipulation of the topological information associated with the objects in question vertices edges faces It is used in many algorithms of computational geometry to handle polygonal subdivisions of the plane commonly called planar straight line graphs PSLG For example a Voronoi diagram is commonly represented by a DCEL inside a bounding box This data structure was originally suggested by Muller and Preparata 1 for representations of 3D convex polyhedra Later a somewhat different data structure citation needed was suggested but the name DCEL was retained For simplicity only connected graphs are considered by whom however the DCEL structure may be extended to handle disconnected graphs as well by introducing dummy edges between disconnected components 2 Data structure edit nbsp Each half edge has exactly one previous half edge next half edge and twin DCEL is more than just a doubly linked list of edges In the general case a DCEL contains a record for each edge vertex and face of the subdivision Each record may contain additional information for example a face may contain the name of the area Each edge usually bounds two faces and it is therefore convenient to regard each edge as two half edges which are represented by the two edges with opposite directions between two vertices in the picture on the right Each half edge is associated with a single face and thus has a pointer to that face All half edges associated with a face are clockwise or counter clockwise For example in the picture on the right all half edges associated with the middle face i e the internal half edges are counter clockwise A half edge has a pointer to the next half edge and previous half edge of the same face To reach the other face we can go to the twin of the half edge and then traverse the other face Each half edge also has a pointer to its origin vertex the destination vertex can be obtained by querying the origin of its twin or of the next half edge Each vertex contains the coordinates of the vertex and also stores a pointer to an arbitrary edge that has the vertex as its origin Each face stores a pointer to some half edge of its outer boundary if the face is unbounded then pointer is null It also has a list of half edges one for each hole that may be incident within the face If the vertices or faces do not hold any interesting information there is no need to store them thus saving space and reducing the data structure s complexity See also editQuad edge data structure Doubly linked face list Winged edge Combinatorial mapReferences edit Muller D E Preparata F P 1978 Finding the Intersection of Two Convex Polyhedra Theoretical Computer Science 7 2 217 236 doi 10 1016 0304 3975 78 90051 8 hdl 2142 74093 de Berg Mark Cheong Otfried van Kreveld Marc Overmars Mark 2008 Computational Geometry Algorithms and Applications 3rd ed Springer pp 29 33 ISBN 978 3 540 77973 5 Retrieved from https en wikipedia org w index php title Doubly connected edge list amp oldid 1193581225, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.