Булеві операції над многокутниками

набір булевих операцій (AND, OR, NOT, XOR, …) над многокутниками в комп'ютерній графіці

Бу́леві опера́ції над многоку́тниками або фігу́рами — це набір булевих операцій (AND, OR, NOT, XOR, …) над одним або декількома наборами многокутників у комп'ютерній графіці. Ці набори операцій поширені в комп'ютерній графіці, САПР та в проєктуванні електронних схем (фізичне розташування елементів інтегральних схем та програми перевірки).

Різні булеві операції над множинами, що належать двом фігурам (діаграми Венна).

Алгоритми ред.

Застосування в програмуванні ред.

Ранні алгоритми булевих операцій із многокутниками ґрунтувалися на бітових мапах. Використання бітових мап у моделюванні багатокутних фігур та операціях над ними має багато недоліків. Один з недоліків — може знадобитися дуже багато пам'яті, оскільки роздільність малюнка многокутника пропорційна числу пікселів, що використовуються для подання багатокутників. Що більша роздільність зображення, то більше біт потрібно зберігати в пам'яті.

Сучасне втілення булевих операцій над многокутниками використовує алгоритми замітання площини (або алгоритм замітання прямою). Список статей, що використовують алгоритм замітання прямою для булевих операцій над многокутниками, наведено в списку літератури.

Булеві операції над опуклими та монотонними многокутниками з однаковими напрямками можна здійснити за лінійний час[1].

Див. також ред.

Примітки ред.

Література ред.

  • Matthew J. Katz, Mark H. Overmars, Micha Sharir. Efficient hidden surface removal for objects with small union size // Computational Geometry (journal). — 1992. — Т. 2, вип. 4. — С. 223–234. — DOI:10.1016/0925-7721(92)90024-M.
  • Mark de Berg, Marc van Kreveld, Mark Overmars, Otfried Schwarzkopf. Algorithms and Applications. — Second Edition. — 2000.
  • Jon Louis Bentley, Thomas A. Ottmann. Algorithms for Reporting and Counting Geometric Intersections // IEEE Transactions on Computers. — 1979. — Т. C-28, вип. 9. — С. 643–647.
  • Jon Louis Bentley, Derick Wood. An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles // IEEE Transactions on Computers. — 1980. — Т. C-29, вип. 7. — С. 571–577.
  • Ulrich Lauther. 18th Design Automation Conference. — 1981. — С. 555–562.
  • James A. Wilmore. 18th Design Automation Conference. — 1981. — С. 571–579.
  • J. Nievergelt, F. P. Preparata. Plane-Sweep Algorithms for Intersecting Geometric Figures // Communications of the ACM. — 1982. — Т. 25, вип. 10. — С. 739–747. — DOI:10.1145/358656.358681.
  • =Thomas Ottmann, Peter Widmayer, and Derick Wood. Computer Vision, Graphics, and Image Processing. — 1985. — Т. 30. — С. 249–268.

Посилання ред.

Алгоритми та програми