1. 程式人生 > >如何用Matlab將二維資料點繞Z軸即(0,0)旋轉

如何用Matlab將二維資料點繞Z軸即(0,0)旋轉

在Matlab中鍵入以下程式碼:

clear 

clc

x=[0 1 1 0 0];

y=[0 0 1 1 0];

plot(x,y,'r');%繪製正方形

hold on

axis equal%將兩座標設為相等

axis([-1 2 -1 2])%設定顯示範圍

所得結果如圖所示。

如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

 

如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

順時針旋轉圖形,其旋轉矩陣為M:

M=[cos(pi/6)   sin(pi/6);

   -sin(pi/6)   cos(pi/6);];

R1=[x;y;];

R2=M*R1;%旋轉後坐標

plot(R2(1,:),R2(2,:),'b')%繪製旋轉後圖形

結果如圖所示。

  1. 如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

    如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

  2. 逆時針旋轉圖形,其旋轉矩陣為M:

    M=[cos(pi/6)   -sin(pi/6);

           sin(pi/6)   cos(pi/6);];

    R1=[x;y;];

    R2=M*R1;%旋轉後坐標

    plot(R2(1,:),R2(2,:),'b')%繪製旋轉後圖形

    結果如圖所示。

    如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

    如何用Matlab將二維圖形繞Z軸即(0,0)旋轉

 以下是我根據任意角度的一張人臉得到的正向旋轉45度的人臉特徵點