How to scale rotated matrix in a new coordinate?
    9 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Abdulaziz Abutunis
 am 18 Dez. 2017
  
    
    
    
    
    Kommentiert: Abdulaziz Abutunis
 am 18 Dez. 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 Kommentare
  Jan
      
      
 am 18 Dez. 2017
				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.
Akzeptierte Antwort
  Jan
      
      
 am 18 Dez. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Engines & Motors 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!