毕业设计基于OpenGL的机器人三维仿真环境设计_第1页
毕业设计基于OpenGL的机器人三维仿真环境设计_第2页
毕业设计基于OpenGL的机器人三维仿真环境设计_第3页
毕业设计基于OpenGL的机器人三维仿真环境设计_第4页
毕业设计基于OpenGL的机器人三维仿真环境设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 shanghai university 毕业设计(论文)undergraduate project (thesis)题 目: 基于opengl的机器人三维仿真环境设计学 院: 机电工程与自动化学院 专 业: 机械工程及自动化 目 录摘要:-1 abstract-11第一章 绪论-42第二章 基于opengl的三维仿真图形设计-83第三章 仿人机器人的三维建模-194第四章 仿人机器人运动学仿真-295第五章 总结-466 致谢-477 参考文献-48基于opengl的机器人三维仿真环境设计摘要仿真技术是机器人研究领域中的一个重要部分,随着机器人研究的不断深入,机器人仿真系统作为机器人设计和研

2、究过程中安全可靠灵活方便的工具,发挥着越来越重要的作用。本文对基于opengl的机器人三维仿真环境设计进行研究,学习了机器人运动学基础和opengl设计机器人仿真技术,并在visual c+ 6.0编程环境中实现仿人机器人仿真。在论文安排上,先简要介绍了opengl,然后详细描述了本课题的难点仿人机器人的三维建模,阐述了程序流程和实现过程,然后根据机器人运动学对本课题设计的机器人模型进行了运动学分析,在根据分析结果对仿真系统开发和调试,最终实现仿人机器人的动作仿真。关键词:opengl;仿人机器人;三维仿真abstractrobot simulation is a hot topic in r

3、obotics research. with the growing development of various robotic systems, robot simulation plays a more and more important role as a safe, reliable, flexible and convenient tool in the robot designing and research process.in this thesis, we learn the basic robot kinematics and design on opengl-base

4、d robot simulation system. a three-dimensional humanoid robot has been developed using visual c+ 6.0.the thesis is organized as follows. we firstly introduce opengl technology and describe the difficulty of this research in detail. secondly, we present a three dimensional model for humanoid robots a

5、nd describe the implementation process. then we conduct kinematics analysis of the robot. finally, we implement the 3d humanoid robot simulation environment based on the proposed 3d model and associated kinematics analysis results.keywords: opengl; humanoid robot; three-dimensional simulation第一章 绪论第

6、一节 仿人机器人一、仿人机器人简介机器人作为机械制造业和信息产业结合的产物,正越来越广泛地应用于机械、汽车、军工、航空航天、造船、计算机、光学仪器、通信设备等行业,在很大程度上替代了人们的体力劳动,如制造、搬运、焊接以及其它各种危险、恶劣环境下的工作。其中仿人机器人是外观和功能与人一样的智能机器人,能像人一样活动,有人的行为,仿人机器人能运动、甚至自己去“想”,会思考。研制出外观和功能与人一样的仿人机器人是现代科技发展的结果。全新组装的仿人机器人全身布满了感应器,让它可以根据感应到的声音和动作做出适当反应,也让它对于光线和触觉的反应更加灵敏。 二 、仿人机器人的现状,发展及应用仿人机器人目前的

7、主要产品包括日本索尼公司的qrio(图1.1)、富士通公司的hoap2(图1.2)和本田公司的asimo图(1.3)。图1.1 日本索尼公司的qrio机器人图1.2富士通公司的hoap2机器人图1.3 本田公司的asimo机器人仿人机器人是开发难度最高的机器人之一,因为大家希望从它身上看到人的表情和反应。目前,仿人机器人可以用于娱乐和服务。科学家们正在开发更智能的软件,使机器人能和人交流并具备学习能力。从某种角度说,仿人机器人的研发是真正考验人类智慧的行为。第二节 机器人仿真系统的概况计算机仿真是伴随着计算机的发展而形成的一门学科。它的研究起源于20世纪70年代,但由于受计算机软硬件水平的影响

8、,很难得到广泛应用。它一般设计和构造一个客观世界某一系统的数理逻辑模型,并借助计算机对该模型进行实验的过程。对机器人进行计算机仿真是凭借计算机这一现代化工具研究机器人仿真的有效手段。在机器人的研制、设计和试验过程中,需要经常对机器人进行运动分析,而机器人是多自由度、多连杆的空间机构,其运动学十分复杂,用手工计算不仅十分困难,而且极易出错,通常只有通过这种复杂系统的仿真,才能解答机器人设计、制造、试验阶段及运行过程中出现的问题。随着机器人研究的不断深入和机器人领域的不断发展,机器人仿真系统作为机器人设计和研究的安全可靠灵活方便的工具,发挥着很重要的作用,它可以应用于机器人的许多方面。仿真技术是机

9、器人研究领域中的一个重要部分,随着机器人研究的不断深入和机器人领域的不断发展,机器人仿真系统作为机器人设计和研究过程中安全可靠灵活方便的工具,发挥着越来越重要的作用。要开发一个成功的机器人仿真系统,需要强而有力的开发工具。在当前众多的开发工具中,opengl是非常实用方便的一种。opengl是在sgi、microsoft、dec、ibm、intel等多家世界著名计算机公司的倡导下,基于sgi的gl(graphical library)标准,制定的一个通用共享的开发三维图形标准。microsoft公司首先将opengl图形库链接到windows nt中和windows95上,这使得广大pc机用户

10、可以使用opengl方便的开发功能和强大的图形程序。opengl是一个开放的三维图形软件包,独立于窗口系统和操作系统,能十分方便地在各平台间移植。它包含100多个库函数。windows95中文版下的opengl还支持其它4类函数;43个opengl实用库函数;31个opengl辅助库函数;6个windows专用库函数以及5个win32api函数。opengl能提供以下一些基本功能:模型绘制;模型观察;颜色模式的指定;光照应用;图象效果增强;位图和图像处理;纹理映射;实时动画;交互技术等。由于opengl的作用机制是客户(client)/服务器(sever)机制,因此它是网络透明的,可以十分方便

11、地在网络环境下使用。此外,可以在visual c+ 6.0下,利用mfc类库作为opengl与windows95的接口,编译出动态链接库,以供用户的其他应用程序调用。在microsoft公司在其windows95/nt操作系统中支持opengl之前,只在昂贵的图形工作站上才能运行opengl应用程序。随着支持opengl的图形加速卡的出现和微机性能的提高,opengl在微机平台上也将广泛的应用。这将促进快速开发高效、低成本的机器人仿真系统2。第三节 本课题研究内容和目标本课题研究opengl在仿人机器人仿真中的应用及其实现方法,利用opengl卓越的渲染功能对场景和机器人进行绘制,形成具有高度

12、真实感的三维仿真环境。仿真环境可以实现机器人模型的创建、动画仿真,从而实现仿人机器人的离线编程与仿真。建立小型仿人机器人三维仿真模型,能实现机器人行走、弯腰等简单动作。实现机器人模型的创建、动画仿真,从而实现仿人机器人的离线编程与仿真。第二章 基于opengl的三维仿真图形设计第一节 opengl概述一 、opengl图形库opengl是sgi公司开发的一套高性能的图形处理系统,是图形硬件的软件界面,gl即代表图形库(graphics library)。通过opengl程序员可以创建交互式应用程序,实现具有逼真效果的三维图形图像,从而在要求高度模拟真实世界的诸多领域中都可以大显身手。现在ope

13、ngl已被认为是高性能图形和交互式视景处理的标准。在三维仿真建模、虚拟现实技术等领域,opengl发挥着重要的作用1。opengl事实上是一个3d图形开发包,是图形硬件的软件接口,由几百个指令或函数组成。对程序员而言,opengl是一些指令或函数的集合,这些指令允许对二维对象或三维几何对象进行说明,允许用户对对象实施操作以便把这些对象着色到帧存上。对于opengl的实现者而言,opengl是影响图形硬件操作的指令集合。如果硬件仅仅包括一个可以寻址的帧存,那么opengl就不得不几乎完全在cpu上实现对象的描绘。二、opengl的工作结构opengl的指令解释模型是客户/服务器模式,即客户(试图

14、用opengl进行绘制工作的应用程序)向服务器(opengl内核)发布命令,这些opengl命令则是由服务器来解释的。一般来说,客户和服务器是运行于同一台计算机上的。这种基于客户机/服务器的模式,在网络环境下很容易使用opengl,且在不同计算机上的客户可以得到其他计算机上服务器的服务。这样opengl具有网络透明性。opengl的库函数被封装在opengl32.dll动态链接库中。从客户应用程序发布的对opengl函数的调用首先被opengl32.dll处理,在传给服务器后,被winsry.dll进一步进行处理,然后传递给ddi(devicedriveinterfaee),最后传递给视频显示

15、驱动程序。图2.1显示了这一过程客户应用程序opengl dll服务器 dllwin32 dll视频驱动程序opengl 指令客户服务器图2.1 windows环境下opengl的工作结构三、opengl的工作过程作为图形硬件的软件接口,opengl的最主要的工作就是将二维或三维物体描绘至帧缓存。这些物体由一系列的描述物体几何性质的顶点(vertex)或描述图像的像素组成。opengl执行一系列的操作把这些数据最终转化成像素数据并在帧存中形成最后的结果。下面概要性介绍opengl工作:1、 图元操作与指令opengl由一组顶点定义。该组顶点既可以只包括一个顶点,也可以包括多个顶点。顶点的说明由

16、位置坐标、颜色值、法向量和纹理坐标组成。每个顶点可以被顺序或以相同的方式独立地处理。每个顶点根据其为二维或三维顶点可以分别使用二个坐标、三个坐标或四个坐标。此外当前法线、当前纹理坐标以及当前颜色值可以在处理每个顶点的过程中被使用或改变。当前法线是一个三维向量,被用于光照计算。纹理坐标决定如何把纹理图像映射到图元。颜色与每个顶点有关,相关的颜色或是当前的颜色或是由光照产生的颜色,这取决于是否有光照。同样,纹理坐标也与每个顶点坐标有关。在opengl中,几何对象是根据glbegin()/glendo函数对之间所包含的一系列指定顶点的位置坐标、颜色值、法向量和纹理坐标画出的。这样的几何对象有点线段、

17、循环线段、分离线段、多边形、三角形、三角形扇、分离的三角形、四边形及分离的四边形。2、图形绘制opengl提供了距阵变换、光照、反走样方法、像素操作等参数来控制二维和三维图形的绘制。但是opengl并不描述或提供一个建立复杂物体的几何手段。opengl提供的是怎样画复杂物体的机制而非描绘复杂物体本身的面面俱到的工具。3、 opengl的基本操作opegl可以在具有不同图形能力和性能的图形工作站平台及微机上运行,图2.2为opengl的绘制原理图。点数据评价器逐点操作基元配置显示列表像素数据像素操作基本操作帧缓存器纹理存储器 图2.2 opengl的绘制原理图用户指令从上图左侧进入opengl。

18、指令分为两部分,一部分画指定的几何物体,另一部分则指示在不同的阶段如何处理几何物体。许多指令很可能被排列在显示列表(displaylist)中,在后续的时间里对其进行处理。通过评价器计算输入值的多项式函数来为近似曲线和曲面等几何物体提供有效手段,然后由顶点描述的几何图元进行操作。在此阶段,对顶点进行转换、光照,并把图元剪切到观察体中,为下一步光栅化做准备。光栅化产生一系列图像的帧缓存地址和图元的二维描述值,其生成结果称为基片,每个基片在最后改变帧存之前对单个基片进行操作。这些基片包括根据先前存储的程度值进行由条件地更新帧缓存,进行各种测试以及即将处理的基片颜色与己经存储的颜色,进行屏蔽,对基片

19、进行逻辑操作和淡化。四 、opengl的基本建模技术利用opengl进行仿真时,首先须根据机器人的实际形态及预期的运动建立起机器人的数学模型、几何模型及参数接口,以便将来实现实时计算和运动模拟。接下来将介绍opengl的实体建模基础。opengl提供了如下绘制图形的函数。l.、绘制点如何指定一个点呢?opengl提供了一系列函数。它们都以 glvertex开头,后面跟一个数字和 12 个字母例如: glvertex2d glvertex2f glvertex3f glvertex3fv 等等6。 数字表示参数的个数,2表示有两个参数,3表示三个,4表示四个。 字母表示参数的类型,s 表示 16

20、 位整数(opengl中将这个类型定义为 glshort), i表示 32位整数(opengl中将这个类型定义为 glint 和 glsizei), f 表示 32位浮点数(opengl中将这个类型定义为 glfloat 和 glclampf),d表示 64位浮点数(opengl中将这个类型定义为 gldouble和glclampd)。v表示传递的几个参数将使用指针的方式,见下面的例子。 这些函数除了参数的类型和个数不同以外,功能是相同的。例如,以下五个代码段的功能是等效的: (1)glvertex2i(1, 3); (2)glvertex2f(1.0f, 3.0f); (3)glvertex

21、3f(1.0f, 3.0f, 0.0f); (4)glvertex4f(1.0f, 3.0f, 0.0f, 1.0f); (5)glfloat vertexarr3 = 1.0f, 3.0f, 0.0f; glvertex3fv(vertexarr3); 2、绘制直线。绘制直线时,opengl提供了线型选择功能,并可以绘制连续直线及闭合直线。(1)直线可以指定宽度: void gllinewidth(glfloat width); 其用法跟 glpointsize类似。 (2)画虚线。 首先,使用glenable(gl_line_stipple);来启动虚线模式(使用 gldisable(gl

22、_line_stipple)可以关闭之)。然后,使用 gllinestipple来设置虚线的样式。 void gllinestipple(glint factor, glushort pattern); pattern 是由 1和 0组成的长度为 16 的序列,从最低位开始看,如果为 1,则直线上接下来应该画的 factor个点将被画为实的;如果为 0,则直线上接下来应该画的 factor 个点将被画为虚的。示例代码void mydisplay(void) glclear(gl_color_buffer_bit glenable(gl_line_stipple); gllinestipple(

23、2, 0x0f0f); gllinewidth(10.0f); glbegin(gl_lines); glvertex2f(0.0f, 0.0f); glvertex2f(0.5f, 0.5f); glend(); glflush(); 3、绘制多边形在绘制多边形时,可以对多边形进行填充。从三维的角度来看,一个多边形具有两个面。每一个面都可以设置不同的绘制方式:填充、只绘制边缘轮廓线、只绘制顶点,其中“填充”是默认的方式。可以为两个面分别设置不同的方式。 glpolygonmode(gl_front, gl_fill); / 设置正面为填充方式 glpolygonmode(gl_back, g

24、l_line); / 设置反面为边缘绘制方式 glpolygonmode(gl_front_and_back, gl_point); / 设置两面均为顶点绘制方式。由上可见opengl提供了一些画点、线、面的功能,如何由它们构成三维形体呢?对于具体的情况要具体分析,这里涉及到数学模型构造的问题,任何一个物体都可以看成无数个点、线、面组成,我们将这些点、线、面组合在一起,就构成了三维模型。五 opengl动画技术正如电影和动画的工作原理:快速的把看似连续的画面一幅幅的呈现在人们面前。一旦每秒钟呈现的画面超过 24 幅,人们就会感觉它是连续的。 我们通常观看的电视,每秒播放 25或 30 幅画面。

25、但对于计算机来说,它可以播放更多的画面,以达到更平滑的效果12。如果速度过慢,画面不够平滑。如果速度过快,则人眼未必就能反应得过来。对于一个正常人来说,每秒 60到120 幅图画是比较合适的。假设某动画一共有 n幅画面,则它的工作步骤就是: 显示第 1幅画面,然后等待一小段时间,直到下一个 1/24 秒 显示第 2幅画面,然后等待一小段时间,直到下一个 1/24 秒 显示第 n幅画面,然后等待一小段时间,直到下一个 1/24 秒 结束 如果用 c语言伪代码来描述这一过程,就是: for(i=0; i新建-工程,然后选择 win32 console application,输入工程名称,然后点击

26、“确定”(图3.1(a)), 在谈出的对话框左边找到 一个空工程 并勾上,点击 完成,在谈出的新建“新建工程信息”对话框点击“确定”(图3.1(b)。再选择文件-新建-文件,选择c+ source file,输入文件名,点击“确定”即完成所有前期工作,然后就可以进行机器人的建模和仿真。具体操作过程截图如下:(a) (b)(c)图3.1建立opengl应用程序框架经过以上的工作之后就可以进行opengl编程,对机器人进行三维建模11。二、 在visual c+ 6.0中完成机器人的三维建模腿部身体手臂肩部头部图3.2机器人结构示意图机器人的整体形状较为复杂,可以分块绘制7,图3.2为其结构示意图

27、。此机器人的绘制步骤如下:1、 绘制机器人的头部如图3.2所示,机器人的头部为一个圆球。用opengl函数glutsolidsphere()绘制。其程序如下:void humanmodel:drawskull() / a big sphere for the skull. glcolor3f(1.0f,0.8f,0.0f); if (m_irendermode = gl_quads) gluquadricdrawstyle(this-m_quadricobj, glu_fill); else gluquadricdrawstyle(this-m_quadricobj, glu_line); i

28、f (m_ishademode = gl_smooth) gluquadricnormals(this-m_quadricobj, glu_flat); else gluquadricnormals(this-m_quadricobj, glu_smooth);2、绘制机器人身体如图3.2所示,机器人的身体有两个长方体组成。其中上半身和下半身分别绘制如下:上半身:void humanmodel:drawupperbodysegment() / upper body segment - a little larger as it includes the chest glbegin(m_iren

29、dermode); glcolor3f(0.2f,0.2f,0.7f); drawbox(0.7f, 0.45f, 0.45f);glcolor3f(1.0f,1.0f,1.0f);glend();下半身:void humanmodel:drawbodysegment() / lower body segment glbegin(m_irendermode); glcolor3f(0.2f,0.2f,0.7f); drawbox(0.7f, 0.3f, 0.3f);glcolor3f(1.0f,1.0f,1.0f);glend();身体关节:身体关节由一个小矩形框构成:void humanmo

30、del:drawbodyjoint() / a small body joint is basically a small rectangular box. glbegin(m_irendermode); glcolor3f(0.5f,0.0f,0.2f); drawbox(0.2f, 0.1f, 0.1f);glcolor3f(1.0f,1.0f,1.0f);glend();3、绘制机器人的腿部如图3.2所示,机器人的腿部由两节长方体组成。void humanmodel:drawlegsegment() glbegin(m_irendermode); glcolor3f(0.2f,0.2f,

31、0.7f); drawbox(0.25f, 0.4f, 0.4f); glcolor3f(1.0f,1.0f,1.0f);glend();腿关节:void humanmodel:drawlegjoint() glbegin(m_irendermode); glcolor3f(0.5f,0.0f,0.2f); drawbox(0.1f, 0.2f, 0.2f);glcolor3f(1.0f,1.0f,1.0f);glend();4、绘制机器人的左右臂与腿部的构造方式相同,手臂也是由长方体构成的void humanmodel:drawarmsegment() glbegin(m_irendermo

32、de); glcolor3f(0.2f,0.2f,0.7f); drawbox(0.2f, 0.4f, 0.2f); glcolor3f(1.0f,1.0f,1.0f);glend();5、绘制机器人的颈部如图3.2所示,机器人的颈部有两个长方体构。void humanmodel:drawneckjoint() glbegin(m_irendermode); glcolor3f(0.5f,0.5f,0.5f); drawbox(0.2f, 0.1f, 0.1f);glcolor3f(1.0f,1.0f,1.0f);glend();void humanmodel:drawnecksegment(

33、) glbegin(m_irendermode); glcolor3f(0.2f,0.2f,0.7f); drawbox(0.4f, 0.2f, 0.2f); glcolor3f(1.0f,1.0f,1.0f);glend();6、绘制机器人的肩部如图3.2所示,机器人的肩部有一个圆球代替。void humanmodel:drawshoulder() glcolor3f(0.7f,0.2f,0.2f); if (m_irendermode = gl_quads) gluquadricdrawstyle(this-m_quadricobj, glu_fill); else gluquadricd

34、rawstyle(this-m_quadricobj, glu_line); if (m_ishademode = gl_smooth) gluquadricnormals(this-m_quadricobj, glu_flat); else gluquadricnormals(this-m_quadricobj, glu_smooth);glusphere(this-m_quadricobj, 0.5, 16, 16); glcolor3f(1.0f,1.0f,1.0f);最终建立的机器人三维模型如下:图3.3 机器人三维线框模型图3.4机器人三维模型第二节 本章小结本章详细论述了openg

35、l的应用程序框架的建立,并对基于opengl的三维建模技术进行了分析,在此基础上建立了仿真系统仿人机器人的三维模型模块。对机器人的建模步骤进行了详细的介绍。第四章 仿人机器人运动学仿真第一节 机器人位置和姿态为了描述第三章建立的仿人机器人本体各个部位之间、机器人和环境(操作对象和障碍物)之间的运动关系,本章将研究机器人的运动学仿真。本文把仿人机器人视为刚体,研究各个关节之间的运动关系。一 、位置的描述对于直角坐标系a,空间任意一点p的位置可用3x1的列矢量ap(称位置矢量) ap= (4.1)表示,其中,px,py,pz是点p在坐标系a中的三个坐标分量。ap称为位置矢量,如图4.1所示:图4.

36、1 坐标系的建立ap的上标a表示参考坐标系a。除了直角坐标系,也可采用圆柱坐标系或球坐标系来描述点的位置19。二 、方位的描述为了规定空间某刚体b的方位,另设一直角坐标系b与此刚体固接。用坐标系b的三个单位矢量xb,yb,zb相对于坐标系a的方向余弦组成的3x3矩阵来表示刚体b相对于坐标系a的方位(公式4.2)。= (4.2)其中,称为旋转矩阵,上标a 表示参考坐标系a,下表b表示描述坐标系b。共有9个元素,但是只有3个是独立的。由于的三个列矢量axb,ayb,azb都是单位矢量,且双双垂直,因而它的9个元素满足6个约束条件(正交条件):axbaxb=aybayb=azbazb=1 (4.3)

37、axbaxb=aybayb=azbazb=0 (4.4)因此旋转矩阵是正交的。 绕x轴、y轴和z轴旋转(公式4.5) (4.5) 式中s表示sin,c表示cos。总之,采用位置矢量描述点的位置,而用旋转矩阵描述物体的方位。三、位姿的描述为了完全描述刚体b在空间的位置和姿态,通常将物体b与某一坐标系b相固接。b的坐标原点一般选在物体b的特征点上,如质心、对称中心等。相对参考系a分别有位置矩阵apb0和旋转矩阵描述坐标系b的原点位置和坐标轴的方位。因此刚体b的位姿可由坐标系b来表示,即公式4.8b= apb0 (4.8) 四、坐标变换空间任意一点p在不同的坐标系中的描述是不同的。下面描述从一个坐标

38、系到另一个坐标系的描述的变换关系。1、坐标平移设坐标系b与a具有相同的方位,但坐标系b的原点与a的原点不重合。用位置矢量apb描述它相对于a的位置,如图4.2所示。称apb为b相对于a的位移矢量19。如果点p在坐标系b中的位置为bp,那么它相对于坐标系a的位置矢量ap可由矢量相加得出(公式4.9):ap=bp+apb (4.9)图4.2 空间点的平移变换2、坐标旋转设坐标系b与坐标系a有共同的坐标原点,但两者的方位不同,如图4.3所示。用旋转矩阵描述b相对于a的方位。同一点p在两个坐标系a和b中的描述ap和bp具有如下变换关系(公式4.10):ap=bp (4.10)图4.3 空间点的旋转变换

39、可以类似地用描述坐标系a相对于b的方位。和都是正交矩阵,两者互逆。根据正交矩阵的性质可得(公式4.11):=-1=t (4.11)对于最一般的情形:坐标系b的原点与a的原点既不重合,b的方位与a的方位也不相同。用位置矢量apb 描述b的坐标原点相对于a的位置;用旋转矩阵描述b相对于a的方位。对于任一点p在两坐标系a和b中的描述ap和bp具有以下变换关系(公式4.12):ap=bp+apb (4.12)3、一般变换最一般的情形是:坐标系b与坐标系a既不重合方位也不相同,我们用矢量apb0描述b的坐标原点相对于a的位置;用旋转矩阵描述b相对于a的方位,如下图所示,任一点p在两坐标系ab中具有以下关系(公式4.13)ap=bp+ apb0 (4.13)此式可以看成坐标旋转与坐标平移的复合变换。图4.4 复合变换五、齐次坐标变换1、齐次变换变换式 对于bp而言是非齐次的,但是可以将其表示成等价的齐次变换形式图4.5 复合变换空间点的复合变换(公式4.14) (4.14)其中,41的列矢量表示三维空间的点,称为点的齐次坐标,仍然记为ap或bp。可将上式写成矩阵形式 其中综合的表示了平移变换和旋转变换。已知一直角坐标系中的某点坐标,那么该点在另一直角坐标系中的坐标可通过齐次坐标变换求得。坐标原点的矢量,即零矢量表示为0,0,0,1t。矢量0,0,0,0t是没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论