Coarsening a triangulation that defines a surface in 3d

Hi,
I have a triangulation in 3d that represents an open manifold (it actually represents part of a cell membrane, i.e a surface in 3d).
This (unstructured) triangulation is defined as a TriRep object and has a very fine mesh parameter (~ mean triangle length)... I'm trying to extract a regularly spaced distribution of points on this membrane, and my first thought was: "ok, I run a coarsening of this fine mesh, and just takes the triangles centers in the the coarsened mesh".... but I discovered that there is no obvious way to coarsen a given triangulation (or I missed it).
What could be the most straightforward way to get a coarsener version of this triangulation?
thanks, Daniel

3 Comments

Could you give a small example we can run?
Thanks
I seem to recall there being a routine for thinning a triangular mesh. I have never used it, and have not looked at it often enough to remember its name.
An example: for instance the second one that you get with the help of TriRep, I just cut and paste it here:
% to compute the free boundary; the surface of the triangulation.
load tetmesh
% This loads triangulation tet and vertex coordinates X
trep = TriRep(tet, X);
[tri, Xb] = freeBoundary(trep);
%Plot the surface mesh
trisurf(tri, Xb(:,1), Xb(:,2), Xb(:,3), 'FaceColor', 'cyan', 'FaceAlpha', 0.8);
Note that you can get a new TriRep object from tri and Xb, which gets you a compact representation of the manifold coded in the mesh.

Sign in to comment.

 Accepted Answer

You might be able to make use of reducepatch

4 Comments

Thanks Walter, it comes close, but the problem is that reducepatch operates on graphic objects, what I need to avoid: I need to operate on the triangulation itself, because the production of the path objects introduces a big performance slowdown.
Internally, the function reducepatch needs to use some algorithm similar to what I need, but I don't know how to access it directly, or how to reproduce its effects....
"NFV = REDUCEPATCH(FV, R) uses faces and vertices from struct FV. "
FV.faces and FV.patches
You can read the source for reducepatch
oh, right! I was confused about the syntax (thought that the input was a graphic handle), but this is actually what I needed... many thanks!!
In all but that syntax, the input is a graphics handle.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!