Currently, the method of hidden point removal HPR (Katz et al., 2007) is widely applied for the visibility analysis. The advantage of this technique is to avoid creating a surface from the point cloud which might be expensive and this led to analyze visibility efficiently with both sparse and dense clouds. However, when the point cloud is noisy or non-uniformly sampled, a robust HPR operator (RHPR) is preferred to be used (Mehra et al., 2010) to deal with these cases.
However, the Katz’s method has false positives. There are several other methods to detect the hidden points:
* The surface triangle based methods (the normal direction testing, triangle – ray intersection, Z – buffering method)
* The voxel based techniques(voxel-ray intersection, ray tracing and Z-buffering method)
* The hidden point removal HPR
I am currently implementing the ray tracing (in an image spacing) and scan line. The idea is relatively the same except that the ray tracing(casting) casts a ray from a camera (position of view) while the scan line casts paralleled rays. The basic ideas is that for each point in the point cloud, I cast a ray through it and try to find if there is a triangle in front of it that intersects the ray. So first step is to loop all the triangles of the mesh a