3D surface plot with thickness

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).

Answers (1)

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 Comment

it is not the same as the graph showed above. there is no thickness for the surface, also no rendering.

Sign in to comment.

Asked:

on 4 May 2023

Commented:

on 8 May 2023

Community Treasure Hunt

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

Start Hunting!