MATLAB Answers

Coarsening a triangulation that defines a surface in 3d

20 views (last 30 days)
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
Daniel on 7 Feb 2013
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

Walter Roberson
Walter Roberson on 7 Feb 2013
You might be able to make use of reducepatch
Walter Roberson
Walter Roberson on 7 Feb 2013
In all but that syntax, the input is a graphics handle.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!