永发信息网

matlab中怎样编程播放一个直径不断变化的球体!

答案:4  悬赏:70  手机版
解决时间 2021-05-04 10:56

急用啊!!

最佳答案

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

这个很容易的,你按照我的方法做就可以的

n=30 [x,y,z]=sphere m=moviein(n); for j=1:n surf(j*x,j*y,j*z) m(:,j)=getframe; end movie(m,10);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我家的电脑是从网吧购买的2手电脑.键盘特别的
深圳个人所得税怎么算啊
请问别人怎么抢人家的网速吗?
怎么把查询出来的话费详单变成文件
我玩DNF电脑的CPU使用率很高?怎么解决?
比尔马克帝国试验场抽出博肯木偶,怎麽办?
为什么就是找不到不懈的玫瑰花?
为什么欢乐豆多了进不了视频斗地主
福星花园西二门地址有知道的么?有点事想过去
谁给我出几道数学题 要初一期末考试 长期求救
复旦大学法律系怎么样,复旦大学金融专业怎么
想安装一个程序电脑里提示已经安装了,需要卸
小虎队的庸人自扰
从成都出发到广安华蓥山的路线?
手机证书制作谢谢
推荐资讯
冲江村怎么去啊,有知道地址的么
跟内向的心上人表白要怎么表白吖?亲口说会比
问几个英语问题= =
从这个男生长象看是属于那种人?具体说下
玉军诊所这个地址在什么地方,我要处理点事
为什么无缘无故会产生USB拔进拔出的声音
戴美瞳可以淋雨的吗?
288至尊卡里面都有什么?
济南无限量手机卡哪有卖的
我看见有好友QQ昵称字数超过6个,怎么做到的
文章怎么引出人物
有异性给你发“嘻*n”是什么意思?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?