动画3d绘图视图

270意见(过去30天)
缺口“class=
缺口 2013年9月11日
回答: John Navarro.2021年5月11日
我正在尝试通过旋转绘图,使用类似于Matlab文件Exchange中的动画GIF示例的方法创建一个3D绘图的动画GIF( 关联 )。
我能够使用屏幕上的数字 看法 功能和 暂停 ,但我有问题将其转变为GIF。在第一个i循环上,在第二次迭代(即,k = 2),当它到达行“IM(:,:,1,k)= rgb2ind(f.cdata,map,'nodittle');“它返回以下错误:
下标分配尺寸不匹配。test_rotate(第40行)IM(:,1,k)= RGB2IND(F.CDATA,MAP,'Nodittle');
有任何想法吗?谢谢!
代码:
Plot3(Xa,Ya,Za,'-b',xb,yb,zb,'-r');
标题('剧情标题'
Xlabel('x数据'
ylabel('y数据'
Zlabel('z数据'
传奇('数据A''数据B'
网格
AZ = 0;
el = 90;
查看([AZ,EL])
degStep = 5;
Detlat = 0.1;
fcount = 71;
f = getFrame;
[IM,MAP] = RGB2IND(F.CDATA,256,'点亮');
IM(1,1,1,Fcount)= 0;
k = 1;
%旋转45°
为了i = 0:-degstep:-45
AZ = I;
([AZ,EL])
f = getFrame;
IM(:,:,1,k)= RGB2IND(F.CDATA,地图,'点亮');
k = k + 1;
结尾
%倾斜
为了i = 90:-degstep:15
el = i;
查看([AZ,EL])
f = getFrame;
IM(:,:,1,k)= RGB2IND(F.CDATA,地图,'点亮');
k = k + 1;
结尾
%旋转左边
为了i = az:-degstep:-90
AZ = I;
查看([AZ,EL])
f = getFrame;
IM(:,:,1,k)= RGB2IND(F.CDATA,地图,'点亮');
k = k + 1;
结尾
%旋转吧
为了我= az:degstep:0
AZ = I;
查看([AZ,EL])
f = getFrame;
IM(:,:,1,k)= RGB2IND(F.CDATA,地图,'点亮');
k = k + 1;
结尾
%倾斜到原始
为了我= el:degstep:90
el = i;
查看([AZ,EL])
f = getFrame;
IM(:,:,1,k)= RGB2IND(F.CDATA,地图,'点亮');
k = k + 1;
结尾
IMWRITE(IM,地图,'动画.gif''延迟时间',Detlat,'loopcount',INF)

接受答案

亚当福音“class=
亚当福音 2013年9月11日
嗨尼克,你需要使用
f = GetFrame(GCF)
而不是只是'getFrame'来确保它抓住右图窗口。我很快就试过了我的机器,并固定它。
1条评论
缺口“class=
缺口 2013年9月11日
这是诀窍,非常感谢!

登录评论。

更多答案(2)

卡洛斯·拉莫斯“class=
卡洛斯·拉莫斯 2017年3月18日
excelente aporte .. mil gracias !!

John Navarro.“class=
John Navarro. 2021年5月11日
伟大的答案,但......
有人知道是否是这个问题的更新解决方案或更简单的命令?已接受的解决方案是2013年

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!