matlab做逐帧动画
想要做出一个正方体相下平移的动画,顶点设成a,b是因为后面还有程序,谁能帮我完善下,移动之后总有残影。求高手帮忙,谢谢clear;axis([-3,3,-3,3,-3,3...
想要做出一个正方体相下平移的动画,顶点设成a,b是因为后面还有程序,
谁能帮我完善下,移动之后总有残影。求高手帮忙,谢谢
clear;axis([-3,3,-3,3,-3,3]);
view(3);
a=[-1,1,1;1,1,1;1,-1,1;-1,-1,1];
b=[-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
vert=[a;b];
vert(:,4)=1;
v=vert(:,[1 2 3]);
fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
patch('faces',fac,'vertices',v,'FaceColor','w');
M=moviein(4);
M(:,1)=getframe;
T=[1 0 0 0;0 1 0 0;0 0 1 0;-1/3 -1/3 -1/3 1];
for j=1:3
vert1=vert*T
v1=vert1(:,[1 2 3]);
patch('faces',fac,'vertices',v1,'FaceColor','w');
M(:,1+j)=getframe;
vert=vert1;
end
clf
movie(M,10); 展开
谁能帮我完善下,移动之后总有残影。求高手帮忙,谢谢
clear;axis([-3,3,-3,3,-3,3]);
view(3);
a=[-1,1,1;1,1,1;1,-1,1;-1,-1,1];
b=[-1,1,-1;1,1,-1;1,-1,-1;-1,-1,-1];
vert=[a;b];
vert(:,4)=1;
v=vert(:,[1 2 3]);
fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
patch('faces',fac,'vertices',v,'FaceColor','w');
M=moviein(4);
M(:,1)=getframe;
T=[1 0 0 0;0 1 0 0;0 0 1 0;-1/3 -1/3 -1/3 1];
for j=1:3
vert1=vert*T
v1=vert1(:,[1 2 3]);
patch('faces',fac,'vertices',v1,'FaceColor','w');
M(:,1+j)=getframe;
vert=vert1;
end
clf
movie(M,10); 展开
展开全部
有残影,取决于计算机的速度。要想效果好,每次移动的距离小,每秒钟刷新的次数要大,根据你的计算机的速度调整。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加个cla
for j=1:3
vert1=vert*T
v1=vert1(:,[1 2 3]);
cla
patch('faces',fac,'vertices',v1,'FaceColor','w');
M(:,1+j)=getframe;
vert=vert1;
end
for j=1:3
vert1=vert*T
v1=vert1(:,[1 2 3]);
cla
patch('faces',fac,'vertices',v1,'FaceColor','w');
M(:,1+j)=getframe;
vert=vert1;
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询