APP下载

智能手机上的虚拟学习系统研究与实现

2012-01-25程萌萌林茂松庞妮

中国医学教育技术 2012年1期
关键词:网格卫星误差

程萌萌,林茂松,庞妮

西南科技大学:1计算机与科学技术学院;2信息工程学院,四川绵阳621010

移动学习作为课堂学习的一种补充形式正发挥着越来越重要的作用。近些年来,国内外的研究者对移动学习的研究主要集中在移动学习理论、移动学习平台的开发、技术可行性分析、终端软件和资源的开发上[1-2]。移动学习资源主要以文字和图片为主。这些资源对于一些抽象、难以在生活中直接观察的自然过程和现象的表达显得苍白无力。其单一的呈现方式和有限的表达力已经不能满足学生的学习需求。虚拟学习系统的出现能够有效地解决这一问题。

同时,计算机图形学、虚拟现实技术、3G技术的快速发展和移动设备性能的提高,为学生使用智能手机、PDA等移动设备在虚拟环境中进行学习提供了技术上的契机。

因此,该文以移动学习、建构主义理论、情境和探究学习模式等理论为依据,设计并实现出面向智能手机的虚拟学习系统—卫星发射运行仿真系统。并针对移动设备性能较低的特点,进行网格模型简化的关键技术研究。

1 相关研究

国内的虚拟学习系统开发主要集中在台式电脑平台上,非教学内容的三维手机游戏开发较多。国外对移动虚拟学习系统的研究也处于起步阶段。这其中包括以训练使用者某种技能[3-4](如空间感知能力、恐高症克服等)或者以娱乐为目的的三维游戏以及虚拟实验室[5]等。这些系统存在以下问题:

使用者需要将全部资源下载到本地,一定程度上占用了用户的存储空间;虚拟系统与不同操作系统或者不同型号移动设备不兼容,用户群体受限。

在实现上也只能针对某一个智能手机系统或者某一型号手机开发。该系统使用VRML语言设计实现,使用者只需使用安装了三维浏览器的移动设备通过Internet访问即可。其优点在于:①由于VRML不是在网络中直接传输图形文件,而是传输图形文件的文本描述信息。这样可大量节省网络带宽,节约用户存储空间。即使是在低带宽的网络上也可以实现;②VRML文件通过本地浏览器访问,保证在各种平台上通用,从而实现了虚拟学习系统的平台无关性;③VRML可以通过调节文本文件的阈值改变模型姿态。例如:人的跑步动作,设计者不必按照传统模式逐帧绘制,而使用者也不必下载各个姿态的人物模型。只需要设定阈值就可使用同一模型,下载一个模型的数据量,由此大大减少内存和网络传输的数据量。

虽然VRML具有以文本文件传输数据量小等特点,但要进行实时渲染移动终端,需要对文本文件进行解析编译,这就对移动终端硬件环境有一定要求。目前市面上的智能手机配置参数如表1所示。

表1 智能手机配置参数

系统测试阶段采用最低配置的手机模拟器,保证系统可以满足最低及以上配置参数的手机需求,以此证明其有效性和可行性。

2 系统结构及实现

系统的访问方式基于C/S(客户机/服务器)模式,该系统采用的是C/S(客户机/服务器)模式。这种模式将图形处理计算和可视化部分进行有效分离,把高分辨率的图形及其纹理资源存放在服务器端,当用户提出请求时,把所需要的数据通过无线网络传送至移动设备终端。这些数据可以经过基于图像(Image-Based Rending)处理或者是基于几何(Polygon-BasedRending)的简化处理,以视频流或者图像的形式进行传输。C/S模式降低了移动终端对图形资源处理与存储等方面的要求,并且容易实现跨平台交互的需求,因此是当前虚拟平台设计的主流。

系统包括三个模块,在模块1中学生可以观看卫星发射和运行全过程的三维动画,每个阶段都附有文字讲解。在第2个模块中学生进入研究室对卫星和火箭模型进行近距离观察,对其内部构造及原理进行学习。在模块3中,回到课堂对所学内容进行回顾。系统实现步骤包括:

2.1 借助三维建模软件绘制运载火箭和卫星模型

虽然VRML提供点、线、面的绘图命令,但是要绘制卫星这样的复杂模型,工作量巨大。我们可以借助三维图形绘制软件降低工作量。目前,三维建模软件有很多,如Auto CAD、3DS MAX、Vega、MAYA等。卫星和运载火箭模型采用3DS MAX建模,建模后保存为3DS格式。由于将3DS格式读入OpenGL时色彩和纹理信息会丢失,所以在建模的过程中不需要对它们进行处理(如图1所示)。

图1 读入OpenGL前后卫星模型对比图

2.2 使用转换接口将模型文件导入OpenGL,生成三维场景

3DS格式文件读入由两部分组成:读入文件内容;绘制3D对象。文件内容的读入定义了两个类Ctri Object和Ctrilist。CtriObject用于处理3DS文件中的各种对象。Ctrilist用于处理对象序列。C3ds Reader用于将3DS文件中的内容读入到上述两个类的对象中。这个读取接口将3DS文件中的颜色数据、顶点数据、对象数据、材质数据拆分。然后,在OpenGL中将这些数据重新组成对应的对象,再将其组合在一起作为一个对象。图1示意了一个卫星模型的3DS文件在读出后的显示效果图以及其与在3DS MAX中的模型对比图。在3DS MAX中渲染过的效果图与经过程序读取的模型在结构上完全一致,保持了结构特性。

2.3 进行网格模型简化

虽然经过多年的发展,移动设备在软硬件及网络等方面的性能已经有很大的提高。但相对于传统的台式电脑,移动设备仍具有CPU处理能力较低、屏幕尺寸小、分辨率低、存储空间以及功耗受限、内存及传输带宽小的特点,并且所建模型过多的细节往往超过移动设备的处理能力,因此需要对模型和场景进行简化。国内外成熟的网格模型简化算法有很多(如表2所示):

表2 典型简化算法特征对比[6]

在上述算法中既能够较好地保持模型的拓扑结构、特征边、顶点位置,又能保持较高的执行效率的算法有以下三种:

2.3.1 小波分解小波分解方法由Lounsbery和DeRose在1994年提出[7],使用较为广泛。它的重建过程是通过选择适量的高频信号与低频信号来合成一定精度的三维模型;通过略去多余的高频分量来达到简化的效果。这种方法简单、高效,但只适用于具有细分连通性的三角网格。

2.3.2 渐进网格法PM算法[8]以边折叠和点分裂为基本操作,能够实时生成不同细节的网格模型。但是对于同一网格、不同区域、多分辨率的细节的实时生成方面,该算法缺乏数据结构的支持。由于边删除的先后顺序与边的几何拓扑信息无关,在模型恢复的过程中需要逐一判断,因而很难实现LOD模型的实时生成。

2.3.3 边折叠法边折叠简化算法是在每一次简化操作中以边作为被删除的基本几何元素。在进行多次边折叠后,面片就可以被简化到我们想要的任何程度。Garland和Heckbert于1997年提出了一种基于二次误差测度(quadric error metric,QEM)的化简算法Qslim[9]。算法误差测度是基于顶点到平面的距离平方和。而后Hoppe将颜色、纹理及法向量等信息加入到Qslim算法中,然后采用翼边(wedge)数据结构来实现,得到了较好的效果[10]。Qslim算法所得到的简化模型具有较高的质量,占用内存量小,运算速度快,并且提供开放源代码,是非常有效的化简算法。

综合考虑各个算法的执行速度、特性保持和适用的模型,最终决定采用Qslim算法[9]。算法描述如下:Qslim算法以边折叠操作和二次误差度量为标准评价方法来实现模型简化。在边折叠操作中,边的两个端点v0、v1被平移到空间同一位置,由此会导致模型的简化并且产生误差。算法为模型上每个顶点指定附属平面,并基于点到平面的距离d(v)来计算端点在边折叠后的平移误差,并依据阈值判断本次操作的优劣。顶点的平移误差函数为:

p为v在三维空间的位置,plane(p)为顶点v周围包含v的三角面片所在的平面的集合。

边折叠的误差评价函数即为2个端点的误差函数的和。最小化此误差函数可以得到最终折叠的位置以及折叠的误差,即

在堆中对计算出的每条边的折叠误差进行排序。Qslim算法的主要流程如图2所示。

图2 Qslim算法流程图

3 测试

模型和场景简化好后将其转化为WRL格式的文件。以Apache Tomcat 6.0为应用服务器。使用操作系统为Windows Mobile 5.0的手机模拟器进行测试。通过Pocket Cortona三维手机浏览器的访问页面,测试的手机模拟器配置参数如下:CPU192MHz;GPU输出多边形数量1 400万/秒,像素填充率2.8亿/秒;内存128 MB ROM+64MB RAM;带宽理论数据下行:3.6Mbps,上行:384Kbps(测试效果如图3所示)。

图3 使用操作系统为Windows Mobile 5.0的手机模拟器测试效果图

图3a为卫星运行三维动画,3b为在研究室中对发射架进行近距离观察和学习效果图,在这里学生可以观察其内部结构和运行原理,图3c、3d为学生回到课堂对所见所学回顾和总结的场景,图3d中墙壁上的红蓝黄绿四个按钮分别代表开关灯、开关窗帘、开关电脑、开关投影仪播放或者停止播放视频。

文章设计并实现了移动虚拟学习系统—卫星发射运行仿真系统,并针对移动设备性能较低的特点,通过对网格模型简化算法比较分析,采用Garland和Hoppe的Qslim算法,在不影响其视觉效果的前提下使得浏览更加流畅。系统丰富了传统移动学习资源单一的呈现形式,弥补了以文本图片为主的学习资源表现力不足的缺陷,提高了学生的学习兴趣,降低了学习成本。

[1]丁坤肇,李焕勤.我国移动学习理论与实践研究综述[J].网络与信息,2010,(10):25

[2]詹青龙,张静然,邵银娟.移动学习的理论研究和实践探索—与迈克·沙尔普斯教授的对话[J].中国电化教育,2010,(3):3-5

[3]Norena Matintin-Dorta,Isabel Sanchez-Berriedl,Miguel Bravo.A 3D Educational Mobile Game to Enhance Student's Spatial Skills[J].IEEE,2010,(3):6-7

[4]Natho N,Pfeiffer O.A Knowledge Management System for Educational Scenarios in 3D Virtual Worlds[J].2010 Second International Conference on Mobile,Hybrid,and Online Learning,2010,(2):136-137

[5]Felix G,Hamza-Lup.3D Web-Based Environments for Online Learning[J].Case Studies,Technologies and Challenges,2009:1

[6]何晖光,田捷,张晓鹏,等.网格模型化简综述[J].软件学报,2002,13(12):2215-2224

[7]Lounsbery M,deRose T.Multiresolution analysis for surfaces of arbitrary topologicaltype[DB/OL].TechniqueReport,Washington:University of Washington,1994.fttp://ftp.cs.washington.edu/pUb/graphics/LounsPhd.ps.Z

[8]Hoppe H.Progressive meshe[DB/OL].In:Proceedings of the SIGGRAPH'96.1996.99-108.http://www.resarch.microsoft.com/research/graphics/hoppe/.

[9]Garland M,Heckbert P.S.Surface simplification using quadric error metric[J].In:Proceedings of the SIGGRAPH'97.1997.209-216

[10]Hoppe H.New quadric metric for simplification meshes with appearance attributes[DB/OL].I-n:IEEE Visualization1999.1999.59-66.http://research.microsoft.com/-hoppe/newqem.pdf

猜你喜欢

网格卫星误差
miniSAR遥感卫星
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
静止卫星派
追逐
压力容器制造误差探究
重叠网格装配中的一种改进ADT搜索方法
Puma" suede shoes with a focus on the Product variables
基于曲面展开的自由曲面网格划分
九十亿分之一的“生死”误差