Creating Matlab plot with multiple mesh models, only one with CDATA

37 views (last 30 days)
Hi Everyone,
I am looking for a way to plot three mesh models using trisurf but I want one of the mesh models to be colored using CData, but the other two to be a single color using FaceColor. Is there a simple way to do this?
-Katherine
EDIT:
My data is in face vertex format and plotting is done using trisurf.

Answers (1)

Walter Roberson
Walter Roberson on 9 Apr 2020
surf(x1, y1, z1, c1);
hold on
surf(x2, y2, z2, c2);
surf(x3, y3, z3, 'facecolor', 'g')
hold off
  4 Comments
Katherine Beaulieu
Katherine Beaulieu on 9 Apr 2020
Hi Walter,
This is the code I am using:
figure;
trisurf(skull_f,skull_v(:,1),skull_v(:,2),skull_v(:,3),gradient_color)
hold on
trisurf(cs_tri,'facecolor','w')
hold on
trisurf(mid_tri,'facecolor','k');
But I still am only getting one color for the skull mesh. My color data is a 5000x1 vector, the same size as x,y, and z.
Walter Roberson
Walter Roberson on 9 Apr 2020
You need to pass the x, y, z coordinates for the second and third trisurf(). It will not inherit them from the first call.

Sign in to comment.

Categories

Find more on Triangulation Representation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!