MATLAB Answers


trimesh and trisurf produces a very bad triangulation results?!!

Asked by Ano
on 13 Mar 2017
Latest activity Answered by Ano
on 15 Mar 2017

Hello! I am trying to model a closed surface, but trimesh and trisurf produces a very bad plot, how can I improve it?: is there any other functions to use instead ?! Thank you!! Note: below is the code I am using:

trisurf(t,p(1,:),p(2,:),p(3,:));title('ploted using trisurf ')
trimesh(t,p(1,:),p(2,:),p(3,:));title('ploted using trimesh ')


trisurf, trimesh plots only what you give. If you want a good plot, you need to increase the data points. By the way, why you feel that plot is bad?

The problem is NOT trimesh or trisurf. It is in how you created the input to those tools.

A closed surface? Unless you have a triangulation that corresponds to a closed surface, then you can't expect much. So how did you generate t?

My guess is you used delaunay or some tool like it, but in a way that is not valid to produce a closed surface. Or possibly you used a convex hull tool, on a strongly non-convex set of points.

We cannot know what you did here. It would help if you:

1. Attach (using the paper clip icon) to a comment a .mat file that contains the data.

2. Show us how you generated t. Show the complete code, not just the code you used to plot it.

Log in to comment.


1 Answer

Answer by Ano
on 15 Mar 2017
 Accepted Answer

hello! the problem was that the triangles contained not only the nodes but also their domain number (inside or out side the object) so when I used only the nodes of the triangle it worked perfectely using:

(I meant by bad it generates parallelogram instead of triangles)

figure(1) trisurf(t(1:3,:),p(1,:),p(2,:),p(3,:));title('ploted using trisurf ')


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today