Fill the interior of a cylinder surface - SURF - generated by parametric equations
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
William
le 4 Mar 2015
Commenté : Jetsadaporn Simsiriwong
le 15 Août 2017
I've generated a cylinder using the parametric equations:
u = linspace(0,2*pi,50);
v = linspace(0,2*pi,50);
[u,v] = meshgrid(u,v);
x = cos(u);
y = sin(u);
z = v;
where u and v are 0-pi.
I've got a plot surf(x,y,z) of this cylinder and I want to fill all the interior points. Does anyone know how I can do this?
How can I do this?
4 commentaires
Réponse acceptée
Brendan Hamm
le 5 Mar 2015
Modifié(e) : Brendan Hamm
le 5 Mar 2015
If you are trying to just put anything in that location you can do the following to place circles there. First create a meshgrid of the x-y space.
surf(x,y,z)
hold on
u2 = linspace(-1,1);
v2 = u2;
[x2, y2] = meshgrid(u2,v2);
% Find distances
dist = sqrt(x2.^2 + y2.^2);
dist(dist>1) = 1;
dist(dist<1) = 0;
dist = logical(dist); % Logical matrix of exterior points
% Set exterior points to NaN
x2(dist) = NaN;
y2(dist) = NaN;
z2 = 2*pi*ones(size(x2)); % Just the highest point.
scatter3(x2(:),y2(:),z2(:)); % Scatter expects vectors, so stack everything
If you wish, you can fill the markers, change the colors, etc. If you need all the points filled you just need to do this for each value of z(:,1);
3 commentaires
Brendan Hamm
le 8 Mar 2015
The process would be similar as you can still solve for the boundary of your shape at each value of z in your grid.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Surface and Mesh 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!