How to rotate RECTANGLE?
    11 views (last 30 days)
  
       Show older comments
    
Hi everyone,
I am using the matlab function RECTANGLE to plot rectangle and ellipse in a figure.
Is it possible to rotate it by any angle (say 30 degrees)?
Kevin
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 2 Apr 2022
        Not exactly, but there is a way.
h = rectangle('Position',[0 0 2 4],'Curvature',1);
g = hgtransform('Matrix', makehgtform('zrotate', pi/6))
h.Parent = g;
xlim([-5 5]); ylim([-5 5])
Watch out for where the origin of the rotation is; if you want to rotate around the center of the object you should use a transform that subtracts the centroid, does the rotation, and adds back the centroid again. You will find that in practice the makehgtform() call for that will have the addition first, then the rotation, then the subtraction -- that is, the order of operations works out to be right to left.
2 Comments
  Image Analyst
      
      
 on 3 Apr 2022
				@Kevin I see this requested so often.  Please send in a request to support@mathworks.com saying there should be an "Angle" option of rectangle() so we can specify the angle in degrees of the long sides.
More Answers (0)
See Also
Categories
				Find more on Axis Labels 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!


