急用啊!!
急用啊!!
function showSphere(r0,r1,size)
t = linspace(0, 2*pi);
figure; hold on; view(3);
axis square;
box on;
axis([-0.5-r1 r1+0.5 -0.5-r1 r1+0.5 -0.5-r1 r1+0.5]);
if (r1>r0 & size>0)
r=r0;
while 1
[x, y, z] = sphere(20);
surf(r*x, r*y, r*z);
r=r+size;
pause(0.2);
if r>=r1
break;
end
cla;
end
else
disp('输入有误,必须r1>r0,或者递增值size必须为正,请重新输入后运行');
end
把上边的文件保存为showSphere.m,然后运行实例:showSphere(1,8,0.5),动态播放半径从1到8的球体,半径每次增加0.5 。showSphere(r0,r1,size) 中r0表示初始半径,r1表示最后的半径,size为递增的大小。
clc; clear all; close all; r = 1; % 半径初值 flag = 1; figure; hold on; view(3); axis([-20 20 -20 20 -20 20]); axis equal; box on; title('请按空格键退出', 'FontSize', 18); while flag r = mod((r + 1), 20); [x, y, z] = sphere(20); h = surf(r*x, r*y, r*z); pause(0.1); delete(h); s = get(gcf, 'CurrentKey'); if strcmp(s, 'space') flag = 0; end end
这个很容易的,你按照我的方法做就可以的