Borrar filtros
Borrar filtros

How can I make points show through a surface plot?

30 visualizaciones (últimos 30 días)
Samuel Harvey
Samuel Harvey el 28 de Jul. de 2021
Comentada: Samuel Harvey el 28 de Jul. de 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.

Respuesta aceptada

Chunru
Chunru el 28 de Jul. de 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 comentarios
Chunru
Chunru el 28 de Jul. de 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)
h =
Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 1 XData: [21×21 double] YData: [21×21 double] ZData: [21×21 double] CData: [21×21 double] Show all properties
plot3(ax2, -1:1, zeros(3,1), zeros(3,1), 'r', 'LineWidth', 3);
axes(ax2);
box off
axis off
Samuel Harvey
Samuel Harvey el 28 de Jul. de 2021
Perfect, that's what I'm looking for. Thank you!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by