本科毕业论文-—基于opengl的屏幕对象拾取

上传人:s9****2 文档编号:512236401 上传时间:2023-03-26 格式:DOC 页数:32 大小:888KB
返回 下载 相关 举报
本科毕业论文-—基于opengl的屏幕对象拾取_第1页
第1页 / 共32页
本科毕业论文-—基于opengl的屏幕对象拾取_第2页
第2页 / 共32页
本科毕业论文-—基于opengl的屏幕对象拾取_第3页
第3页 / 共32页
本科毕业论文-—基于opengl的屏幕对象拾取_第4页
第4页 / 共32页
本科毕业论文-—基于opengl的屏幕对象拾取_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《本科毕业论文-—基于opengl的屏幕对象拾取》由会员分享,可在线阅读,更多相关《本科毕业论文-—基于opengl的屏幕对象拾取(32页珍藏版)》请在金锄头文库上搜索。

1、论文题目: 基于OpenGL的屏幕对象拾取 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校

2、可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:

3、1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它目录摘要1ABSTRACT21 绪论31.1 课题的目的和意义31.2 拾取技术国内外研究31.3 本论文研究主要内容32

4、基于OPENGLMFC的建模基础52.1 OpenGL概括52.2 OpenGL渲染管线过程52.2.1顶点变换62.2.2图元组装62.2.3图元处理62.2.4片元处理62.2.5光栅化操作62.3 MFC概述62.4 MFC特点72.4.1封装72.4.2继承82.4.3虚拟函数和动态约束82.5 应用程序的构成82.6 基于OpenGL+MFC的三维模拟的编程环境配置93 拾取技术123.1 基于射线求交拾取技术123.1.1判断线段和包围盒的相对位置123.2 基于GPU的重绘式拾取技术143.3 各种拾取技术比较164 系统的设计及实现184.1 系统的选择机制184.1.1进入选

5、择模式之前184.1.2获取当前选择模式184.1.3退出选择模式204.1.4拾取204.2 拾取结果截图215 结论与展望255.1 结论255.2 展望25参考文献26致谢28IV摘要屏幕对象的拾取是计算机图形处理系统中一个重要的功能,在许多情况下,计算机图形处理系统不仅要绘制图形,而且要允许操作者能够通过输入设备(通常是鼠标)操纵屏幕上的物体(标识、移动和修改)。有时还需要获取物体上点的空间坐标或测量物体的几何特性如距离、角度、半径等,这些操作都需要以拾取作为实现的基础。OpenGL为了解决拾取问题,提供了一种基于名字堆栈和命中记录的选择机制。在OpenGL中,拾取物体是利用拾取矩阵和

6、投影变换,将拾取的范围限制在鼠标热点的有效区中,一旦触发鼠标事件就进入选择模式并将有效区初始化,最后利用拾取矩阵拾取有效区内的物体。有效区的定义由glPick2Matix()函数来完成。一旦拾取成功,就以记录的形式返回与拾取物体相关的信息,并生成一个记录表示一个物体被命中。这种物体拾取方法非常简单,不需要写很多代码。在使用OpenGL工具包开发图形处理系统时,物体的拾取有多种方法,其中包括OpenGL提供的选择机制、射线拾取法、重绘式拾取法等。本文采用OpenGL本身提供的选择机制来拾取对象,突出OpenGL工具包在屏幕对象的拾取方面的优势。关 键 词:OpenGL;计算机应用;拾取算法Abs

7、tractIn most cases, one important feature of graphics processing system is picking, which allow users to select objects by mouse, and to modify the their attributes, such as gemetry mesh or angle and so on. In order to solve the problem, pick OpenGL provides a name on the stack and hit record choice

8、 mechanism. In the OpenGL and pickobject is using the loot matrix and projection transformation, and will gather in the limits of the mouse, effective once entered the mouse event trigger mode choice and will be effective area, finally using initialization gleaned matrix pick objects in the area of

9、effective. The definition of effective glPick2Matix () function to finish. Once pick success, to return to pick the record object relevant information, and to create a record, says an object to be hit. This object pick method is very simple, need not write many code.In the use of graphics processing

10、 system development OpenGL toolkit objects, pick a variety of methods, including OpenGL provide choice mechanism, ray pick, redrawn type gather method, etc. Based on the mechanism of OpenGL itself to provide choice pickup, outstanding OpenGL toolkit objects in the screen in the object.Key words: Ope

11、nGL; computer application;picking281 绪论目前许多优秀的图形工具能为我们绘制惟妙惟肖的虚拟现实场景,在面对这些场景时候我们除了欣赏之外更多的是希望能与之互动,做为编程人员可以使用代码轻松的重新构造场景,但对于终端用户而言,他们也希望自己也能对造场景进行一些操作,如添加,删除等等。对于这些操作而言,首先我们要做的是能让用户使用鼠标来选择他所希望操作的对象,这就是本文要讨论的一个重点:拾取,这是一种在许多交互性程序中有基础地位的操作,是对屏幕中对象进行定位,并确定所选择的是哪个物体。然而该操作给我们提出了一些难题,首先,需要对对象进行届定。其次,必须对“拾取目标

12、”进行定义。这就需要终端用户确定单击的位置是构成对象的图元上,还是对象附近的位置以及考虑如果选取点落在两个以上物体交集部分如何处理等等问题,本文利用了OpenGL中的选择模式进行有效的对象判别和拾取。1.1 课题的目的和意义图形对象的拾取是计算机图形处理系统中一个重要的功能,很多图形系统需要用户通过输入设备与系统交互,如移动、旋转某个物体,或查询某个物体的状态信息,需要通过拾取来确定景中的操作对象。快速可靠的拾取被广泛地运用于各种系统中,如实时图形系统、虚拟现实、游戏和CAD系统等方面,拾取操作己成为这些系统的重要部分,它在计算机建模软件尤其重要,能够通过拾取操作对模型进行局部修改和编辑,提高

13、建模系统的灵活性和适用性。随着计算机软硬件的快速发展,人们对实时系统的交互的实时性要求也越发苛刻,而且三维场景复杂度也日益提高,这就要求系统提供快速的拾取操作。因此,高效的拾取算法能够决定拾取操作快与慢的关键所在,从而开发高效的拾取算法已成为当今一个的课题研究。1.2 拾取技术国内外研究随着网络科技越来越发达,拾取操作也越来越方便了,有的只要鼠标点点就可以。而拾取操作的关键是拾取算法。到目前为止,拾取算法大致上可以分三种。第一种是基于射线求交的拾取技术,1992年,Mark Segul,Carl Korobkin,Rolf van Widenfelt等人首次采用了基于射线求交的拾取技术原理实现

14、了对衣服的拾取1;1998年Michael Deering,Step hanie Winner and Bic Schediwy等也才采用了同样的技术成功做到了人物的拾取2;2005年,龚堰珏,颜敏等人采用了基于射线求交的拾取技术实现对几个简单物体的拾取3;同年,韦宇炜也是用此技术实现对游戏中各类的拾取,如对技能的释放,对地上物品的捡起来,对别的玩家人物属性的查看等等4;2006年,姚继权,李晓豁等人也采用了这种拾取技术成功地做到了对3D网游游戏中的各种各样的拾取5,等等。第二种是基于GPU的重绘式拾取技术,这种方法对硬件的依赖性大,不过拾取速度快。1997年,MasaakiOka,Kyoya

15、 Tsutsui,Akio Ohba等人第一次采用了基于GPU的重绘式拾取技术在房子中拾取到了房子主人与小孩子6;2006年,刘力强,周明全等多人采用基于GPU的重绘式拾取技术,在大规模室外地形中拾取到了地面某个区域7。第三种是OpenGL自带的拾取机制,1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本较1.0性能提高许多,并加入了一些新的功能,如本身自带的拾取机制,这项功能使OpenGL在各个领域都得到了应用8。随后出现的各个版本,使自带的拾取机制越来越完善,操作越来越方便,应用范围越来越广泛。1.3 本文研究的主要内容(一):

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号