MATLAB CODE
pointCloud2mesh.m : Converts
a pointcloud (unordered vertices) to a mesh of triangles by connecting
the nearest 3 points and calculates the normal of each vertex
and triangle. Also finds the neighboring triangles of each
vertex
and the neighboring triangles of each triangle.
pointCloud2rawMesh.m
: Same
as pointCloud2mesh.m but this one only outputs a mesh. Normals and
neighbors of vertices and triangles are NOT calculated to save time.
This is sufficient if you want to make a ply or a vrml file of the mesh.
icp.m : Implementation
of the iterative closest point (ICP) algorithm.
icp2.m : ICP
version 2. Removes one to many correspondences.
calcMeshNormals.m : Calculates
normals of a mesh. A mesh is without normals if it is constructed using
pointCloud2rawMesh.m or is read from a ply or vrml file.
makePly.m : Writes
a mesh to a ply file (text format) wich can be read by PlyView
from Cyberware and Scanalyze
from Stanford University. Both are available for free.
readPLYfile.m : Reads
a ply file (text format). ply files can be in binary format as well;
this function can read ply files in txt format only e.g. created by
makePly.m.
makeVRMLfile.m : Writes
a mesh to a vrml 1.0 file (*.wrl) which can be read by web browsers
with the righ vrml plugin.
readVRMLfile.m
: Reads
a vrml file created by makeVRMLfile.m.
makeSMFfile.m : Writes
a mesh to an SMF file. SMF format is used by some mesh decimation
softwares.
vrml2smf.m : Reads
a vrml file and writes it to an SMF file. Requires makeSMFfile.m.
meshArea.m : Calculates
the surface area of a mesh.
calcSpinImages.m
: Calculates
spin images of a mesh. Spin images are used for 3D surface registration
and object recognition. A. Johnson and M. Hebert, "Using Spin Images
for Efficient Object Recognition in Cluttered 3D Scenes", IEEE Trans.
on PAMI, 1999.
eulerAngles2rotationMatrix.m
: Calculates
rotation matrix from Euler angles i.e. rotation about x, y and z-axis
in degrees.
rotationMatrix2eulerAngles.m
: Calculates
Euler angles from rotation matrix.