1. 二维齐次变换矩阵的创建
eg:
T1=SE2(1,2,30*pi/180)%表示相对于世界坐标系产生(1,2)的平移和30°的旋转
trplot2(T1,'frame','2D_1imagine','color','g');%绘制变换后的坐标系,在同一世界坐标系中绘制
%不同的变换后的坐标系只需使用hold on 指令即可
运行结果
T1 =
0.8660 -0.5000 1
0.5000 0.8660 2
0 0 1
显示效果
2. 二维齐次变换矩阵点的创建和绘制
eg:
P=[1;2];%创建点
plot_point(P,'g*');%绘制点
3. 二维齐次变换的乘法
二维齐次变换的乘法非常有用,可以通过一些叠乘,然后通过上下标来求的最终的要相对于那个坐标系的变换,但是有一个非常不好的就是它不能和别的类型的齐次变换矩阵相乘,否则会报错
eg:
T1=SE2(1,2,30*pi/180)
P=[1;2];%创建点
plot_point(P,'g*');%绘制点
% P1=inv(T1)*[P;1];%不能这样用,报错
% P1=T1\[P;1];%也不能这样用,报错
P1=inv(T1)*SE2(3,2,0);%如果要求一个点的转换只能这样用乘法,通过SE2来创建点,结果中最后一列代表转换后点的坐标
运行结果
P1 =
0.8660 0.5000 1.732
-0.5000 0.8660 -1
0 0 1
也就是P1的最后一列代表了变换后的点的坐标