Transform 3D point cloud
6 ビュー (過去 30 日間)
古いコメントを表示
I have a point cloud and a rotation matrix like this:
rot=[ -0.48664090 0.36675647 0.79288739;
-0.67601788 -0.73296887 -0.075871207;
-0.55333579 0.57292831 -0.60462612 ]
How can I transform the point cloud using this rotation matrix? I cannot use this matrix with pctrasform and rigid3d.
3 件のコメント
採用された回答
Matt J
2021 年 3 月 17 日
編集済み: Matt J
2021 年 3 月 17 日
Funny. Well, you can always use affine3d,
rot=[ -0.48664090 0.36675647 0.79288739;
-0.67601788 -0.73296887 -0.075871207;
-0.55333579 0.57292831 -0.60462612 ];
T=eye(4);
T(1:3,1:3)=rot;
tform=affine3d(T)
As a side note, your matrix is not a proper rotation, since its determinant is -1.
det(rot)
0 件のコメント
その他の回答 (1 件)
Bjorn Gustavsson
2021 年 3 月 17 日
If you have a 3-x-n array of point-coordinates you can rotate them in 2 ways, either rotate the points or the coordinate system.
For example like this:
r_rotated = rot*r_points;
HTH
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Point Cloud Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!