generate a plane that has the coordinates of a 3D matrix as its boundary

1 次查看(过去 30 天)
Hi. I have coordinates of nodes in space ('C'). I would like to generate a plane that has the coordinates of 'C' as an outline.
I am using this code but, as you can see in the figure, the generated 'V_new' plane does not follow the 'C' coordinates exactly. Any suggestions for improving the code?
load C.mat
[~,poly] = freeBoundary(delaunayTriangulation(C(:,1:2)));
[~,loc] = ismember(poly,C(:,1:2),'rows');
V = num2cell([poly,C(loc,3)],1);
V_new = [V{1,1}, V{1,2}, V{1,3}];
figure
patch(V_new(:,1), V_new(:,2),V_new(:,3),'k');
hold on
plot3(C(:,1),C(:,2),C(:,3),'g.','Markersize',20);
axis equal

采纳的回答

Bruno Luong
Bruno Luong 2023-10-2
移动:Bruno Luong 2023-10-2
Why don't you do the very obvious?
load('C.mat')
patch(C(:,1),C(:,2),C(:,3),'k')
hold on
plot3(C(:,1),C(:,2),C(:,3),'g.','Markersize',20);
axis equal

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by