正在加载图片...
第2章时域中的离散信号和系统 态角:方位角、俯仰角和倾侧角。左下方还有【静态】和【动态】两个复选钮,我们只介绍【静 态】,读者可自行试用【动态】进行演示。 用健入参数或移动标尺的方法分别给,w赋值并回车后,就可以得出相应的飞行器姿态 同时出现一根蓝色的线表示合成旋转的转轴。 本例用数值来讨论这个程序的实现方法。先把飞行器的三维图像用N个顶点的三维坐标描 述,写成一个3xW的数据矩阵G。其顶点次序要适当安排,使得用lo心命令时按顶点连线能 绘制出飞行器的外观。 例如,以下的程序(pla607前半部分) 即可画出一个最简单的飞行器立体图,如图6-8所示。 Gw=[4,3,0;4,3,0:0,7,0;4,3,0]': 名主翼的顶点坐标 Gt=[0, 2.0.0 3,3:0,2,0:0,3,01' 尾翼的顶点坐标 图7-15 用G面出的飞行器 G=【Gw,Gt1 多整个飞行器外形的数据集 p1ot3(Gw(1,:),Gw(2,:),Gw(3,:),'r),ho1don p1ot3(Gt(1,:),Gt(2,:),Gt(3,:),'g'), 运行此特出整个飞行器外形的数据集为 4 40-4 0000 G=-3-37-3-3-32-3 (7.14.1) 00000300 飞行器围绕各个轴旋转的结果,表现为各个顶点坐标发生变化,也就是G的变化。只要把 三种姿态的变换矩阵Y,P和R乘以图形数据矩阵G即可。其中 cosu sinu 0 100 cosy 0 -siny Y=-sinu cosu 0,R=0 cosw -sin w P=010 (7.14.2) 01 0 sinw cosw siny 0 cosy 如果三个姿态角都变化,转动的次序为:先滚动R,再倾斜P,最后偏航Y,则最后的图像 数据成为G=YG=YPG=YPRG=QG。最后变换矩阵成为 n usin w-cosusin ycosw usin vsin -cosusin cosvsinw (7.14.3) 由于矩阵乘法不服从交换律,转动次序不同时结果也不同。这个过程可以用手工计算,也 可以用MATLAB程序来实现。程序pla7I4半部分如下 syms u w Y=[cos(u),sin(u),0:sin(u),cos(u).0:0.0.1)] R=[1,0,0:0,cos(w),sin(w):0,sin(w),cos(w)] P=[cos(v),0,sin(v):0,1,0:sin(v),0,cos(v)] 2= P*E 这里采用了符号运算工具箱以得到普遍的公式。当设定了4,”,w的具体数值后,例如,“=π4 v=0,w=π/3,要求出Q矩阵的数字结果时,要用subs(代换)命令: A=subs (Q,(u,v,w},(pi/4,0,pi/3)) 行10.3536 -0.6124 A -0.70710.3536-0.6124 我们知道,二银矩例式代表的是两个向量组成的平行四边形的面积,三维变换 13第 2 章 时域中的离散信号和系统 ·13· 13 态角: 方位角、俯仰角和倾侧角。左下方还有【静态】和【动态】两个复选钮,我们只介绍【静 态】,读者可自行试用【动态】进行演示。 用键入参数或移动标尺的方法分别给 u,v,w 赋值并回车后,就可以得出相应的飞行器姿态, 同时出现一根蓝色的线表示合成旋转的转轴。 本例用数值来讨论这个程序的实现方法。先把飞行器的三维图像用 N 个顶点的三维坐标描 述,写成一个 3N 的数据矩阵 G。其顶点次序要适当安排,使得用 plot3 命令时按顶点连线能 绘制出飞行器的外观。例如,以下的程序(pla607 前半部分) 即可画出一个最简单的飞行器立体图,如图 6-8 所示。 Gw=[ 4, 3,0;4, 3,0;0,7,0; 4, 3,0]'; % 主翼的顶点坐标 Gt=[0, 3,0;0, 3,3;0,2,0;0, 3,0]'; 尾翼的顶点坐标 G=[Gw,Gt] % 整个飞行器外形的数据集 plot3(Gw(1,:),Gw(2,:),Gw(3,:),'r'),hold on plot3(Gt(1,:),Gt(2,:),Gt(3,:),'g'), axis equal 运行此程序得出整个飞行器外形的数据集为 4 4 0 4 0 0 0 0 3 3 7 3 3 3 2 3 0 0 0 0 0 3 0 0   − −   = − − − − − −       G (7.14.1) 飞行器围绕各个轴旋转的结果,表现为各个顶点坐标发生变化,也就是 G 的变化。只要把 三种姿态的变换矩阵 Y, P 和 R 乘以图形数据矩阵 G 即可。其中 cos sin 0 sin cos 0 0 0 1 u u u u     = −      Y , 1 0 0 0 cos sin 0 sin cos w w w w     = −       R , cos 0 sin 0 1 0 sin 0 cos v v v v   −   =       P (7.14.2) 如果三个姿态角都变化,转动的次序为: 先滚动 R,再倾斜 P,最后偏航 Y,则最后的图像 数据成为 Gf = Y G2 = Y P G1 = YP RG = QG。最后变换矩阵成为 cos cos sin cos cos sin sin sin sin cos sin cos sin cos cos cos sin sin sin cos sin sin sin cos sin cos sin cos cos u v u w u v w u w u v w u v u w u v w u w u v w v v w v w   − − −   = − + − +       Q (7.14.3) 由于矩阵乘法不服从交换律,转动次序不同时结果也不同。这个过程可以用手工计算,也 可以用 MATLAB 程序来实现。程序 pla714 半部分如下: syms u w v Y=[cos(u),sin(u),0;sin(u), cos(u),0;0,0,1)] R=[1,0,0;0,cos(w),sin(w);0,sin(w),cos(w)] P=[cos(v),0,sin(v);0,1,0;sin(v),0,cos(v)] Q=Y*P*R 这里采用了符号运算工具箱以得到普遍的公式。当设定了 u,v,w 的具体数值后,例如,u = /4, v = 0, w = /3,要求出 Q 矩阵的数字结果时,要用 subs(代换)命令: A=subs(Q,{u,v,w},{pi/4,0,pi/3}) 运行结果为 0.7071 0.3536 0.6124 0.7071 0.3536 0.6124 0 0.8660 0.5000   −   = − −       A 我们知道,二维变换矩阵的行列式代表的是两个向量组成的平行四边形的面积,三维变换 图 7-15 用 G 画出的飞行器
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有