在XY平面中旋转3D数据(Matlab)

时间:2015-06-18 19:51:35

标签: arrays matlab 3d rotation

我有一个3D数组,其中包含作为空间位置(x和y坐标)函数的概率值。当我使用imagesc或surf绘制此数组时,我得到一个最大的椭圆形轮廓。我想围绕XY平面中的最大概率点旋转数据,使得Y轴变得平行于椭圆的长轴(我使用regionprops计算)。我不想使用imrotate或几何对象旋转来旋转图像或曲面,因为我需要包含旋转数据的数组。如果我知道绕Z轴的旋转角度(用regionprops获得),我怎么能实现这个呢?

编辑:这是我用来围绕centroïd旋转矩阵的代码。但是,当我使用冲浪来绘制结果时,我得到了最奇怪的结果......

__coerce__()

我得到这张图片:enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是否针对旋转矩阵尝试rotz围绕z轴旋转,请查看文档here

其他,您可以将矩阵与以下矩阵R相乘,旋转角度为γ:

enter image description here

注意,Matlab中的函数cossin是基于弧度的。您可以使用学位cosd