虚拟环境鼠标三维操作的研究与实现

上传人:第*** 文档编号:30570027 上传时间:2018-01-30 格式:DOC 页数:47 大小:305.50KB
返回 下载 相关 举报
虚拟环境鼠标三维操作的研究与实现_第1页
第1页 / 共47页
虚拟环境鼠标三维操作的研究与实现_第2页
第2页 / 共47页
虚拟环境鼠标三维操作的研究与实现_第3页
第3页 / 共47页
虚拟环境鼠标三维操作的研究与实现_第4页
第4页 / 共47页
虚拟环境鼠标三维操作的研究与实现_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《虚拟环境鼠标三维操作的研究与实现》由会员分享,可在线阅读,更多相关《虚拟环境鼠标三维操作的研究与实现(47页珍藏版)》请在金锄头文库上搜索。

1、首都师范大学硕士学位论文虚拟环境鼠标三维操作的研究与实现姓名:姚延嗣申请学位级别:硕士专业:计算机应用技术指导教师:刘金刚20070604摘要摘要文章首先介绍了OpcnGL中的鼠标拾取算法,详细讨论了算法中缓冲区数据的含义;并分析了OpenGL为什么没有按照拾取射线穿过物体的先后顺序来存储数据。在此基础上本文提出了一个三维环境下的鼠标拾取算法,将三维空阃中点与物体相交的判断条件从三维降低到一维。该算法在三维空间中建立了一个实体光标,该光标可以在三维空间中自由移动。与普通的屏幕二维光标相比,该光标可以沿屏幕的纵深方向移动。该拾取算法认为只有光标热点进入物体内部时才能拾取到物体。文中设计了一个测量

2、该算法精度的试验,经过分析简化了试验步骤。在实际应用中对算法的精度和易操作性做了权衡。因为算法的误差与光标纵深移动的步长有关,较小的步长使得光标移动缓慢、不便于操作;较大的步长却容易穿过物体,而无法选中物体,为此对算法做了改进。本文还介绍了如何操作三维的实体光标来拾取并移动物体。用户可以通过鼠标的移动、左右键的按下与抬起、滑轮的滚动来进行操作。为了达到较好的操作效果,还为用户提供了指向、接触、选择三个反馈状态。为了更好地应用本文提出的鼠标拾取算法,开发了可操作的三维虚拟环境。虚拟环境中包含场景对象和物体对象。文章阐述了场景类型的基本属性、操作、渲染方法、物体为何以及如何向场景注册;同时还讨论了

3、场景中物体名字分配的方法及其优化。在虚拟场景中设计了门的模型以触发场景转换;电脑模型用来在虚拟场景中直接打开应用程序;为了让用户能够在虚拟三维场景中漫游,实现了摄像机模型,可以平移视点和旋转视角;同时,为了针对同一个物体进行不同的操作,还为场景和物体设计了三维右键弹出菜单。关键词:三维交互界面;虚拟现实;鼠标拾取;OpenGL。AbstractAbstractFirst,I discuss the mouse-pick algorithm in OpenGL and find out the meaning ofdata in thebuffer1 will analysis why Open

4、GL store the data in all unnermal waySecond,1 will raise a mouse-picking algorithm based on OpenGLIt reduces the complex ofthe intersection judgement between a poiTlt and a 3D object from three-dimension to or-redimensionThis algorithm creats a 3D cursor in virtual environmentit caIl move around fre

5、elyin 3D spaceComparied with the traditional 2D cursor,the 3D C1Lrsor call move at fight angltothe SCTCCTI and reflect the perspective projection naturelyThe algorithm will judge whether thehot point of3D 6xllsor in the space ofthe target object,and set the objoct to be picked state ifthehot point i

6、n the space ofthe objectI also design all experiment to test the eTrorAnd I balance the precision and facility of thealgorithm when it is applied to user interfaceThe error has a relationship with mouse step,thenice step make the cursor move slowly,and the large step make the砚lrsor penetrate the obj

7、ectwhich,however,will not be recongined as picked upAt last,the algorithm is improved to meetthis situationThe paper also discusses the operation of the 3D nlrsorUser Can move the mousc,pressunpress the rightleft button and rotate the wheel to control the 3D cursorIt provids threefeedback states,poi

8、nted,atteched,and selected to userA 3D virtual environment is developed to apply this mouse-picking algorithmIt containsscene and objectThe paper discusses how to design the scene;it includes the attributes,operations and renderingThe paper also explains that why the object should regist to the scen

9、eand howThere are three ways to assign little id to each object in a scuttle,and 1 will analyseswhich is the best oneThe door model is designed to trigger the switch between different SCenesComputer model is designed to launch the applicationsCamera is designed to roam in the virtualenvironmentAnd t

10、he 3D popup menu is designed to apply several commands to one objectKeywords:3D User Interface:Virtual Reality:Mouse Picking;OpenGLJI第一章绪论11课题的目的和意义第一章绪论近年来随着计算机图形学的发展,三维图形界面成为国际上研究的热点,尤其是三维桌面操作系统;国际上几大操作系统厂商分别推出了各自的三维桌面操作系统。三维桌面系统的出现给用户耳目一新的感觉,但可以发现其中仍有可改进之处:首先,虽然桌面环境是三维的,但鼠标操作始终是二维的;用户只能用二维鼠标想当然的去

11、选取虚拟空间中距离视点很远的对象,缺乏三维操作的真实感。其次,窗口之外只有背景图片,没有可以漫游的三维场景。本文讨论的问题就是如何将鼠标的三维操作和虚拟环境进一步结合起来,从而解决上述问题。首先,用鼠标的三维操作代替传统的二维操作。使光标可以沿屏幕纵深方向运动。其次,要为三维交互操作建立可以漫游的场景。本文所研究的鼠标三维操作有助于提高用户三维空问操作的真实感。12三维操作技术的国内外研究现状一交互技术对整个人机交互界面有着深远的影响。对于物理世界和虚拟环境,操作是一个最为基础的任务,如果用户不能有效地操作虚拟对象,那么一些依赖于应用程序的任务就不能简单地完成【l】。国外对3D人机交互界面有较

12、长时问的研究,这里主要介绍在三维选择操作方向国际上的研究进展。3D操作界面设计受两个对立观点的强烈影响。同构观点建议在物理世界和虚拟世界间手的运动建立严格的、几何上的、一对一的对应。非同构的方法偏离严格现实的意义,提供给用户具有“魔力”的虚拟工具,如激光束、橡皮手和巫术玩偶等。这些非同构映射和技术允许用户在维护可用性和性能的同时,使用与物理世界不同的方式去操作对象。现在主要的3D直接操作技术都是非同构技术。Ill当前大多数操作技术是基于几种基本交互隐喻或隐喻组合来实现的。”】图11给出了一种可能的沉浸式虚拟环境中基于隐喻的三维操作技术的分类法。首先将这些技术分为环境外的和环境内的技术。在环境外

13、交互中,用户在环境的外部与3D环境交互。例如,在缩微世界(WIM)技术中,用户与一个小的,手持的环境副本进行交互。在环境内的技术中,用户在环境的内部进行交互。虚拟环境包围着用户,用户作为第一人称观察环境。这种分类进一步把环境内操作隐喻细分为虚拟手和虚拟点取。对于虚拟手隐喻,用户通过用虚拟手“触摸”和“拾取”对象来接触并拾取它们。对于虚拟点取隐喻,第一章绪论用户通过指点对象和它们交互。【ll图1I基于隐喻的3D操作技术的分类IlJ12_1指点交互技术指点技术允许用户通过简单的点取来选择和操作超出手臂到达范围的物体点取的方向矢量与虚拟对象相交时,用户就通过触发事件确认选择。对象被选择后,可以附加到

14、点取矢量的末端进行操作。【I】点取技术最早是在“putthatthere”界面中出现的。该系统允许用户通过点取技术选择和操作对象。之后出现了一些其他技术,这些技术的不同点在于两个设计变量:第一个是如何定义点取的方向;第二个是选择体的形状以及当用户点取时有多少个对象被选中。【I】点取技术是一种强大的选择技术。许多技术表明它比虚拟手技术有着更好的选择性能。基于点取的交互技术有:光线投射技术、双手点取、闪光灯技术、光圈技术、图像平面技术、鱼竿卷线技术。【l】光线投射光线投射技术中,用户使用定义点取方向的虚拟射线点取对象。在简单光线投射技术中,射线的形状是连到用户手上的短线段(图12)。但这对于选择远

15、处的小对象是困难的,因为当射线与虚拟物体对象相交时,不能提供给用户充分的视觉反馈。无限长的虚拟射线可以提供很好的视觉反馈。Ell2第一章绪论幽12光线投射技术双手点取光线投射使用虚拟手的位置和虚拟射线的方向定义点取方向。在用户的双手都被跟踪的情形下,点取方向可以使用双手技术确定:一只手(通常靠近用户的手)用于指定虚拟射线的原点,另一只手指定射线的指向。双手点取的缺点是必须同时跟踪两只手,但是这种技术能进行更为丰富和有效的点取交互。例如,手之间的距离可以控制虚拟指点器的长度,而通过手的轻微的扭曲,用户可以弯曲虚拟指点器。这种技术提供了一种简单的消除多个对象在深度方向排列时的二义性的机制(见图13

16、a),并且可以简化点取全部或部分模糊对象的情况(见图13b)。【l】(a) (b)图13可用于点取部分模糊对象的柔性指点器”1闪光灯和光圈技术聚光灯或闪光灯技术是为了提供“软的”选择技术而开发的,它不需要用光线精确或准确地点取虚拟对象。这种技术模仿闪光灯点取对象,即使用户没有精确点取对象时也可以照亮它在闪光灯技术中,点取方向的定义与简单光线投射技术的方式相同,但用圆锥选择体替换虚拟光线,圆锥的顶点在输入设备上,落在锥体范围内的对象被选中,因此这种技术可以很容易地选择小对象,即使这些对象距离用户很远。【l】使用闪光灯技术的显而易见的问题是:当有多个对象落在闪光灯范围内时,如何处理期望的对象的二义性。【1J光圈技术使之成为可能。光圈技术是对闪光灯技术的一种修改,它允许用户交互地控制选择体的张角。点取方向由虚拟空问中用户视点的位置定义,并由被跟踪的头部位置和表示光圈光标的手部传感器的位置来确定。(见图14和图15)【Il3第一章绪论澜辱彭m一一d一;。淼4

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

当前位置:首页 > 办公文档 > 其它办公文档

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