How to scale rotated matrix in a new coordinate?
1 view (last 30 days)
Show older comments
Abdulaziz Abutunis
on 18 Dec 2017
Commented: Abdulaziz Abutunis
on 18 Dec 2017
Hello All: I have rotated foil data (each point has x,y coordinate) and I want to scale the foil after the rotation. In other words, I want to apply the scaling factor in different coordinate ( say the new coordinate is rotated 15 deg).
Appreciate your suggestions
2 Comments
Accepted Answer
Jan
on 18 Dec 2017
Your question is still vague, so I can post a vague answer only:
If you have a set of points, and want to scale the values "along a direction", rotate the points such, that the direction vector point to the x axis. Then divide the x component of the coordinates and rotate the point back. You can express this as 3 matrices:
T = Rot(alpha) * Scale * Rot(-alpha) =
= [cos(alpha) -sin(alpha); sin(alpha) cos(alpha)] * ...
[0.5, 0; 0, 1] * ...
[cos(alpha) sin(alpha); -sin(alpha) cos(alpha)]
You can multiply this to get the matrix, which scales the points in the direction vector, which includes the signed angle alpha with the x axis.
More Answers (0)
See Also
Categories
Find more on Map Display in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!