>> angle2dcm(60*pi/180, 45*pi/180, 30*pi/180, 'zyx')'
ans =
0.3536 -0.5732 0.7392
0.6124 0.7392 0.2803
-0.7071 0.3536 0.6124
- python结果
rot = R.from_euler('xyz', [30, 45, 60], degrees=True)
[[ 0.35355339 -0.5732233 0.73919892]
[ 0.61237244 0.73919892 0.28033009]
[-0.70710678 0.35355339 0.61237244]]
xm = angle2dcm(0*pi/180, 0*pi/180, 30*pi/180, 'zyx')
xm =
1.0000 0 0
0 0.8660 0.5000
0 -0.5000 0.8660
ym = angle2dcm(0*pi/180, 45*pi/180, 0*pi/180, 'zyx')
ym =
0.7071 0 -0.7071
0 1.0000 0
0.7071 0 0.7071
zm = angle2dcm(60*pi/180, 0*pi/180, 0*pi/180, 'zyx')
zm =
0.5000 0.8660 0
-0.8660 0.5000 0
0 0 1.0000
xm * (ym * zm)
ans =
0.3536 0.6124 -0.7071
-0.5732 0.7392 0.3536
0.7392 0.2803 0.6124
tt = angle2dcm(60*pi/180, 45*pi/180, 30*pi/180, 'zyx')
tt =
0.3536 0.6124 -0.7071
-0.5732 0.7392 0.3536
0.7392 0.2803 0.6124
其中,后缀“zyx”表示前边三个数对应的轴的旋转角度,最后结果就是x * (y*z)得到的。