How to show a deformation of a sphere
5 views (last 30 days)
Show older comments
Daniele Cuomo
on 18 Jun 2020
Commented: Simson Hutagalung
on 24 Jun 2022
I want to show a function that take a sphere with radius 1 as input and that gives in output an ellipsoid with axes always lower then 1.
tiledlayout(1,2);
[X, Y, Z] = ellipsoid(0,0,0,1,1,1,40);;
surf(nexttile,X,Y,Z);
axis equal;
title('Before')
mesh(nexttile,X/2,Y/2,Z/2);
axis equal
title('Then')
The problem with this code is that, instead of seeing a deformation of the sphere I get an adaptation of the axis. I'd like to fix the axes to be unitary for both the subfigures.
3 Comments
Simson Hutagalung
on 24 Jun 2022
How to generate deformation colormap 2D in matlab with data from excel?
Accepted Answer
Bjorn Gustavsson
on 18 Jun 2020
Keep track of the x, y, and z-lims or the axis-limits. Something like this:
tiledlayout(1,2);
[X, Y, Z] = ellipsoid(0,0,0,1,1,1,40);;
surf(nexttile,X,Y,Z);
axis equal;
ax1 = axis;
title('Before')
mesh(nexttile,X/2,Y/2,Z/2);
axis equal
title('Then')
axis(ax1)
You might have to do the same for the viewing-angles too, but the same procedure applies.
HTH
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!