3D surface plot with thickness

13 visualizzazioni (ultimi 30 giorni)
Wei Wang
Wei Wang il 4 Mag 2023
Commentato: Wei Wang il 8 Mag 2023
How to plot surface plot showed in the graph? these surfaces include gyroid, lidinoid, Schwarz P, Schwarz D etc.
A function plot can be use is F(x,y,z)=cos(x)+cos(y)+cos(z).

Risposte (1)

chicken vector
chicken vector il 4 Mag 2023
Modificato: chicken vector il 5 Mag 2023
You can't give thickness to plotted data, but you can plot the outisde surface with isosurface.
Have a look at @darova answer from this question for the gyroid example.
% Lidinoid:
[x, y, z] = meshgrid(-10:0.1:10);
v = .5*(sin(2*x).*cos(y).*sin(z) + ...
sin(2*y).*cos(z).*sin(x) + ...
sin(2*z).*cos(x).*sin(y)) - ...
.5*(cos(2*x).*cos(2*y) + ...
cos(2*y).*cos(2*z) + ...
cos(2*z).*cos(2*x)) + .15;
p = isosurface(x,y,z,v,0);
patch(p,'FaceColor','r','EdgeColor','None')
camlight;
material('Shiny');
axis equal off;
view([1 1 1]);
  1 Commento
Wei Wang
Wei Wang il 8 Mag 2023
it is not the same as the graph showed above. there is no thickness for the surface, also no rendering.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by