Rotating 3D cloud matrix data

9 visualizaciones (últimos 30 días)
Kelly
Kelly el 17 de Jun. de 2019
Editada: Jan el 17 de Jun. de 2019
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 comentario
Jan
Jan el 17 de Jun. de 2019
Post the code and a copy of the error message.

Iniciar sesión para comentar.

Respuestas (2)

Star Strider
Star Strider el 17 de Jun. de 2019
The rotate function could be an option.

Jan
Jan el 17 de Jun. de 2019
Editada: Jan el 17 de Jun. de 2019
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];

Categorías

Más información sobre Point Cloud Processing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by