Snap rounding is a method of approximating line segment locations by creating a grid and placing each point in the centre of a cell (pixel) of the grid. The method preserves certain topological properties of the arrangement of line segments.
Drawbacks include the potential interpolation of additional vertices in line segments (lines become polylines), the arbitrary closeness of a point to a non-incident edge, and arbitrary numbers of intersections between input line-segments. The 3 dimensional case is worse, with a polyhedral subdivision of complexity n becoming complexity O(n4).
There are more refined algorithms to cope with some of these issues, for example iterated snap rounding guarantees a "large" separation between points and non-incident edges.[1]
Algorithm
editProperties
edit- Canonicity:
- Efficiency; A number of efficient implementations exist.
Conversely there are undesirable properties:
- Non-idempotence: Repeated applications can cause arbitrary drift of points.
References
edit- ^ Csaba D. Toth; Joseph O'Rourke; Jacob E. Goodman (13 April 2004). Handbook of Discrete and Computational Geometry, Second Edition. CRC Press. pp. 552–. ISBN 978-1-4200-3531-5.
Bibliography
edit- L. J. Guibas; D. H. Marimont (1998). "Rounding arrangements dynamically". Int. J. Comput. Geom. Appl. 8 (2): 157–176. doi:10.1142/S0218195998000096.
External links
edit- Efficient Snap-Rounding with Integer Arithmetic, Binay K. Bhattacharya and Jeff Sember