Efficient hidden surface removal for objects with small union size

Matthew J. Katz, Mark H. Overmars, Micha Sharir

Research output: Contribution to journalArticlepeer-review

66 Scopus citations


Let S be a set of n non-intersecting objects in space for which we want to determine the portions visible from some viewing point. We assume that the objects are ordered by depth from the viewing point (e.g., they are all horizontal and are viewed from infinity from above). In this paper we give an algorithm that computes the visible portions in time O((U(n)+k)log2n), where U(n') is a super-additive bound on the maximal complexity of the union of (the projections on a viewing plane of) any n' objects from the family under consideration, and k is the complexity of the resulting visibility map. The algorithm uses O(U(n)log n) working storage. The algorithm is useful when the objects are 'fat' in the sense that the union of the projection of any subset of them has small (i.e., subquadratic) complexity. We present three applications of this general technique: (i) For disks (or balls in space) we have U(n)=O(n), thus the visibility map can be computed in time O((n+k)log2n). (ii) For 'fat' triangles (where each internal angle is at least some fixed θ degrees) we have U(n)=O(n log log n) and the algorithm runs in time O((n log log n+k)log2n. (iii)The method also applies to computing the visibility map for a polyhedral terrain viewed from a fixed point, and yields an O((nα(n)+k)log n) algorithm.

Original languageEnglish
Pages (from-to)223-234
Number of pages12
JournalComputational Geometry: Theory and Applications
Issue number4
StatePublished - 1 Jan 1992
Externally publishedYes


Dive into the research topics of 'Efficient hidden surface removal for objects with small union size'. Together they form a unique fingerprint.

Cite this