MATLAB 动态绘制碗状图形:
close all;
clear;
clc;
step = 60;
%% y=x^3 x=2 y=0 绕y轴旋转
min_v = 0;
max_v = 2;
y = linspace(min_v, max_v, step);
x = y.^(1/3);
ss = 3;
[X,Y,Z] = cylinder(x,step);
[X1,Y1,Z1] = cylinder(1,step);
[X2,Y2,Z2] = cylinder(1,step);
[m,n] = size(Y2);
zz = zeros(m,n);
for i = 1:ss:step+1-ss
mesh( X(:,i:i+ss),Z(:,i:i+ss) * max_v, Y(:,i:i+ss), 'FaceColor','interp','FaceAlpha',0.5,'EdgeColor','interp');
hold on;
mesh(X1(:,i:i+ss) * (max_v^(1/3)), Z1(:,i:i+ss)* max_v, Y1(:,i:i+ss)* (max_v^(1/3)) ,'FaceColor','interp','EdgeColor','interp');
for j = 0:0.05:1
mesh(X2(:,i:i+ss)*j * max_v^(1/3),zz(:,i:i+ss),Y2(:,i:i+ss)*j * max_v^(1/3),'FaceColor','interp','EdgeColor','interp');
hold on;
end
grid on;
pause(0.01);
xlabel('x');
ylabel('y');
zlabel('z');
title('y=x^3 x=2 y=0 围成图像绕y轴旋转');
hold on;
end
效果图: