Rotate 1 by N vector

7 Ansichten (letzte 30 Tage)
Peter Popoola
Peter Popoola am 8 Mär. 2018
Kommentiert: Jan am 10 Mär. 2018
Hello, everyone. Is there a way (function) in Matlab to rotate a row vector of N dimensions by a given angle? I've only been able to use the matrix multiplication for 2D and 3D cases.
Thanks!
  5 Kommentare
Peter Popoola
Peter Popoola am 10 Mär. 2018
Thanks for the comment, Guillaume. I didn't know that. I guess I'll have to find a way around it.
Jan
Jan am 10 Mär. 2018
I consider this as not complicated:
R = eye(numel(u)) + ...
(v * u.' - u * v.') * sin(a) + ...
(u * u.' + v * v.') * (cos(a) - 1);
Here u and v are two orthogonal unit vectors to describe the n-dimensional hyperplane to rotate in. Remember, that in 3D one vector is sufficient to define a plane to rotate in, but in 4D (and N-D), this is not unique anymore. a is the angle in radians to rotate, and the direction is from u to v.
I publish this in the FileExchange currently.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Rik
Rik am 8 Mär. 2018
You mean something like this?
v=1:10;
v2=imrotate(v,45);
  5 Kommentare
Rik
Rik am 10 Mär. 2018
File a bug report with GNU. There are often minor differences between Octave and Matlab, especially in edge cases like this. Apparently Octave assumes both dimensions are larger than 1.
Peter Popoola
Peter Popoola am 10 Mär. 2018
Okay, Rik. Thank you!

Melden Sie sich an, um zu kommentieren.


Jan
Jan am 8 Mär. 2018
Bearbeitet: Jan am 10 Mär. 2018
Here the axis of rotation u, the cross-product matrix []_x and the tensor cross-product (x) are not limited to 3D, but work for n dimensions also. So you can create the n-D rotation matrix in a straight-forward way and multiply your vector with.
  2 Kommentare
Peter Popoola
Peter Popoola am 9 Mär. 2018
Thanks once again, Jan. I take it there's no Matlab function that does this? Because I haven't really been able to wrap my head around the formulation given here, and how it can be extended to the N-dimensional case. Thank you for your help!
Jan
Jan am 10 Mär. 2018

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Gravitation, Cosmology & Astrophysics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by