在好例子网,分享、交流、成长!
您当前所在位置:首页MATLAB 开发实例MATLAB语言基础 → trplot()的使用

trplot()的使用

MATLAB语言基础

下载此实例
  • 开发语言:MATLAB
  • 实例大小:3.16KB
  • 下载次数:2
  • 浏览次数:335
  • 发布时间:2021-07-31
  • 实例类别:MATLAB语言基础
  • 发 布 人:singol_cheung
  • 文件格式:.m
  • 所需积分:2
 相关标签: rp

实例介绍

trplot_3D.m,trplot()用法

%% 补充内容,在python里有类似的功能

% Matplotlib.pyplot.triplot()
%% 以下是trplot2()和trplot()的用法
%https://zhuanlan.zhihu.com/p/163266891
clear all;
clc;
hold on;
%% 2D下的test
%T_2d = SE2(1,2,30*pi/180)
%T_2d = SE2(3,4,pi/3)
%T_2d = SE2(3,4,60,'deg')
%T_2d = transl2(3,4)
%R = rot2(pi/3);
%R = rot2(0)
%% 3D下把Base显示出来
% Base为默认{1,0,0;0,1,0;0,0,1};实际没显示出来,可以不显示出来
% 以下只是把base显示出来
R_3d_Base_z = rotz(0);%rotz(θ),θ的单位为弧度
R_3d_Base_y = roty(0);
R_3d_Base_x = rotx(0); 
%以ZYX或者XYZ显示出来,有没有区别???
R_3d_Base = R_3d_Base_z*R_3d_Base_y*R_3d_Base_x;
T_3d_Base = [0,0,0];
% HTM = Homogeneous transformation matrix
HTM_Base = SE3(R_3d_Base,T_3d_Base);
%trplot(HTM_Base) %方式一
%trplot(HTM_Base,'frame','Base Frame') %方式二
%trplot(HTM_Base,'frame','Base Frame','rgb') %方式三,更改坐标轴颜色
%trplot(HTM_Base,'frame','Base Frame','arrow') %方式四
%trplot(HTM_Base,'frame','Base Frame','arrow','rgb') %方式五
%trplot(HTM_Base,'labels','XYZ','arrow','rgb') %'labels'与'frame'一起用冲突
%trplot(HTM_Base,'arrow','rgb','frame','Base Frame','labels','XYZ') %错误用法,先'frame'后'labels'
%trplot(HTM_Base,'labels','XYZ','arrow','rgb','frame','Base Frame','rgb') %错误使用;结合方拾三,最后的'rgb'无效;
%{
trplot(HTM_Base,'frame','Base Frame','arrow','rgb') 错误使用
trplot(HTM_Base,'labels','XYZ','arrow','rgb')
trplot(HTM_Base,'frame','Base Frame','rgb')
%}
%trplot(HTM_Base,'labels','XYZ','frame','Base Frame','thick',5) %坐标轴线粗细
%trplot(HTM_Base, 'frame','Base
%Frame','text_opts',{'FontSize',10,'FontWeight','bold'}) %text_opts轴标签,FontSize字体大小,字体粗细
%trplot(HTM_Base,'rviz','length',100) %'length',需要这样用,不能搭配,'frame'
%trplot(HTM_Base,'rviz','length',100,'axis',[-700 700 -700 700 700 700],'anaglyph','rc','framelabel','Base','labels','XYZ')
trplot(HTM_Base,'labels','XYZ','arrow','rgb','frame','Base Frame') %'labels'与'frame'有先后顺序,先'labels'后'frame',否则'frame'产生一个轴标签,'labels'再产生
% 以上,可以直接使用trplot()来代替
% trplot()生成的就是origin在[0,0,0]的orthonomal coordinate frame{1,0,0;0,1,0;0,0,1}
%% 把Base的Rotation Matrix转化为ZYX的Euler,没用途,只是演示Rotation Matrix转化为ZYX的原理
%旋转矩阵转欧拉角
%tr2rpy('ZYX',R_3d_Base) 错误
BaseEuler_x = atan2(R_3d_Base(3,2),R_3d_Base(3,3));
BaseEuler_y = atan2(-R_3d_Base(3,1),sqrt(R_3d_Base(3,2)^2 R_3d_Base(3,3)^2));
BaseEuler_z = atan2(R_3d_Base(2,1),R_3d_Base(1,1));
%% 把FlangeTool显示出来
R_3d_FlangeTool_z = rotz(-pi/2);
R_3d_FlangeTool_y = roty(0);
R_3d_FlangeTool_x = rotx(-pi);
R_3d_FlangeTool = R_3d_FlangeTool_z*R_3d_FlangeTool_y*R_3d_FlangeTool_x;
tr2rpy(R_3d_FlangeTool)
T_3d_FlangeTool = [T_3d_Base(1) 2,T_3d_Base(2) 2,T_3d_Base(3) 2];
% HTM = Homogeneous transformation matrix
HTM_FlangeTool = SE3(R_3d_FlangeTool,T_3d_FlangeTool);
%trplot(HTM_FlangeTool,'color','r')
trplot(HTM_FlangeTool,'frame','Tool Frame','color','r')
%% 结束部分
axis equal;
hold off;

标签: rp

实例下载地址

trplot()的使用

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警