CAD模型旋转的矩阵应用数值实验讲解.docx
- 文档编号:10316330
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:16
- 大小:124.78KB
CAD模型旋转的矩阵应用数值实验讲解.docx
《CAD模型旋转的矩阵应用数值实验讲解.docx》由会员分享,可在线阅读,更多相关《CAD模型旋转的矩阵应用数值实验讲解.docx(16页珍藏版)》请在冰豆网上搜索。
CAD模型旋转的矩阵应用数值实验讲解
CAD模型旋转的矩阵应用数值实验
郑发进2012042020022
【摘要】计算机辅助设计(ComputerAidedDesign)指利用计算机及其图形设备帮助设计人员进行设计工作。
CAD有着广泛的应用领域,在全球500强企业中有90%的企业均使用,它来做辅助设计,在世界上其已成为衡量一个国家科技现代化和工业化现代化的重要标志之一。
由m×n个数按一定顺序排成的m行n列的矩形数表称为矩阵,而向量则是由n个有序的数所组成的数组。
故矩阵中的行可以看作是行向量,列可以看作是列向量。
所以,可以说向量是矩阵的一部分。
关键字CAD、CAD模型旋转、矩阵、向量
1、实验目的
1.熟练掌握CAD模型旋转的操作。
2.掌握矩阵与向量之间的关系,并掌握矩阵与矩阵、矩阵与向量、向量与向量之间的计算方法。
3.掌握实现以上目的的编程技巧。
二、实验原理
1.CAD
计算机辅助设计(ComputerAidedDesign)指利用计算机及其图形设备帮助设计人员进行设计工作。
广泛应用于土木建筑、装饰装潢、城市规划、园林设计、电子电路、机械设计、服装鞋帽、航空航天、轻工化工等诸多领域。
在设计中通常要用计算机对不同方案进行大量的计算、分析和比较,以决定最优方案;各种设计信息,不论是数字的、文字的或图形的,都能存放在计算机的内存或外存里,并能快速地检索;设计人员通常用草图开始设计,将草图变为工作图的繁重工作可以交给计算机完成;由计算机自动产生的设计结果,可以快速作出图形,使设计人员及时对设计作出判断和修改;利用计算机可以进行与图形的编辑、放大、缩小、平移、复制和旋转等有关的图形数据加工工作。
其主要包括交互技术、图形变换技术。
曲面造型和实体造型技术等。
在计算机辅助设计中,交互技术是必不可少的。
交互式CAD系统,指用户在使用计算机系统进行设计时,人和机器可以及时地交换信息。
采用交互式系统,人们可以边构思、边打样、边修改,随时可以从图形终端屏幕上看到每一步操作的显示结果,非常直观。
图形变换的主要功能是把用户坐标系和图形输出设备的坐标系联系起来;对图形作平平移、旋转、缩放、透视变换;通过矩阵运算来实现图形变换。
计算机设计自动化计算机自身的CAD,旨在实现计算机自身设计和研制过程的自动化或半自动化。
研究内容包括功能设计自动化和组装设计自动化,涉及计算机硬件描述语言、系统级模拟、自动逻辑综合、逻辑模拟、微程序设计自动化、自动逻辑划分、自动布局布线,以及相应的交互图形系统和工程数据库系统。
集成电路CAD有时也列入计算机设计自动化的范围。
2.CAD模型旋转
图形变换的主要功能是把用户坐标系和图形输出设备的坐标系联系起来;对图形作平平移、旋转、缩放、透视变换;通过矩阵运算来实现图形变换。
3.矩阵与向量
矩阵是现代数学的一个强有力的工具,应用非常广泛。
矩阵和向量都有相应的线性运算,二者都满足交换律和结合律。
矩阵作为线性代数中一种重要的工具,使得向量在运算过程中也大量的应用了矩阵的运算方法。
而且矩阵的秩就等于其相应的行向量的秩,故在向量中与秩有关的相应的诸如极大线性无关组的求法之类的问题都可用矩阵的相应性质来求解。
矩阵等价与向量等价之间没有必然的联系。
两个矩阵等价只需要两矩阵经过初等变换后的秩相等即可,但向量的等价却需要两个向量组可以相互表示。
故就实际运算而言,向量等价的证明是比较麻烦的。
既然二者之间没有必然的联系,那很明显,在证明向量等价的时候没必要用到矩阵等价的关系,同理,在证明矩阵等价的时候也没必要用到向量等价的关系,二者都需按其定义来进行证明。
就实际应用而言,矩阵的用途要比向量大。
矩阵能用来计算统计交通流量,工程等复杂的问题,而向量只可能在矩阵具体应用中起到一定的作用,算是矩阵的一种特殊应用吧。
3、实验内容
1.P93.1.
单位立方体位于第一卦限,一个顶点在原点。
首先,以角度
沿y轴旋转立方体,然后再以角度
沿z轴旋转立方体。
求旋转后立方体的8个顶点的坐标,并与例3.10的结果比较。
它们的区别是什么?
试通过矩阵一般不满足交换律的事实进行解释。
使用plot3命令画出3个图形。
2.P93.2.
设单位立方体位于第一卦限,其中一个顶点位于坐标原点。
首先以角度
沿x轴旋转立方体,然后再以角度
沿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个立方体。
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)判断i>100是否成立,若成立,执行步骤(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)判断i>100是否成立,若成立,执行步骤(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。
图1.1(左上)初始立方体
图1.2(右上)
,沿y轴旋转
图1.3(左下)
沿z轴旋转
表1.1:
第一次旋转后立方体的坐标
X
0
0.8660
0.8660
0
0.5000
0.5000
1.3660
1.3660
Y
0
0
1.0000
1.0000
1.0000
0
0
1.0000
Z
0
-0.5000
-0.5000
0
0.8660
0.8660
0.3660
0.3660
表1.2:
第二次旋转后立方体的坐标
X
0
0.6124
-0.0947
-0.7071
-0.3536
0.3536
0.9659
0.2588
Y
0
0.6124
1.3195
0.7071
1.0607
0.3536
0.9659
1.6730
Z
0
-0.5000
-0.5000
0
0.8660
0.8660
0.3660
0.3660
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)判断i>100是否成立,若成立,执行步骤(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)判断i>100是否成立,若成立,执行步骤(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。
图2.1(左上)单位立方体
图2.2(右上)第一次旋转
图2.3(左下)第2次旋转
表2.1:
第一次旋转后立方体坐标
X
0
1
0
0
1
1
0
1
Y
0
0
0.9659
-0.2588
0.9659
-0.2588
0.7071
0.7071
Z
0
0
0.2588
0.9659
0.2588
0.9659
1.2247
1.2247
表2.2:
第二次旋转后立方体坐标
X
0
0.8660
-0.4830
0.1294
0.3831
0.9954
-0.3536
0.5125
Y
0
0.5000
0.8365
-0.2241
1.3365
0.2759
0.6124
1.1124
Z
0
0
0.2588
0.9659
0.2588
0.9659
1.2247
1.2247
2.P93.3
算法:
(1)令X=zeros(8,3);X([5:
8,11,12,15,16,18,20,22,24])=1;d=[1243156875624873];i=0。
(2)判断i>100是否成立,若成立,执行步骤(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)判断i>100是否成立,若成立,执行步骤(4);若不成立,r2=[cos(i*pi/600)-sin(i*pi/600)0;sin(i*pi/600)cos(i*pi/600)0;001];W=U*r2'plot3(W(d,1),W(d,2),W(d,3));drawnow,i=i+1,返回步骤(3).
(5)i=0.
(6)判断i>100是否成立,若成立,执行步骤(7);若不成立,r3=[100;0cos(i*2.7/100)-sin(i*2.7/100);0sin(i*2.7/100)cos(i*2.7/100)];T=W*r3';
plot3(T(d,1),T(d,2),T(d,3));drawnow,i=i+1,返回步骤(6)
(7)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));subplot(2,2,4);plot3(T(d,1),T(d,2),T(d,3));xlabel('x');ylabel('y');zlabel('z');view(3);rotate3d。
图1.1(左上)正四面体
图1.2(右上)第一次旋转
图3.3(左下)第二次旋转
图3.4(右下)第4次旋转
表3.1四面体坐标
X
0
1
0
0
Y
0
0
1
0
Z
0
0
0
1
表3.2第一次旋转后坐标
X
0
0.9888
0
0.1494
Y
0
0
1.0000
0
Z
0
-0.1494
0
0.9888
表3.3第二次旋转后坐标
X
0
0.0699
0.9975
0.0106
Y
0
-0.9863
0.0707
-0.1491
Z
0
-0.1494
0
0.9888
表3.4第三次旋转后坐标
X
0
0.0699
0.9975
0.0106
Y
0
0.9555
-0.0640
-0.2878
Z
0
-0.2864
0.0302
-0.9576
5、实验结论
多边形的定点可以用矩阵来表示,而旋转的角度也可以通过矩阵表示。
附件(代码):
1.P93.1:
X=zeros(8,3);
X([5:
8,11,12,15,16,18,20,22,24])=1;
d=[1243156875624873];
fori=0:
1:
100
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
end
fori=0:
1:
100
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
end
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;
2.P93.2
X=zeros(8,3);
X([5:
8,11,12,15,16,18,20,22,24])=1;
d=[1243156875624873];
fori=0:
1:
100
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
end
fori=0:
1:
100
r2=[cos(i*pi/600)-sin(i*pi/600)0;sin(i*pi/600)cos(i*pi/600)0;001];
W=U*r2';
plot3(W(d,1),W(d,2),W(d,3));
drawnow
xlabel('x')
ylabel('y')
zlabel('z')
end
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));
view(3);rotate3d;
xlabel('x')
ylabel('y')
zlabel('z')
3.P93.3
X=zeros(4,3);
X([2,7,12])=1;
d=[12341324];
fori=0:
1:
100
r1=[cos(i*0.15/100)-sin(i*0.15/100)0;010;-sin(i*0.15/100)0cos(i*0.15/100)];
U=X*r1';
plot3(U(d,1),U(d,2),U(d,3));
drawnow
end
fori=0:
1:
100
r2=[cos(-i*1.5/100)-sin(-i*0.15/100)0;sin(-i*0.15/100)cos(-i*0.15/100)0;001];
W=U*r2';
plot3(W(d,1),W(d,2),W(d,3));
drawnow
end
fori=0:
1:
100
r3=[100;0cos(i*2.7/100)-sin(i*2.7/100);0sin(i*2.7/100)cos(i*2.7/100)];
T=W*r3';
plot3(T(d,1),T(d,2),T(d,3));
drawnow
end
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));
subplot(2,2,4);
plot3(T(d,1),T(d,2),T(d,3));
view(3);rotate3d;
xlabel('x')
ylabel('y')
zlabel('z')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD 模型 旋转 矩阵 应用 数值 实验 讲解