A point cloud, which includes a set of points, can be considered as a sampling of a continuous surface. With a point cloud, the surface of a three-dimensional (3D) object can be approximately represented. If the surface represented is opaque, some points can become invisible when the point cloud is viewed from a certain viewpoint. In computer graphics, it is therefore important to have an operator that can efficiently remove those hidden points so as to render the point cloud on the screen.
This paper presents a novel method for implementing the hidden point removal (HPR) operator. The operator takes a point cloud and a viewpoint as the input, and removes points that are invisible from the viewpoint. The method presented is simple, yet efficient.
One approach for removing hidden points from a point cloud is to reconstruct the surface and determine which of the points are invisible from the viewpoint. Although the approach can generate accurate results, it can be very time consuming.
To remove hidden points from a point cloud without reconstructing the surface, Katz et al. propose the use of two operations: spherical flipping and convex hull calculation. Both these operations can be implemented in MATLAB with only a few lines of code. When the input point cloud is two-dimensional (2D) or 3D, it is shown that the time complexity for the proposed method is O(n log n), where n is the number of points in the point cloud.
The paper addresses an interesting problem. The concepts are novel and clearly explained. Although the presented HPR operator can generate false-positive and/or false-negative points, experimental results show that the proposed method is very useful.