Jump to content

Boolean operations on polygons: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Bibliography: change |id={{citeseer}} to |citeseerx= using AWB
Rescuing 1 sources and tagging 0 as dead. #IABot (v1.4.2)
Line 64: Line 64:
* Matthias Kramm's [http://gfxpoly.quiss.org/ gfxpoly], a free C library for 2D polygons (BSD license).
* Matthias Kramm's [http://gfxpoly.quiss.org/ gfxpoly], a free C library for 2D polygons (BSD license).
* Klaas Holwerda's [http://boolean.klaasholwerda.nl/bool.html Boolean], a C++ library for 2D polygons.
* Klaas Holwerda's [http://boolean.klaasholwerda.nl/bool.html Boolean], a C++ library for 2D polygons.
* David Kennison's [https://web.archive.org/web/20081103090937/http://www.dkrz.de:80/ngdoc/ng/supplements/polypack/ Polypack], a FORTRAN library based on the Vatti algorithm.
* David Kennison's [https://web.archive.org/web/20081103090937/http://www.dkrz.de/ngdoc/ng/supplements/polypack/ Polypack], a FORTRAN library based on the Vatti algorithm.
* Klamer Schutte's [http://clippoly.sourceforge.net/ Clippoly], a polygon clipper written in C++.
* Klamer Schutte's [http://clippoly.sourceforge.net/ Clippoly], a polygon clipper written in C++.
* Michael Leonov's [http://www.complex-a5.ru/polyboolean/comp.html poly_Boolean], a C++ library, which extends the Schutte algorithm.
* Michael Leonov's [http://www.complex-a5.ru/polyboolean/comp.html poly_Boolean], a C++ library, which extends the Schutte algorithm.

Revision as of 11:43, 23 July 2017

Boolean operations on polygons are a set of Boolean operations (AND, OR, NOT, XOR, ...) operating on one or more sets of polygons in computer graphics. These sets of operations are widely used in computer graphics, CAD, and in EDA (in integrated circuit physical design and verification software).

Different boolean operations

Algorithms

Uses in software

Early algorithms for Boolean operations on polygons were based on the use of bitmaps. Using bitmaps in modeling polygon shapes has many drawbacks. One of the drawbacks is that the memory usage can be very large, since the resolution of polygons is proportional to the number of bits used to represent polygons. The higher the resolution is desired, the more the number of bits is required.

Modern implementations for Boolean operations on polygons tend to use plane sweep algorithms (or Sweep line algorithms). A list of papers using plane sweep algorithms for Boolean operations on polygons can be found in References below.

Boolean operations on convex polygons and monotone polygons of the same direction may be performed in linear time.[1]

See also

Notes

  1. ^ Katz, Matthew J.; Overmars, Mark H.; Sharir, Micha (1992), "Efficient hidden surface removal for objects with small union size", Computational Geometry: Theory and Applications, 2 (4): 223–234, doi:10.1016/0925-7721(92)90024-M.

Bibliography

See also

Software