How to scale rotated matrix in a new coordinate?

조회 수: 3 (최근 30일)
Abdulaziz Abutunis
Abdulaziz Abutunis 2017년 12월 18일
댓글: Abdulaziz Abutunis 2017년 12월 18일
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
Jan
Jan 2017년 12월 18일
The question is not clear. You can rotate, translate, sheer and scale the coordinate systems. Scaling means to multiply the coordinates, so this seems to be trivial. Maybe it would help if you show us an example of the inputs and wanted outputs.
Abdulaziz Abutunis
Abdulaziz Abutunis 2017년 12월 18일
Jan Thank you for your response. Yes, my question may be better addressed to algebra or other groups but I thought there may be some commands in Matlab ready to do that. What I meant was that I have an airfoil that I have rotated and then I did some other steps then I need to scale down the airfoil in the newly rotated x-direction only. It seems that even if I want to scale in newly rotated x-direction only but I also should consider the movement of data in y-coordinate to get what I want. I have simplified the what I need in the attached file. Thanks

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2017년 12월 18일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assembly에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by