Waterproof surface restoration algorithm for an organized point cloud

I have a three-dimensional Cartesian cube. For each point of this cube there is a corresponding density value. When the density changes suddenly, it means that there is a cavity. Now, to find the cavity, I calculate the gradient at each point in the cube. This gives me a cloud of points on the surface of the cavity. Now I would like to stitch the surface of the cavity, given the point cloud.

Unfortunately, I have no experience in surface restoration, and I was wondering if anyone could recommend a suitable algorithm that would create a closed cavity surface?

The cube is large enough so that a cloud of points on the surface of the cavity can easily be 500,000 points or more. I read this post: a reliable algorithm for recovering a surface from a cloud of 3D points? which I find useful. However, the problem I am facing seems to be simpler, given that:

  • Point coordinates are always integer
  • Point distribution equals
  • The distance from one point to the nearest neighbor is 1, sqrt (2) or sqrt (3)
+5
source share
2 answers

You probably need a marching cubes algorithm .

+3
source

The Marching Cubes algorithm will do exactly what you want. For a working implementation (using Three.js for rendering graphics) check:

http://stemkoski.github.com/Three.js/Marching-Cubes.html

, , - -:

http://paulbourke.net/geometry/polygonise/

+2

All Articles