generate a plane that has the coordinates of a 3D matrix as its boundary
3 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Bruno Luong
on 2 Oct 2023
Moved: Bruno Luong
on 2 Oct 2023
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
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!