![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1214663/image.png)
我试图让一个tform变换矩阵,但我得到以下错误一次,你能协助我解决吗?
22日视图(30天)
显示旧的评论
我要项目上的一个点云图像我转换元素,如旋转和转换矩阵如下:
旋转=
0.0499 0.999 -0.0213
-0.0283 0.0228 0.999
0.998 -0.0493 0.0294
翻译=
2.489 9.58 7.4404 e + e + 06 06
tform = rigidtform3d(旋转,翻译)
错误使用images.geotrans.internal.rigidtform3dImpl
无效的旋转矩阵。
错误在rigidtform3d(第8行)
自我= self@images.geotrans.internal.rigidtform3dImpl(变长度输入宗量{:});
0评论
答案(1)
Sakshay
2022年12月1日
你好,阿巴斯,
按我的理解你试图创建“rigidtform3d”对象翻译使用旋转矩阵和向量。但是,你得到一个错误指示不正确的旋转矩阵。
一个有效的旋转矩阵应该满足以下约束条件:
MATLAB做这些内部检查之前分配的旋转矩阵。对你的情况下,旋转矩阵似乎并不满足约束(精度高达
),就像下面的代码:
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1214663/image.png)
%分配旋转矩阵
(R = 0.0499, 0.9990, -0.0213;-0.0283、0.0228、0.9990;0.9980,-0.0493,0.0294);
%测试1
‘* R
* R '
%测试2
依据(右)
你可以试着从欧拉角生成一个旋转矩阵,使用“eul2rotm”功能。更多信息请参考以下文档: