简介:本文从虚拟现实交互式漫游的实现过程出发,通过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
简介:随着计算机及网络技术的发展,计算机技术有了新的发展。JSP是Web开发的最先进的技术,是当前Web开发人员的最好技术。但是由于JSP对Web开发人员要求高,所以许多Web开发人员还不能够使用这一项技术。本文基于JSP网页自动生成工具的设计和实现,提出具体的设计思想和实现方法。关键词JSP;自动生成;模板ImplementationofAutomaticallyGeneratedJSPToolsSunYuan(PuyangVocational&TechnicalCollege,Puyang457000,China)AbstractWiththedevelopmentofcomputerandnetworktechnology,computertechnologywithnewdevelopment.WebDevelopmentJSPisthemostadvancedtechnology,iscurrentlythebesttechnologyWebdevelopers.However,duetoJSPdevelopersdemandingontheWeb,manyWebdevelopersnottouseatechnology.BasedonJSPpagesautomaticallygeneratedtooldesignandimplementationofspecificdesignideasandimplementationmethods.KeywordsJSP;Automaticallygenerated;Template一、JSP技术的发展随着因特网的普及,动态网页技术也发展很快。从原来的CGI到ASP,都从某种程度上满足了网页人员对动态网页开发技术的需求。但是它们存在一定的不足之处,如CGI对服务器资源的耗费,ASP只能同MicrosoftIIS一起使用,这些都限制了技术的使用范围,阻碍了它们的推广。许多的开发人员都有一种统一的页面开发技术,该技术应该具有的特点第一,提供代码重用,简化开发基于Web的交互式应用程序的过程;第二,与操作平台无关,能够在任何Web或应用程序服务器上运行。JSP技术大大提高了企业的信息化水平,使整个生产过程趋于灵活有效。然而,此时内部原有的各种异构数据库却未能与企业信息系统很好的协同工作,使企业内财务、库存信息得到及时准确的传递。因此,利用先进的技术将现有企业信息系统有机集成,对于企业的发展具有重要意义。JSP技术就是被设计用来满足这样的要求的。关于JSPJSP技术的描述,它是由太阳公司推出的网页开发技术,是基于JavaServ以及Java体系的Web开发技术,是Servlet2.1API的一种扩展。利用这一技术,可以建立比较先进和安全的动态网站。Java是未来的主流技术,而JSP则是Java在IntranetWeb上的重要应用,目前得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂和现实的应用。二、JSP技术自动生成工具的实现(一)数据库连接部分JSP技术支持常用的几个数据库,包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根据用户选择的数据库类型和用户提供的数据库名称、用户名、密码使用JDBC同数据库相连。和数据库连接以后,根据同数据库相连的用户名生成两个系统基本表TC-Tables和TC-Columns,TC-Tables表包含在该数据库中属于该用户的所有的表的英文名称、中文名称和一些属性,如是否可修改、是否可查询等;TC-Columns表包含在该数据库中属于该用户的所有的表的所有列的中英文名称和其它一些属性。如是否可显示、是否可查询等。这两个系统基本表在整个系统的开发过程中提供用户所使用数据库的基本信息。模板选择和网页生成部分是系统的核心部分。它包含了两个子模块。第一,是模板选择部分,为用户提供模板选择界面,让用户根据需要从模板库中选择所要使用的模板。第二,是模板处理部分,根据用户选择的模板,系统调用指定的模板处理模块对这个模板进行处理。当处理程序遇到模板中的标签时,就为用户提供交互界面,让用户为指定的标签输入参数,并由系统验证用户输入的标签的有效性。最后由系统完成JSP页面的生成。网页生成出来以后,系统为用户提供了一个网页预览窗口和代码查看修改窗口。通过这个预览窗口,用户可以预览一下生成出来的JSP页面的效果。如果用户对页面的静态方面的效果不太满意,用户可以通过代码查看修改窗口修改代码中的HTML代码。如果用户对页面的静态效果有进一步的要求,系统还为用户提供了一个调用DreamWeaver编辑器的接口,用户可以使用它来对生成出来的JSP页面的静态效果进行进一步的修改和完善。(二)JSP技术的分布管理JSP技术的分布管理要求企业需要实时传递信息,以实现对整个企业的统一监控和规划,要求采用先进的网络计算模式来解决问题。JSP技术的分布的实现,对于JSP技术在整个系统设计中至关重要,它关系到了系统运行的效率。(1)尽量少用含静态的HTML界面。对于一般用户来说,标签是透明的。企业数据的业务逻辑封装在EJB中,现有的系统根本不需要修改,就可以集成为应用程序所需的运行时服务,可以分解出来,并指定应用程序流程的Servlet。servlet代码可将注意力集中在应用程序控制逻辑上,可将静态和动态内容混合在一起,生成表示信息。用户不能够查看了过多的静态HT-ML语句,限制了程序的使用。(2)尽量提供适用的标签。提高代码的重用度。JSP技术的主要目标是实现跨平台的互操作,完全基于独立平台和软件供应商的标准,创建分布式应用程序的新平台。JSP技术定义了应用程序实现互操作性,我们可以通过标准对这些服务进行访问。除了易于分析,JSP技术还在于它既是平台无关的,形成标签。而不用在每个标签中都实现用,只需对这一个标签进行修改即可,因此应尽量提供适用的标签。(3)应用JSP程序集成。JSP技术可以使用一个基于应用程序更新现有的库存,通过浏览器输入Servlet代码,充当应用程序控制器角色,然后使用LB定位所请求产品编号的远程对象。最后,将根据数据库的更新,对在设计JSP技术系统时,考虑到用户的使用情况,使用户能够很容易使用程序。三、JSP技术的发展前景JSP技术是未来开发语言的主流,最大特点是能使一般的开发人员也能够方便地使用JSP的动态页面功能。我们深信,借助最新的JSP技术技术,将彻底消除困扰企业的信息问题,实现企业内外信息的畅通与共享。参考文献1BruceEckel.Java编程思想(ThinkinginJava)M.北京机械工业出版社2CayS.Horstmann,GaryCornell.Java2核心技术(CoreJava2)M.北京机械工业出版社作者简介孙媛(1981-),女,河南濮阳人,河南濮阳职业技术学院,职称助教,学历本科,研究方向计算机软件。详细通讯地址河南省濮阳市黄河路与京开大道交叉口北200米路东濮阳市公安局巡特警支队3大队5中队胡立伟邮编457000联系电话13623936303