matlab 矩阵旋转变换矩阵,matlab 矩阵与线性变换与计算.ppt

matlab 矩阵与线性变换与计算

第五章:矩阵与线性变换

1

有限维空间的线性变换是简单而常用的数学变换,其实现可以归结为矩阵运算

y=Ax

刚体的运动,物体的线性变形,光线的反射等,都可以归结为线性变换。较复杂的运动,当运动幅度很小时,如物体的小幅振动,也可以利用线性微分方程作近似刻画,其离散解可以归结为一系列线性变换。

2

对于非线性问题,通常可以利用一系列线性变换来逼近。如非线性方程组

可以利用Newton迭代法逐步逼近问题的解

其中矩阵 是F的Jacobi矩阵的逆矩阵。

3

刚体的平移、旋转和镜面映射

刚体的旋转

刚体的旋转可以利用旋转变换实现。例如,围绕z轴的旋转的旋转变换矩阵为

如果一个物体同时围绕两个轴转动,(如陀螺的运动),则变换可以由两个矩阵的乘积实现。

4

例5.1:螺线的绕z轴旋转。

考虑螺线方程

x=cost, y=sint, z=at 0t2

对给定的节点 0

而 TzX 则是旋转后的数据。

5

螺线绕z轴旋转的动画参考程序

function rotation1

%rotation around z-axis

clear

%forming the parametric curve

cita=pi/20;

t=0:pi/10:10*pi;

x=cos(t);

y=sin(t);

z=0.2*t;

%rotation operator

A=[cos(cita) -sin(cita) 0

sin(cita) cos(cita) 0

0 0 1];

6

%initial figure

h=line(x,y,z,'EraseMode', 'Xor',... 'LineWidth',8,'Color', [1 0 0]);

view(90,20)

axis off

axis equal

xlim([-1.5,1.5]);ylim([-1.5,1.5]);zlim([0,pi])

% motion figure

m=length(t);X=[x;y;z]';

while 1

X=X*A; set(h,'XData',X(1:m),'YData',...

X(m+1:2*m),'XData',X(2*m+1:3*m))

drawnow

pause(0.1)

end

7

注1:由于线性变换不能作平移运动,因此,一般刚体的运动不能通过线性变换完成。解决这一问题的做法是引入齐次坐标

来代换普通坐标 。齐次坐标的含义是其乘以任意非零常数表示同一坐标。例如

8

利用上述坐标,一般的刚体运动

可以描写为

9

注2:围绕给定方向单位向量 ,旋转角为 的旋转变换矩阵为

其中

10

镜面映射

镜面映射变换为

其中x是垂直于镜面的单位向量。

设任意向量y分解为平行于x的分量y1和垂直于x的分量y2,则

即以垂直于x的过原点的平面为映射镜面。

11

例5.2:将上一实验中的旋转螺线沿x轴偏移两个单位,然后以yoz平面为镜面作镜面映射。

%rotation around z-axis

clear

%forming the parametric curve

cita=pi/20;

t=[0:pi/10:10*pi]';m=length(t);

x=cos(t);

y=sin(t);

z=0.2*t;

%rotation operator

A=[cos(cita) -sin(cita) 0

sin(cita) cos(cita) 0

0 0 1];

12

%mirror operator

d=[1 0 0];

B=[eye(3)-2*d'*d]';

%initial figure

h=line(x-2,y,z,'EraseMode', 'Xor',... 'LineWidth',8,'Color', [1 0 0]);

view(158,26)

axis equal

xlim([-3,3])

ylim([-1.5,1.5])

zlim([0,2*pi])

X1=[x-2,y,z]*B;

h1=line(X1(1:m),X1(m+1:2*m),X1(2*m+1:end),...

'EraseMode', 'Xor', 'LineWidth',8,'Color', [0 1 0]);

13

% motion figure

X=[x,y,z];

while 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值