How to remove a 3d-Surface matrix entries outside of a 2D area/Curve?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Garvit Amipara
le 8 Juin 2021
Commenté : Garvit Amipara
le 11 Juin 2021
Hello lovely Mathworks members,
( I tried to find similar question but could not find any, so excuse me if there is already existing answer please share the link)
There is a 3D surface matrix which has some entries outside of a curve area and I want to remove the 3D matrix entries outside of a 2D curve. Can someone please help to understand how to remove the outside of curve entries of the 3D matrix. In attachmnet you will find both 2D and 3D matrices.
Best Regards!
0 commentaires
Réponse acceptée
KSSV
le 8 Juin 2021
Modifié(e) : KSSV
le 9 Juin 2021
You hvae to use inpolygon. Read about it.
load('3D_XYZ_Data.mat') ;
load('2D_RestrictedArea.mat') ;
X = XYZ_Data(:,1) ;
Y = XYZ_Data(:,2) ;
Z = XYZ_Data(:,3) ;
x = Restricted_Area(:,1) ;
y = Restricted_Area(:,2) ;
idx = inpolygon(X,Y,x,y) ; % get points lying inside the restricted points
plot3(X(idx),Y(idx),Z(idx),'.r')
hold on
plot(x,y,'.b')
view(2)
3 commentaires
KSSV
le 9 Juin 2021
Hey actually code works fine. You need not to use boundary. I am edititng the code. You should get fine result now.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!