Knowledge

Doubly connected edge list

Source 📝

88: 116:
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
112:
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
107:
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,
113:
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).
117:
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.
52:. This data structure provides efficient manipulation of the topological information associated with the objects in question (vertices, edges, faces). It is used in many 213: 108:
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.
79:, but the DCEL structure may be extended to handle disconnected graphs as well by introducing dummy edges between disconnected components. 245: 240: 235: 61: 126: 131: 49: 57: 100: 96: 71:
This data structure was originally suggested by Muller and Preparata for representations of 3D
209: 141: 184: 174: 87: 72: 41: 104: 76: 65: 33: 29: 229: 179: 162: 37: 136: 75:. Simplified versions of the data structure, as described here, only consider 53: 91:
Each half-edge has exactly one previous half-edge, next half-edge and twin.
204:
de Berg, Mark; Cheong, Otfried; van Kreveld, Marc; Overmars, Mark (2008).
45: 99:
of edges. In the general case, a DCEL contains a record for each edge,
189: 86: 60:
to handle polygonal subdivisions of the plane, commonly called
68:
is commonly represented by a DCEL inside a bounding box.
206:
Computational Geometry, Algorithms and Applications
163:"Finding the Intersection of Two Convex Polyhedra" 8: 208:(3rd ed.). Springer. pp. 29–33. 188: 178: 161:Muller, D. E.; Preparata, F. P. (1978). 153: 7: 14: 1: 180:10.1016/0304-3975(78)90051-8 167:Theoretical Computer Science 62:planar straight-line graphs 262: 18:doubly connected edge list 246:Geometric data structures 95:DCEL is more than just a 127:Quad-edge data structure 26:half-edge data structure 132:Doubly linked face list 64:(PSLG). For example, a 241:Geometric graph theory 92: 58:computational geometry 236:Graph data structures 90: 97:doubly linked list 93: 215:978-3-540-77973-5 142:Combinatorial map 24:), also known as 253: 220: 219: 201: 195: 194: 192: 182: 158: 77:connected graphs 73:convex polyhedra 32:to represent an 261: 260: 256: 255: 254: 252: 251: 250: 226: 225: 224: 223: 216: 203: 202: 198: 160: 159: 155: 150: 123: 85: 66:Voronoi diagram 12: 11: 5: 259: 257: 249: 248: 243: 238: 228: 227: 222: 221: 214: 196: 173:(2): 217–236. 152: 151: 149: 146: 145: 144: 139: 134: 129: 122: 119: 84: 83:Data structure 81: 30:data structure 13: 10: 9: 6: 4: 3: 2: 258: 247: 244: 242: 239: 237: 234: 233: 231: 217: 211: 207: 200: 197: 191: 186: 181: 176: 172: 168: 164: 157: 154: 147: 143: 140: 138: 135: 133: 130: 128: 125: 124: 120: 118: 114: 111: 106: 102: 98: 89: 82: 80: 78: 74: 69: 67: 63: 59: 55: 51: 47: 43: 39: 35: 31: 27: 23: 19: 205: 199: 170: 166: 156: 115: 109: 94: 70: 38:planar graph 25: 21: 17: 15: 137:Winged edge 230:Categories 190:2142/74093 148:References 54:algorithms 46:polytopes 34:embedding 121:See also 40:in the 28:, is a 212:  101:vertex 44:, and 42:plane 36:of a 210:ISBN 105:face 103:and 22:DCEL 16:The 185:hdl 175:doi 110:All 56:of 48:in 232:: 183:. 169:. 165:. 50:3D 218:. 193:. 187:: 177:: 171:7 20:(

Index

data structure
embedding
planar graph
plane
polytopes
3D
algorithms
computational geometry
planar straight-line graphs
Voronoi diagram
convex polyhedra
connected graphs

doubly linked list
vertex
face
Quad-edge data structure
Doubly linked face list
Winged edge
Combinatorial map
"Finding the Intersection of Two Convex Polyhedra"
doi
10.1016/0304-3975(78)90051-8
hdl
2142/74093
ISBN
978-3-540-77973-5
Categories
Graph data structures
Geometric graph theory

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.