I'm trying to plot/visualize following solid:
This is what I coded so far:
% Create the set of 3D points
n = 150;
x = linspace(1, 2, n);
y = linspace(0, 1, n);
z = linspace(0, 1, n);
[X, Y, Z] = meshgrid(x, y, z);
% Create 3D logical mask for the volume
mask = (1 <= X) & (X <= 2) ... % Constraints of x
& (0 <= Y) & (Y <= 1./X) ... % Constraints of y
& (0 <= Z) & (Z <= sqrt(Y)); % Constraints of z
figure;
isosurface(X, Y, Z, mask, 0.5);
daspect([1 1 1]);
view(3);
grid on;
xlabel('x'); ylabel('y'); zlabel('z');
title('Isosurface visualization of the solid volume');
But the result only shows two of the faces of the solid. But completely disregards the flat faces:
Any ideas on what went wrong?
Btw, this is the solid using matlabs volshow function. But I would still prefer isosurface.
If you go just past the boundaries on your grid it works:
x = linspace(0.9, 2.1, n);
y = linspace(-0.1, 1.1, n);
z = linspace(-0.1, 1.1, n);