简介:本文从虚拟现实交互式漫游的实现过程出发,通过Vega软件实现交互式漫游功能。关键词虚拟现实;Vega;交互式漫游中图分类号O343.2文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofInteractiveWalkthroughFunctioninVirtualRealitySceneLuHongyan(ArmedPolicyEngineeringCollege,Xian710086,China)AbstractThepaperintroducestheimplementofinteractivewalkthrough,andachievethefunctionsofInteractivewalkthroughbyVega.KeywordsVirtualreality;Vega;Interactivewalkthrough虚拟现实场景中常见的交互方式有固定式漫游和交互式漫游两种。交互式漫游方式比固定路径漫游灵活,真实感更强。一、交互式漫游的实现在漫游系统中,用户通过Observer的视角置身于虚拟环境中,通过鼠标和键盘控制视点和行动路线。在这种交互情况下,不需要进行任何的预处理过程,场景分析和路径计算都是在漫游的过程中进行的。交互式漫游的视点是由用户自定义的,有很大的灵活性。如果将Observer与Walk运动模式绑定在一起,就可以用鼠标控制其前进、后退、转向和四处观望的视觉效应。但是作为一个在环境中的观察者来说,能够做到的远不止这些。他可以抬起头看看天空,也可以低下头看看绿地花草。但是,在Vega中却没有一种运动模式符合需要。这就需要编程定义自己的运动模式。在自定义的运动模式中,主要实现10个漫游动作前进、后退、左移、右移、上升、下降、仰视、俯视、停止和复位。表1鼠标按键定义控制方式相应功能鼠标左键运动加速鼠标右键运动减速上移鼠标向前运动下移鼠标向后运动鼠标左键+中键视点升高鼠标右键+中键视点降低左移鼠标向左运动右移鼠标向右运动鼠标中键运动停止鼠标左键+右键+中键运动复位表2键盘按键功能定义按键相应功能向上方向键运动加速向下方向键运动减速向左方向键向左运动向右方向键向右运动E向前运动C向后运动I视点升高M视点降低S运动停止R运动复位在本系统中,主要以鼠标、键盘作为系统的输入设备,实现与虚拟场景的互动。如表1、表2所示,对鼠标、键盘相应的按键功能进行定义。实现自定义模式可以分以下几个步骤Step1使用Vega提供的vgMotionCallbackStruct函数编写自定义的用户运动模型(通过回调函数实现运动模型)。Step2vgMotRegister函数向系统注册给运动模型、安装模型实现回调函数;Step3将运动事件属性值VGMOT_MODEL设为用户自定义的模型VGMOT_USER1,进入主循环。Step4处理运动事件(在回调函数中实现)。二、查询功能的设计对模型对象实现信息查询功能主要是基于对三维目标的选择和判别。通过鼠标点取窗口中任意一个对象,即可查询该对象的属性,如同在二维地图窗口中一样方便。判断物体是否被选择,拾取技术是关键。模型对象的拾取在Vega中,模型对象的拾取是通过vgPicker提供的类获取鼠标的位置来实现的。vgPicker类提供了函数对角色对象(vgPlayer)、模型对象(vgObject)、模型部件(vgPart)以及pfGeodes和pfGeosets节点等场景元素进行拾取。完成拾取操作有以下几个步骤Step1将要拾取的物体作为一个模型对象。Step2通过函数vgPickerScene(),vgPickerChannel()设置vgPicker作用的场景和通道;设置vgPickerHighLightColor()函数,选择物体显示的颜色。Step3通过vgPickerClampIsector(),vgPickerIsector()函数显示设置vgPicker的相交矢量。Step4通过vgProp()函数启用vgPicker。Step5将鼠标中键设为拾取物体的键。Step6设置物体mask掩码与vgPicker相一致。vgPicker不能操作静态对象,对于静态对象,使用vgPicker只能间接获取其所在的模型数据库vgDataSet节点等,不能获取对象本身vgObject节点。这时必须采用辅助工具进行操作,常见的方法是采用包围盒43。包围盒拾取算法,如图1所示图1包围盒拾取算法流程图在拾取物体后的物体显示本建筑的名称、编号和建造时间,在主要建筑,如办公楼等,还可以显示每层楼的信息。查询功能的实现方法在本系统中可以通过基于对象名称的拾取方法实现三维地物的查询功能。实现方法如下Step1在Creator中以组(group)的形式为对象命名,作为被查询的关键字。Step2以模型对象名称作为关键字在Access中建立建筑的属性信息表,用ADO连接。Step3创建一个vgPicker对象,在postConfig中设置捕捉对象的类型为VG_OBJECT。Step4在postFrame中用vgMouse实现鼠标点选,调用vgGetPickerPickedProcessing执行捕捉,若成功调用vgGetPickerPickedObject返回捕捉对象的指针,再用vgGetName获取捕捉对象关键字。Step5在属性表中根据关键字对应的记录显示当前建筑物的信息。当选中目标后,获得目标的标识符,再运用SQL语句从后台数据集中查询与标识符对应的实体属性信息。三、结论本文主要介绍交互式漫游的实现过程,介绍了交互式功能的实现和查询功能的设计。在完成漫游的基础上还要进一步完成碰撞检测这一方面的内容。参考文献1徐诚.虚拟校园漫游系统的研究.硕士研究生学位论文.武汉华中师范大学,20062肖书立,李世其,王俊峰.基于广义包围盒的交互操作在Vega环境中的应用J.计算机应用,2006,2.500-501
简介:摘要:进入新时期以来尤其是随着新课改的实施,义务教育越来越把德育教育放在较为突出的位置。而当下学生的思想较以前发生了翻天覆地的变化,他们所接收到信息也越来越多,这给教育工作者的德育教学工作带了很大的困扰,他们开始探寻一些较为实用的德育教学方式,在主题班会中渗透德育教学开始走入教育工作者视线。本文将通过分析主题班会中的德育功能,探讨在主题班会中实现德育教育的策略。
简介:摘要:本文从新时代审计管理体制改革背景出发,梳理内部审计职能的演进,聚焦审计功能扩展在高校内部审计领域的运用和必要性。分析新发展阶段,内部审计职能在服务高校事业高质量发展中审计功能扩展效能实现中的难点问题,探索高校内部审计新的职能实现的有效路径。
简介:摘要:根据微特电机行业大批量、小批次的生产和采购特点,为解决生产过程中物资供料信息沟通不畅的问题,基于.Net框架和MSSQL数据库实现了一种物资采购计划管理和统计功能,打通生产和供料环节的信息传递,方便信息共享。
简介:摘要在我国建筑行业中进行成本控制一般分成俩大类,即被动成本控制和主动成本控制。随着建筑行业的发展,单一的成本控制无法满足建筑行业成本控制需求,为此提出了为更好的加强对建筑行业的成本控制,根据功能成本法的项目基本原则将主动成本和被动成本控制相互结合的新型成本控制法则。即在投资策划、设计方案、市场因素等条件制约下,运用功能成本、利益获得者以及超前完工等方式方法,实现项目成本、建筑收益、项目价值等利益最大化。本文通过对成本控制的概述出发,分析了传统成本控制法存在的劣势,以及对功能成本法进行了简要的分析,提出应用成本法的优化设计和关键节点的成本控制等合理化建议,希望通过运用功能成本法的基本理念做到对项目成本的最优控制。