Euler operator (digital geometry)
In solid modeling and computer-aided design, the Euler operators modify the graph of connections to add or remove details of a mesh while preserving its topology. They are named by Baumgart [1] after the Euler–Poincaré characteristic. He chose a set of operators sufficient to create useful meshes, some lose information and so are not invertible.
The boundary representation for a solid object, its surface, is a polygon mesh of vertices, edges and faces. Its topology is captured by the graph of the connections between faces. A given mesh may actually contain multiple unconnected shells (or bodies); each body may be partitioned into multiple connected components each defined by their edge loop boundary. To represent a hollow object, the inside and outside surfaces are separate shells.
Let the number of vertices be V, edges be E, faces be F, components H, shells S, and let the genus be G (S and G correspond to the b0 and b2 Betti numbers respectively). Then, to denote a meaningful geometric object, the mesh must satisfy the generalized Euler–Poincaré formula
V – E + F = H + 2 * (S – G)
The Euler operators preserve this characteristic. The Eastman paper lists the following basic operators, and their effects on the various terms:
Name | Description | ΔV | ΔE | ΔF | ΔH | ΔS | ΔG |
---|---|---|---|---|---|---|---|
MBFLV | Make Body-Face-Loop-Vertex | 1 | 0 | 1 | 0 | 1 | 0 |
MEV | Make Edge-Vertex | 1 | 1 | 0 | 0 | 0 | 0 |
MEFL | Make Edge-Face-Loop | 0 | 1 | 1 | 0 | 0 | 0 |
MEKL | Make Edge, Kill Loop | 0 | 1 | 0 | -1 | 0 | 0 |
KFLEVB | Kill Faces-Loops-Edges-Vertices-Body | −2 | −n | −n | 0 | -1 | 0 |
KFLEVMG | Kill Faces-Loops-Edges-Vertices, Make Genus | −2 | −n | −n | 0 | 0 | 1 |
Geometry
Euler operators modify the mesh's graph creating or removing faces, edges and vertices according to simple rules while preserving the overall topology thus maintaining a valid boundary (i.e. not introducing holes). The operators themselves don't define how geometric or graphical attributes map to the new graph: e.g. position, gradient, uv texture coordinate, these will depend on the particular implementation.
See also
- Boundary representation
- Lecture 31 of AML710 Computer Aided Design – Dr S. Hegde of Indian Institute of Technology Delhi
References
- Baumgart, B.G^ "Winged edge polyhedron representation", Stanford Artificial Intelligence Report No. CS-320, October, 1972.
- (see also Winged edge#External links)
- Eastman, Charles M. and Weiler, Kevin J., "Geometric modeling using the Euler operators" (1979). Computer Science Department. Paper 1587. http://repository.cmu.edu/compsci/1587. Unfortunately this typo-ridden (OCR’d?) paper can be quite hard to read.
- Easier-to-read reference, from a solid-modelling course at NTU.
- Another reference that uses a slightly different definition of terms.
- Sven Havemann, Generative Mesh Modeling, PhD thesis, Braunschweig University, Germany, 2005.
- Martti Mäntylä, An Introduction to Solid Modeling, Computer Science Press, Rockville MD, 1988. ISBN 0-88175-108-1.