MATLAB 曲线绕点旋转

曲线由离散点x,y拟合而成,曲线绕点旋转可以转化为绕原点的旋转和平移,以下代码可实现曲线绕点(1,1)旋转:

plot(x,y)
x0=1;
y0=1;                                               %旋转中心为(1,1)
M=[1    0     x0;
   0    1     y0;
   0    0     1;];                                  %平移矩阵
P0(1,:)=x;
P0(2,:)=y;
P0(3,:)=1;
M1=[cos(pi/2)   sin(pi/2)     0;
    -sin(pi/2)   cos(pi/2)    0;
        0           0         1];                   %旋转矩阵,顺时针旋转90°
P1=M1*M*P0;
plot(P1(1,:),P1(2,:),'*r')

 

你可能感兴趣的:(MATLAB 曲线绕点旋转)