基于Android的校园三维导览系统的设计与实现

  • 格式:pdf
  • 大小:880.74 KB
  • 文档页数:5

第31卷 第2期 哈尔滨师范大学自然科学学报 Vo1.31,No.2 2015 NATURAL SCIENCES J0URNAL OF HARBIN NORMAL UNIVERSITY 

基于Android的校园三维导览系统的设计与实现术 许林然 (哈尔滨师范大学) 【摘要】为了向用户提供更直观、更便捷的校园三维地图展示,基于Android 平台,运用OpenGL ES三维编程技术开发出了一个校园三维导览系统.系统实现了 三维地图的放大、缩小、平移以及地物的信息浏览等功能.该系统可以极大地推进 校园的数字化建设进程. 【关键词】Android开发;OpenGL ES;三维编程;数字校园 中图分类号:P28 文献标识码:A 文章编号:1000—5617(2015)02—0077—04 

0 引言 随着移动通信技术、计算机信息技术等新技 术的高速发展,平板电脑、智能手机等移动设备 层出不穷,智能手机等移动设备已经成为人们日 常生活的必需工具,快捷直观的地图查询越来越 受到人们的重视 .Android是Google公司于 2007年11月5日发布的基于Linux内核的移动 平台,是一个真正的开源移动开发平台 . OpenGL是由SGI公司开发的一套3D图形 软件接口标准.OpenGL的体系结构简单、使用方 便,并且具有与操作平台无关的优良特性,这使 得其迅速成为一种3D图形接口的工业标准,并 陆续在各种平台上得以实现.Android平台下支 持的高性能的3D图像编程接口是通过OpenGL ES来实现的.OpenGL ES是专门根据手持及移 动设备的特点对OpenGL标准进行裁剪定制产 生的 J.OpenGL ES是OpenGL三维图形API的 子集. 为了加快校园的数字化进程以及方便外界 和广大学生对校园的地理环境进行了解,开发一 个基于Android的校园的三维导览系统具有重要 意义.该系统提供的移动端三维地图的展示相对 收稿日期:2014—09—22 哈尔滨师范大学大学生实践创新基金资助 传统的二维地图展示,具有方便快捷、直观形象 的特点. 1 系统设计 在OpenGL ES当中只支持点、线和三角形面 这三种基本图元的绘制,三角形面是最基础的平 面类型,同时也是OpenGL ES中唯一的平面类 型,利用若干个三角形面可以构成复杂的三维物 体.由于在OpenGL ES中并没有提供构建复杂三 维模型的高级命令,所以使用OpenGL ES程序来 建立三维模型时过程比较繁琐、直观性较差、编 程量较大.此外如果建模时需要对模型的数据进 行修改,那么修改的效率也是很低的. 运用三维建模软件进行建模不需要编程便 可以直观地构造外观精细的三维模型,大大提高 了软件的开发效率.由于最终的目的是能够在 Android平台上对三维场景进行控制和交互,于 是,需要把三维建模软件中已建立好的模型的数 据导人到Android平台上加以利用,然后在 OpenGL ES程序中对模型数据进行解析 J,运用 光照、纹理和模型变换等函数,就可以把三维场 景在Android平台上渲染出来. Android中的用户界面视图的显示与交互是 78 哈尔滨师范大学自然科学学报 2015年第31卷 通过Activity组件加载用户界面View来实现的, 同样对于三维场景的显示也需要借助于View. Android专门定义了GLSurfaceView类,该类是 View类的子类,它为OpenGL ES提供了一个专 用的渲染线程.GLSurfaceView类是Android和 OpenGL ES联系的纽带. 系统的设计思路如图1所示. 图1 系统设计思路图 2 系统关键技术实现 2.1 三维场景的建模与OBJ格式文件的解析 三维场景建模的首要任务就是收集建模的 数据…,系统所需的建模数据主要有校园的二维 平面图、校园的地形图、实测图片、三维观测数据 等.其中校园的二维平面图是指校园的规划设计 CAD图,它是三维场景建模的主要数据源;校园 的地形是指校园的遥感卫星图像,它可以作为三 维场景的地形底图;实测图片是指建筑物、道路、 草地等的表面纹理图片;三维观测数据指的是建 筑物的高程数据.系统在进行三维场景建模时所 采用的三维建模软件是3DMAX,该软件具有模 型表达精细、建模工具丰富等特点.由于校园规 划设计CAD图是三维建模的主要数据源,使用 3DMAX进行三维建模可以实现与建模数据源的 无缝融合 . 在3DMAX中完成校园三维场景的建模后, 由于Android平台上的OpenGL ES无法直接读 取模型文件,所以就需要把模型文件保存为 OpenGL ES可以读取的文件,3DMAX中提供了 几种可以被OpenGL ES读取的输出文件格式,在 此选择了比较通用的OBJ文件格式.OBJ文件是 以纯文本的形式记录三维模型的顶点、法向量、 纹理坐标和材质使用信息.在JAVA程序中结合 正则表达式对OBJ文件进行解析,把解析过程中 所获取的顶点坐标、纹理坐标、法向量坐标等模 型信息存放到数组ArrayList当中,以便OpenGL Es进行模型的绘制与渲染时使用.其代码如下 所示(以获取顶点坐标为例): String[]tempsa=temps.split(”[]+”);// 用空格分割行中的各个组成部分 if(tempsa[0].trim().equals(”v”)) {//此行为顶点坐标 //若为顶点坐标行则提取出此顶点的 XYZ坐标添加到原始顶点坐标列表中 alv.add(Float.parseFloat(tempsa[1]));//X 坐标 alv.add(Float.parseFloat(tempsa[2]));//Y 坐标 alv.add(Float.parseFloat(tempsa[3]));//Z 坐标 //alv为ArrayList<float>型数组} 2.2三维地图的平移功能的实现 三维场景的平移功能的实现需要用到平移 变换函数glTranslatef(float ,float Y,float z),在 Renderer类中定义两个成员变量xoffest和yof- fest,分别表示沿 轴和Y轴的位移,并对其进行 初始化,然后传给glTranslatef函数.在GLSur- faceView的屏幕触摸事件下,如果发生ACTION— MOVE操作,则根据屏幕拖动的起点和终点计算 轴方向的位移和y轴方向的位移,分别赋给 xoffest和yoffest,然后调用GLSurfaeeView的重绘 方法requestRender()屏幕上即呈现出三维场景 平移后的效果. 2.3 三维地图的放大、缩小功能的实现 在Renderer类中定义两个成员变量xScale 和yScale,分别表示在 轴和l,轴上的缩放因 子,并对其进行初始化,在onDrawFrame()函数 中调用glScale(xScale,yScale,1.Of).当发生放 大或缩小操作时,根据预先设定的放大或缩小比 例,修改xScale和yScale的值,然后调用GLSur— faceView的重绘方法requestRender()屏幕上即 呈现出三维场景放大或缩小后的结果.能够产生 放大和缩小的操作有以下两种. . 第一种是直接点击屏幕上的放大、缩小按 钮.ImageButton按钮是Android SDK提供的基本 的uI组件,为了能使ImageButton按钮能够“悬 浮”在GLSurfaceView上,把ImageButton按钮布 局在另一个XML文件中,并在该XML文件中设 置OnClick属性,以便响应在主程序中定义的放 大、缩小方法,然后通过Layoutlnflater把这个 XML文件和程序默认的XML合并在一起.其代 第2期 不同受限条件下纳米cu液体的结晶过程研究 ll5 [5] 

[6] [7] 

Sivebaek M。Samoilov V N,Pers¥on P N.Efiective Viscosity of Confined Hydrocarbons.Physical Review Letter,2012, lO8(3):036102. Gao J P,Luedtke W D,Landman U.Layering transitions and dynamics of confined liquid films.Physical Review Letter, 1997,79(4):705—709. Miyahara M,Gubbins K E.Freezing/melting phenomena for Lennard—Jones methane in slit pores:A Monte Carlo study. Journal of Chemical Physics,1997,106(7):2865—2880. 

[8] Maddox M,Gubbins K E.A molecular simulation study of freezing/melting phenomena for Lennard—Jones methane in cylindrical nanoscale pores.Journal of Chemical Physics. 1997,107(22):9659—9667. [9]Das C K,Singh J K.Melting transition of confined Lennard— Jones solids in slit pores.Theoretical Chemistry Accounts. 2013,132(4):1351—1—13. [10]张瞍,张晓茹,管立,等.金属cu熔化及结晶行为的计算 机模拟.金属学报,2004,40(3):251—256. 

The Crystallizaiti0n of Nano Liquid Cu Confined by Diferenat Wall Zhang Jianlong (Harbin Normal University) 

Abstract:A molecular simulation research of the freezing behavior for different thickness of Cu liquid confined by two kinds of wall using EAM(embed atom mode1)potentials is reported in this paper.The crystallization temperatures(Tm)is decreased with the increasing of thickness,and Tm of wetting liquid(s =0.6 eV)is higher than that of non—wetting liquid( =0.2 eV)in the the same thickness. Keywords:Molecular dynamics simulation;Confined liquid;Crystallize