您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > CAD模型旋转的矩阵应用数值实验
《数值方法》实验报告1CAD模型旋转的矩阵应用数值实验郑发进2012042020022【摘要】计算机辅助设计(ComputerAidedDesign)指利用计算机及其图形设备帮助设计人员进行设计工作。CAD有着广泛的应用领域,在全球500强企业中有90%的企业均使用,它来做辅助设计,在世界上其已成为衡量一个国家科技现代化和工业化现代化的重要标志之一。由m×n个数按一定顺序排成的m行n列的矩形数表称为矩阵,而向量则是由n个有序的数所组成的数组。故矩阵中的行可以看作是行向量,列可以看作是列向量。所以,可以说向量是矩阵的一部分。关键字CAD、CAD模型旋转、矩阵、向量一、实验目的1.熟练掌握CAD模型旋转的操作。2.掌握矩阵与向量之间的关系,并掌握矩阵与矩阵、矩阵与向量、向量与向量之间的计算方法。3.掌握实现以上目的的编程技巧。二、实验原理1.CAD计算机辅助设计(ComputerAidedDesign)指利用计算机及其图形设备帮助设计人员进行设计工作。广泛应用于土木建筑、装饰装潢、城市规划、园林设计、电子电路、机械设计、服装鞋帽、航空航天、轻工化工等诸多领域。在设计中通常要用计算机对不同方案进行大量的计算、分析和比较,以决定最优方案;各种设计信息,不论是数字的、文字的或图形的,都能存放在计算机的内存或外存里,并能快速地检索;设计人员通常用草图开始设计,将草图变为工作图的繁重工作可以交给计算机完成;由计算机自动产生的设计结果,可以快速作出图形,使设计人员及时对设计作出判断和修改;利用计算机可以进行与图形的编辑、放大、缩小、平移、复制和旋转等有关的图形数据加工工作。其主要包括交互技术、图形变换技术。曲面造型和实体造型技术等。在计算机辅助设计中,交互技术是必不可少的。交互式CAD系统,指用户在使用计算机系统进行设计时,人和机器可以及时地交换信息。采用交互式系统,《数值方法》实验报告2人们可以边构思、边打样、边修改,随时可以从图形终端屏幕上看到每一步操作的显示结果,非常直观。图形变换的主要功能是把用户坐标系和图形输出设备的坐标系联系起来;对图形作平平移、旋转、缩放、透视变换;通过矩阵运算来实现图形变换。计算机设计自动化计算机自身的CAD,旨在实现计算机自身设计和研制过程的自动化或半自动化。研究内容包括功能设计自动化和组装设计自动化,涉及计算机硬件描述语言、系统级模拟、自动逻辑综合、逻辑模拟、微程序设计自动化、自动逻辑划分、自动布局布线,以及相应的交互图形系统和工程数据库系统。集成电路CAD有时也列入计算机设计自动化的范围。2.CAD模型旋转图形变换的主要功能是把用户坐标系和图形输出设备的坐标系联系起来;对图形作平平移、旋转、缩放、透视变换;通过矩阵运算来实现图形变换。3.矩阵与向量矩阵是现代数学的一个强有力的工具,应用非常广泛。矩阵和向量都有相应的线性运算,二者都满足交换律和结合律。矩阵作为线性代数中一种重要的工具,使得向量在运算过程中也大量的应用了矩阵的运算方法。而且矩阵的秩就等于其相应的行向量的秩,故在向量中与秩有关的相应的诸如极大线性无关组的求法之类的问题都可用矩阵的相应性质来求解。矩阵等价与向量等价之间没有必然的联系。两个矩阵等价只需要两矩阵经过初等变换后的秩相等即可,但向量的等价却需要两个向量组可以相互表示。故就实际运算而言,向量等价的证明是比较麻烦的。既然二者之间没有必然的联系,那很明显,在证明向量等价的时候没必要用到矩阵等价的关系,同理,在证明矩阵等价的时候也没必要用到向量等价的关系,二者都需按其定义来进行证明。就实际应用而言,矩阵的用途要比向量大。矩阵能用来计算统计交通流量,工程等复杂的问题,而向量只可能在矩阵具体应用中起到一定的作用,算是矩阵的一种特殊应用吧。三、实验内容1.P93.1.单位立方体位于第一卦限,一个顶点在原点。首先,以角度6沿y轴旋转立方体,然后再以角度4沿z轴旋转立方体。求旋转后立方体的8个顶点的坐标,并与例3.10的结果比较。它们的区别是什么?试通过矩阵一般不满足交换律的事实进行解释。使用plot3命令画出3个图形。2.P93.2.《数值方法》实验报告3设单位立方体位于第一卦限,其中一个顶点位于坐标原点。首先以角度12沿x轴旋转立方体,然后再以角度6沿z轴旋转立方体。求旋转后立方体的8个顶点的坐标。使用plot3画出这3个立方体。3.P93.3.四面体的坐标为(0,0,0),(1,0,0),(0,1,0),(0,0,1)。首先以弧度0.15沿y轴旋转,然后再以弧度-1.5沿z轴旋转,最后以弧度2.7沿x轴旋转。求旋转后的顶点坐标。使用plot3画出这4个立方体。四、实验结果及分析1.P93.1:算法:(1)令X=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1243156875624873];i=0。(2)判断i100是否成立,若成立,执行步骤(3);若不成立,r1=[cos(i*pi/600)-sin(i*pi/600)0;010;-sin(i*pi/600)0cos(i*pi/600)];U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnow,i=i+1,返回步骤(2).\(3)i=0.(4)判断i100是否成立,若成立,执行步骤(4);若不成立,r2=[cos(i*pi/400)-sin(i*pi/400)0;sin(i*pi/400)cos(i*pi/400)0;001];W=U*r2';plot3(W(d,1),W(d,2),W(d,3));drawnow,i=i+1,返回步骤(3).(5)subplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3);plot3(W(d,1),W(d,2),W(d,3));xlabel('x');ylabel('y');zlabel('z');view(3);rotate3d。《数值方法》实验报告4startX=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1243156875624873];i=0i100r1=[cos(i*pi/600),-sin(i*pi/600),0;0,1,0;-sin(i*pi/600,0,cos(i*pi/600)];U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnowi=0.i100r2=[cos(i*pi/400),-sin(i*pi/400),0;sin(i*pi/400),cos(i*pi/400),0;0,0,1];W=U*r2';plot3(W(d,1),W(d,2),W(d,3));drawnowsubplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3);plot3(W(d,1),W(d,2),W(d,3));xlabel('x');ylabel('y');zlabel('z');view(3);rotate3doutputendYYNNi=i+1i=i+1《数值方法》实验报告500.5100.5100.51-10100.51012-202-202012xyz图1.1(左上)初始立方体图1.2(右上)()6yVRU,沿y轴旋转图1.3(左下)()4xWRV沿z轴旋转表1.1:第一次旋转后立方体的坐标X00.86600.866000.50000.50001.36601.3660Y001.00001.00001.0000001.0000Z0-0.5000-0.500000.86600.86600.36600.3660《数值方法》实验报告6表1.2:第二次旋转后立方体的坐标2.P93.2算法:(1)令X=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1243156875624873];i=0。(2)判断i100是否成立,若成立,执行步骤(3);若不成立,r1=[100;0cos(i*pi/1200)-sin(i*pi/1200);0sin(i*pi/1200)cos(i*pi/1200)];;U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnow,i=i+1,返回步骤(2).\(3)i=0.(4)判断i100是否成立,若成立,执行步骤(4);若不成立,r2=[cos(i*pi/600)-sin(i*pi/600)0;sin(i*pi/600)cos(i*pi/600)0;001];plot3(W(d,1),W(d,2),W(d,3));drawnow,i=i+1,返回步骤(3).(5)subplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3);plot3(W(d,1),W(d,2),W(d,3));xlabel('x');ylabel('y');zlabel('z');view(3);rotate3d。X00.6124-0.0947-0.7071-0.35360.35360.96590.2588Y00.61241.31950.70711.06070.35360.96591.6730Z0-0.5000-0.500000.86600.86600.36600.3660《数值方法》实验报告7startX=zeros(8,3);X([5:8,11,12,15,16,18,20,22,24])=1;d=[1243156875624873];i=0i100r1=[1,0,0;0,cos(i*pi/1200),-sin(i*pi/1200);0,sin(i*pi/1200),cos(i*pi/1200)];U=X*r1';plot3(U(d,1),U(d,2),U(d,3));drawnowi=0.i100r2=[cos(i*pi/600),-sin(i*pi/600),0;sin(i*pi/600),cos(i*pi/600),0;0,0,1];plot3(W(d,1),W(d,2),W(d,3));W=U*r2';plot3(W(d,1),W(d,2),W(d,3));drawnowsubplot(2,2,1);plot3(X(d,1),X(d,2),X(d,3))subplot(2,2,2);plot3(U(d,1),U(d,2),U(d,3));subplot(2,2,3);plot3(W(d,1),W(d,2),W(d,3));xlabel('x');ylabel('y');zlabel('z');view(3);rotate3doutputendYYNNi=i+1i=i+1《数值方法》实验报告800.5100.5100.5100.51-101012-101-202012xyz图2.1(左上)单位立方体图2.2(右上)第一次旋转图2.3(左下)第2次旋转表2.1:第一次旋转后立方体坐标表2.2:第二次旋转后立方体坐标X01001101Y000.9659-0.25880.9659-0.25880.70710.7071Z000.25880.96590.25880.96591.22471.2247X00.8660-0.48300.12940.38310.9954-0.35360.5125Y00.50000.8365-0.22411.33650.27590.61241.1124Z000.25880.96590.25880.96591.22471.2247《数值方法》实验报告92.P93.3算法:(1)令X=zeros(8,3)
本文标题:CAD模型旋转的矩阵应用数值实验
链接地址:https://www.777doc.com/doc-2902909 .html