Is there a better alternative to the convexhull function to produce 3D triangulation?
Mostrar comentarios más antiguos
I have scanned a cube of known dimensions using Microsoft Kinect. I need to calculate the volume of the cube and compare it against the theoretical volume to determine accuracy. I have used convexhull to calculate the triangles and a function called faceNormal by David Legland to calculate normals. However, I notice that the mesh generated does not reflect the real shape because some faces of the cube are really not flat. If I use other software such as Geomagic the same point cloud looks much better after mesh generation. I have calculated the volume of the cube: 1. Reconstructed with Matlab = 0.936 litres 2. Reconstructed with Geomagic = 0.783 litres 3. Theoretical volume = 0.696 litres
In average the volume reconstructed with Matlab is 34% higher that the theoretical volume which is not great. I would like to know other alternatives to the convexhull function to calculate 3D triangulation.
Respuestas (2)
CONVHULL or CONVHULLN will calculate the volume directly from the input vertices, and return it as the 2nd output argument.
3 comentarios
Johanna Acosta
el 26 de Mzo. de 2013
Matt J
el 26 de Mzo. de 2013
In your original post, you said you were scanning a cube (which would be convex). What is the shape then?
Matt J
el 26 de Mzo. de 2013
You can apply CONVHULLN to the Delaunay triangulation of a nonconvex shape
DT=DelaunayTri(V); %The rows of V are the vertices
T=DT.Triangulation;
N=size(T,1);
vols=zeros(1,N);
for ii=1:N
[~,vols(ii)]=convhulln(V(T(ii,:),:));
end
volume = sum(vols),
Sean de Wolski
el 26 de Mzo. de 2013
Perhaps:
doc isosurface
But this will be much slower than convhulln
Categorías
Más información sobre Bounding Regions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!