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 次查看(过去 30 天)
qq11eeq.PNG
  3 个评论
Prakash Choudhary
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

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2019-4-6
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)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 3-D Scene Control 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by