How can I make points show through a surface plot?
30 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Samuel Harvey
le 28 Juil 2021
Commenté : Samuel Harvey
le 28 Juil 2021
I have code that makes a centerline (left) then creates a surface around that centerline (right). I'd like the centerline points to show through the surface so I can still see them while I rotate it around. How can I do this?
Edit: To be more clear, I am specifically not looking for the entire surface to be transparent. I don't want to see the back side of the surface showing through, just the centerline.
0 commentaires
Réponse acceptée
Chunru
le 28 Juil 2021
% Plot a sphere and a line
[x, y, z] = sphere;
h = surf(x, y, z);
hold on
plot3(-1:1, zeros(3,1), zeros(3,1), 'r', 'LineWidth', 3);
h.FaceAlpha = 0.5; % make it transparent to see inside
3 commentaires
Chunru
le 28 Juil 2021
Then you can use two axes:
ax1 = axes('XLim', [-1,1], 'YLim', [-1,1], 'ZLim', [-1,1]);
view(3);
ax2 = copyobj(ax1, gcf);
[x,y,z]=sphere;
h = surf(ax1, x, y, z)
plot3(ax2, -1:1, zeros(3,1), zeros(3,1), 'r', 'LineWidth', 3);
axes(ax2);
box off
axis off
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!