MATLAB: Creating Caps to close a tubular structure

tube

Hi All
I have created this tubular shell structure in matlab.
I would like to create caps to close the end
[F,V] = surf2patch(x_All,y_All,z_All,'triangles');
h = patch('faces',F,'vertices',V);
set(h,'FaceColor',[0.5 0.5 0.8],'EdgeColor','k');
view(3)

Best Answer

I cannot run your code.
Adapt this to your cylinder:
D = 10;
[X,Y,Z] = cylinder(D);
r = D;
ang = linspace(0, 2*pi);
xcirc = r*cos(ang);
ycirc = r*sin(ang);
zcirc = ones(size(ang))*max(Z(:));
figure
surf(X, Y, Z)
hold on
patch(xcirc, ycirc, zcirc, 'r')
hold off
grid on
This creates a red ‘top’ to the cylinder. To cap it on the other end, duplicate the patch call, however substituting:
zcirc = ones(size(ang))*min(Z(:));
in the second call.