WOF Point Cloud Mesher is a fast 3D surface reconstruction and meshing software.
- 3D Point Cloud to Triangle Mesh
- Triangle Mesh to Quality Point Cloud
- Triangle Mesh to uniform Triangle Mesh
WOF is provided as a command line tool and as a static and dynamic C++ library for Windows and Linux. The library is documented here.
3D Point Cloud to Triangle Mesh
The WOF mesher takes a point cloud as input and it constructs a triangle mesh. Thereby the mesh resolution can be chosen and the command line tool is used like this:
stibbons@hex:~$ wof.exe –reconstruct cloud.bin -o mesh.list -a 1.1
stibbons@hex:~$ wof.exe –reconstruct cloud.ply -o mesh.ply -f 3.0
stibbons@hex:~$ wof.exe –reconstruct cloud.xyz -o mesh.stl
- In the first case the user has knowledge about the clouds’ density and he specifies a certain spacing distance (“-a 1.1”) that fits.
- In the second case WOF estimates the average cloud-density to find an appropriate spacing value. The user wants to apply factor 3 (“-f 3.0”) on the spacing value to achieve a coarser triangle mesh or to close holes better.
- In the third case WOF also estimates the average density but no specific factor is provided. The input-density might be non-homogeneous and WOF uses factor 2 to account for that. Thus it’s the same as providing (“-f 2.0”).
Supported point file formats are .xyz: a simple ASCII format with 3 coordinates per line, .ply in ASCII and binary form and .bin which is a raw binary format. Triangle meshes can be in ASCII STL form or .ply in ASCII and binary form. Writing *.list files for the Geomview viewer is supported.
Triangle Mesh to Quality Point Cloud
This is the opposite computation: A triangle mesh exists and you want a quality point cloud that respects the features of the geometry.
stibbons@hex:~$ wof.exe -t Music_Art.stl -o cloud.ply -a .2
The above command uses the spacing distance “-a 0.2”. With this distance WOF creates 432.673 points. With half the spacing distance (“-a 0.1”) 4 times more points fit onto the surface (1.74 mio) and with a quarter (“-a 0.05”) we would get 16 times more (6.97 mio) points. Thus the spacing distance must be chosen carefully.