Rotation Matrix 3D

4 ビュー (過去 30 日間)
Schiopu Robert
Schiopu Robert 2019 年 6 月 25 日
コメント済み: Schiopu Robert 2019 年 6 月 25 日
Hello ,
I want to try to spin a matrix, but I can not. I have three 240x320 matrices (x, y, z, which are the cartesian points of a stereo camera scan) and have done 4 scans (front, right, left, back) and I want to rotate the Cartesian arrays with 90 degrees, 180 degrees in the back and 270 left to create a 360 degree view. and the rotation matrix, from what I read, has the size of 3x3 (rotate = [cosd (90) -sind (90) 0; sind (90) cosd (90) 0; 0 0 0 1]). I tried the following:
rotz = [cosd (90) -sind (90) 0; sind (90) cosd (90) 0; 0 0 0 1 ];
for i = 1:240
for j = 1:320
[0 0 x11(i,j)] = rotz.*[0 0 x11(i,j)];
end
end
or :
for i = 1:240
for j = 1:320
x11(i,j) = rotz.*x11(i,j);
end
end
Can anyone tell me how can I do that multiplication? Or if there is another option to rotate the matrix?
Thank you have a good day
  6 件のコメント
Schiopu Robert
Schiopu Robert 2019 年 6 月 25 日
@Jan :Excuse me, there are 3 matrices with dimensions of 240x320, these matrices are Cartesian coordinates. After scanning, the program gave me a depth matrix of 240x340, and with azimuth and elevation, I found out the Cartesian coordinates, which are these 3 arrays (x, y, z). and the rotation matrix in the last line has 3 elements, just wrong and I added a zero when I copied the code. The rotation matrix is rotate = [cosd (90) -sind (90) 0; sind (90) cosd (90) 0; 0 0 1]; , but it still does not work
Bjorn Gustavsson
Bjorn Gustavsson 2019 年 6 月 25 日
What part of my solution doesn't do it for you?

サインインしてコメントする。

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 6 月 25 日
Maybe something like this for your coordinates:
r_all = [x(:),y(:),z(:)];
r_rotated = (rotz*r_all')';
Xr = x;
Yr = y;
Zr = z;
Xr(:) = r_rotated(:,1);
Yr(:) = r_rotated(:,2);
Zr(:) = r_rotated(:,3);
HTH
  1 件のコメント
Schiopu Robert
Schiopu Robert 2019 年 6 月 25 日
Thank you , this is work !

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by