Clear Filters
Clear Filters

why cant i rotate the 2nd line at the X axis it takes reference as point 0,0 and rotates at 45 degree angle i want to rotate the line at same axis

1 view (last 30 days)
qq11eeq.PNG
  3 Comments
Prakash Choudhary
Prakash Choudhary on 6 Apr 2019
close all;
clc;
clear all;
x0= [0 0];
y0= [-85 85];
x1 = [820 820 ];
y1 = [ -85 85 ];
hold on
plot (x1,y1);
plot (x0,y0);
grid on
angle=45;
angle_rad=((angle*2.*pi)./360);
[THETA,R] = cart2pol(x0,y0);
THETA=THETA+angle_rad; %Add a_rad to theta
[x0r,y0r] = pol2cart(THETA,R);
plot(x0r,y0r);
axis equal; %Rotated
angle=45;
angle_rad=((angle*2.*pi)./360);
[THETA,X] = cart2pol(x1,y1);%Convert to polar coordinates
THETA=THETA+angle_rad; %Add a_rad to theta
[x1r,y1r] = pol2cart(THETA,X); %Convert back to Cartesian coordinates
plot(x1r,y1r);
grid on
hold off
axis equal; %Rotated

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 6 Apr 2019
It is rotating. Look at the top of your plot.
The way to rotate relative to a point is to subtract the coordinates of the point to rotate around, do the rotation, then add the coordinates of the point to rotate around back in. If you want ot rotate around (800,0) then cart2pol(x1-800,y1) and plot(x1r+800,y1r)

More Answers (0)

Categories

Find more on 3-D Scene Control in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!