Triangle Subdivide (vectorized/fast)

vectorized 4x triangle subdivision: subdivide_tri.m
794 Downloads
Updated 27 Nov 2009

View License

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
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Triangulation Representation in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0