Triangle Subdivide (vectorized/fast)
This function subdivides the faces in a given mesh. The newly created vertices (those that are unique) are appended to the input vertices list. A new list of triangle faces is built.
There are other functions out there that do this in matlab, but the few I saw used for-loops and arrays growing inside of the loops, which doesn't work when the mesh is huge. This function is fully vectorized and clears memory while executing when things are no longer needed. It is fairly short/compact.
The orientations (CCW/CW) of faces should be preserved by the subdivision.
The screenshot here has 1 million faces and 300,000 vertices after subdivision, executes in about 1 second (on quad-core 8GB ram machine).
Limitations: only triangles, input args not checked now.
Cite As
Peter Karasev (2024). Triangle Subdivide (vectorized/fast) (https://www.mathworks.com/matlabcentral/fileexchange/25961-triangle-subdivide-vectorized-fast), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |