• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB下坐标系变换

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1)、坐标旋转,旋转矩阵为R=rotx(pi/2),绕x轴旋转90度,用函数trplot(R)显示;tranimate(R)制作旋转动画。但是保存为GIF格式没有很好的解决,用了如下粗糙方式实现的。如果不保存为GIF格式

tranimate(R)就足够了,具体的程序如下:

filename = 'xuanzhuang.gif';
for i=0:0.1:pi
 R=rotx(i);%绕x轴旋转180度
 frame = getframe(gcf);
 tranimate(R);
 drawnow; 
 im=frame2im(frame);
 [imind,cm] = rgb2ind(im,256);
 if i ==0
 imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.2);
 else
 imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.2);
 end
end









2)旋转复合,用矩阵R=rotx(pi/2)*roty(pi/2)代替上面程序中的R。下面的角度我给的是pi。









3)平移,旋转复合。同理将R变换为R= R=transl(1,0,0)*trotx(i)*transl(0,1,0)即可,程序如下:

filename = 'PYxuanzhuang.gif';
for i=0:0.1:pi/2
 R=transl(1,0,0)*trotx(i)*transl(0,1,0);
 frame = getframe(gcf);
 tranimate(R);
 drawnow; % 刷新屏幕 ? 
 im=frame2im(frame);
 [imind,cm] = rgb2ind(im,256);
 if i ==0
 imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.05);
 else
 imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.05);
 end
end












鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DelphiHOOK示例发布时间:2022-07-18
下一篇:
matlab 实验四 数据处理与多项式计算发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap