rotating a line using rotation matrix
1 view (last 30 days)
Show older comments
I have this function thats supposed to rotate a 2x2 matrix (arm) by theta.
I think i have to multiply the arm matrix by a rotation matrix to be given the new arm but i can't figure out how to do it. I keep getting error messages saying that arm and the rotation matrix is of different sizes.

0 Comments
Accepted Answer
KSSV
on 12 Feb 2021
Edited: KSSV
on 12 Feb 2021
L = rand(2,2) ; % line
% Rotation matrix
R = @(theta) [cos(theta) -sin(theta) ; sin(theta) cos(theta)] ;
% Get mean
m = mean(L) ;
L1 = m+(L-m)*R(pi/2) ; % rotate line by 45 degrees
plot(L(:,1),L(:,2),'r',L1(:,1),L1(:,2),'b')
6 Comments
Walter Roberson
on 12 Feb 2021
arm.' * R
would be 10 x 2 * 2 x 2, giving a 10 x 2 result. You could then transpose that to 2 x 10.
(arm.' * R).'
You might also be able to just use
R * arm
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!