MATLAB Answers

Kelly
0

Rotating 3D cloud matrix data

Kelly
さんによって質問されました 2019 年 6 月 17 日
最新アクティビティ Jan
さんによって 編集されました 2019 年 6 月 17 日
Hi,
I have a 3D cloud point matrix (x,y,z) (39600x3) and I am trying to rotate all the points by a few degrees clockwise. I have been attempting to use 'makeghtform' however I keep getting errors and I have been doing trial and error to try and work out how to complete this task however I seem to be failing. Can anyone please help me?
Thanks

  1 件のコメント

Jan
2019 年 6 月 17 日
Post the code and a copy of the error message.

サインイン to comment.

2 件の回答

Star Strider
回答者: Star Strider
2019 年 6 月 17 日

The rotate function could be an option.

  0 件のコメント

サインイン to comment.


Jan
回答者: Jan
2019 年 6 月 17 日
編集済み: Jan
2019 年 6 月 17 日

Multiplacte the data with a rotation matrix, e.g. obtained by: https://www.mathworks.com/matlabcentral/fileexchange/66446-rotation-matrix
R = RotMatrix(alpha, axisOfRotation);
RotatedPoints = R * Points;
Or without this function:
% Normalized vector:
u = u(:);
u = u ./ sqrt(u.' * u);
% 3D rotation matrix:
x = u(1);
y = u(2);
z = u(3);
mc = 1 - c;
R = [c + x * x * mc, x * y * mc - z * s, x * z * mc + y * s; ...
x * y * mc + z * s, c + y * y * mc, y * z * mc - x * s; ...
x * z * mc - y * s, y * z * mc + x * s, c + z * z .* mc];

  0 件のコメント

サインイン to comment.



Translated by