我怎样才能做一个齐次变换到另一个坐标系的数据?

1 Ansicht(30天)的
你好
我有两个3 d数据数组,A和B,包含相同的现实世界中对象的空间测量数据。A和B的大小都是不一样的。两个数组附有XYZ坐标系统。在数组B对象旋转、缩放和翻译相对于数组中的数据我有仿射变换的变换矩阵之间的两个坐标系统,由于信托分对象出现在数据。
我想插入B数组中的数据在坐标系统为一个数组,但我不知道如何做到这一点呢?
最终的结果将是一个新数组,C, B包含插入数据数组,但具有相同大小的数组。
谢谢你的帮助。

Akzeptierte Antwort

尼科莱桑德斯
尼科莱桑德斯 我10年3月。2017年
回答我的问题:我最终使用 imwarp 当我意识到它可以处理三维数组。
A和B我定义空间参考坐标系
RA = imref3d(大小(A), [min (xA), max (xA)], [min(是的),max(丫)],[min (zA), max (zA)]);
RB = imref3d(大小(B)、(min (xB), max (xB)], [min (yB), max (yB)], [min (zB), max (zB)]);
然后我定义了一个仿射变换和变换矩阵TM
在= affine3d (TM);
现在我可以变换B的坐标系统
(C, RC) = imwarp (B, RB,,“OutputView”RA);
旁注,我获得的变换矩阵 absor
[rp, Bfit, ErrorStats] = absor (PA、PB、“DoScale”1);
TM = rp.M。”;
1 Kommentar
GAldos
GAldos 我2018年7月26日
谢谢发布您的解决方案!想知道你为什么需要旋转矩阵的转置的变换矩阵absor吗?即TM = rp.M。”?

Melden您西奇,嗯祖茂堂kommentieren。

Weitere Antworten (0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的