Mesh2Tetra
This function MESH2TETRA converts a triangulated surface mesh into a tetrahedron volume mesh.
Main advantage above existing constrained 3D Delaunay is that it
will never add new boundary points, (useful for active appearance models)
Disadvantage, some highly non-convex surface-shapes cannot be converted.
T=Mesh2Tetra(V,F,options);
inputs,
V : Vertex List N x 3, with x,y,z positions
F : Face List M x 3, with vertex indices
options : Struct with options
options.verbose : if true, show information
options.checkinput : if true, check input mesh on errors
outputs,
T : Tetrahedron List K x 4, with tetrahedron indices
Note!, most functions are also available as c-code (much faster),
run compile_c_files.m to compile the code
How the software works:
- First, normal Delaunay is used to created a tetrahedron convexhull.
Then outside tetrahedrons and tetrahedrons intersecting the boundary
mesh are removed.
- Second, New triangulated surface meshes are constructed for the space
not yet filled by tetrahedrons. After which Delaunay
is done on the new boundary meshes.
- Third, The remaining boundary which cannot be filled using Delaunay
constraints, is filled with a "Boundary collapse method". The Boundary
collapse method merges vertex neighbors, creating tetrahedrons while
making the surface mesh smaller (like a deflating balloon)
- Fourth, It is possible that a part of the boundary mesh is left over which
cannot be filled with tetrahedrons. This is the case if there are no 4
vertices left who can see each other (like a non-convex polygon). In
that case nearby Tetrahedrons are removed creating a new boundary
mesh. And tetrahedron fitting with the boundary collapse methods is
tried again (until success, or a fixed amount of tries).
.
Please leave a comment if you find a bug, like the code, or have a good suggestion.
Citation pour cette source
Dirk-Jan Kroon (2024). Mesh2Tetra (https://www.mathworks.com/matlabcentral/fileexchange/27830-mesh2tetra), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- MATLAB > Graphics > 2-D and 3-D Plots > Surfaces, Volumes, and Polygons > Surface and Mesh Plots >
- MATLAB > Mathematics > Computational Geometry > Delaunay Triangulation >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
functions/
functions/subfunctions/
Version | Publié le | Notes de version | |
---|---|---|---|
1.2.0.0 | Added some code to correct for mesh intersections, sadly not yet perfect ... |
||
1.1.0.0 | Improved help and made input-options work for sub-functions. |
||
1.0.0.0 |