机械工程学院毕业文撰写规范

点赞:5200 浏览:17486 近期更新时间:2024-02-29 作者:网友分享原创网站原创

工程硕士学位论文选题报告

及论文工作计划

课题名称:

基于mongoDB的气象数据三维可视化系统的

研究与设计

学号1231212

姓名张旭

专业领域软件工程

所在院,系软件学院

校内导师王介之教授

校外导师

选题时间2016年11月12日

同济大学研究生院

2016年3月3日

一、立论依据

课题来源,选题依据和背景情况,课题研究目的,工程应用价值

1,课题背景

云是自然界中常见的景观,在计算机技术日益成熟的今天,云的计算机模拟已经成为可能并已广泛的引用到各种领域中,如影视特效,游戏场景,气象预报等.作为自然界中做常见的现象,云的模拟在涉及到自然场景的游戏中已不可或缺,对于影视剧的情节需要生产各种满足艺术家要求的云也是非常实用并且有效的,在虚拟战场环境中,云的模拟有利于天气信息的视觉直观表达.

2,选题依据和研究意义

科学计算可视化是计算机图形学研究的热点领域之一,可视化技术极大地提高了数据处理的速度和处理的质量,推进了科学计算工具和研究环境的进一步现代化,从而使科学研究的面貌发生了根本的变化.气象预报关系到亿万人民的生活,国民经济持续发展,国家安全,对灾害天气的预报和预防将会大大减少人民生命财产的损失.气象预报的准确性来自于气象数据的准确获取,以及对数据的处理与分析,而气象预报业务所固有的及时性需求使得气象工作者必须在短时间内从海量的气象数据库中获取有价值的信息,将可视化技术用于气象领域,使得原来复杂,晦涩难懂的气象数据转化为直观的二维和三维的图像,极大地帮助了气象工作者分析气象数据和在短时间内做出准确的判断,因此面向气象数据的可视化技术具有极大的研究价值.

二、文献综述

国内外研究现状,发展动态

1,国内外研究现状

三维云的计算机模拟的研究取得了长足的进展.不同的基元被用于云的建模工作中.Gardner[4]和Lewis均采用了基于椭球体对云建模的方法,所不同的是,Cardner采用的不规格的碎片纹理映射到椭球表面的方法模拟云的细节,而Lewis等人则是利用程序实体噪声来处理形状的变化.Harris[7]和Lastra等人提出了一种使用"元球"创建人造云的方法,通过利用GPU加速很好的实现了云的实时模拟[16].Dobashi等人提出给予元细胞自动机的模拟方法对云进行模拟[8],他们提出的方法实现了对云图的三维建模[14],此外,他们提出了全球级云的建模方法较好的完成了交互式云密度的生成[11].Miyazaki[12]等人提出了CML方法对云形成的物理过程进行了近似模拟,能够根据一定的大气参数设置生成不同类型的云.

机械工程学院毕业文撰写规范参考属性评定
有关论文范文主题研究: 关于数据库的论文范文资料 大学生适用: 电大毕业论文、学校学生论文
相关参考文献下载数量: 47 写作解决问题: 怎么撰写
毕业论文开题报告: 文献综述、论文选题 职称论文适用: 刊物发表、职称评副高
所属大学生专业类别: 怎么撰写 论文题目推荐度: 经典题目

发展动态

云图的外在表现包含的信息很多,如何充分利用云图中包含的更多的细节信息,如云量等得到更准确的云的仿真数据,即更高细节的云密度分布状况,是本文下一步继续研究的目标.在此过程中,考虑光照在云图形成过程中的影响以及对应的反演,是一项有意义而充满挑战的工作.此外,在此基础上的云系及相关危险气象过程的可视化动画演示对于气象研究有很好的视觉直观辅助作用,这也是下一步主要的工作之一.

云图只是气象数据可视化中的一个方面.还有许多其他方面的气象信息,例如磁场,风向,大气中的臭氧含量等等.风暴,海啸,地震随时都可以夺走成千上万人的性命,在大自然面前,人类是如此的渺小,所以做好气象预报的工作可见是多么的重要.3D气象数据渲染系统直观地展现出大气信息,对气象研究工作有着非常深远的意义.

三、研究内容

1.主要研究内容及拟关键技术

(1)主要研究内容

该系统利用mongoDB不断接入传感器传送的数据(空气湿度),结合时空R树索引与mongo自带的索引查询目标时间段目标区域数据,最后通过OpenSceneGraph形象地描绘出目标区域的气象数据.

本实验也是基于"基元"的基本思想,但是不同的是,"基元"是不同形状的二维面片.根据原始的气象数据(大气中某区域的水分密度),组合这些不同的"基元",并给它们绑定不同的纹理,通过改变纹理的属性参数和"基元"的位置,大小等,以模拟现实世界中的云.

该系统主要围绕两个模块设计:(一):采用分布式存储,基于时空R树管理的数据管理模块.采用MongoDB分布式管理的云存储,时空双重索引,时空双向游程数据压缩,(二):基于OpenSceneGraph和MFC的多线程渲染模块.气象数据到场景数据的转化,八叉树[17]支持下的多细节层次管理,多粒度支持下的气象数据自适应调度,语义映射的气象信息自适应可视化.

拟关键技术

1,时空R树索引技术

时空R树[6][9]是一种与B树[15]类似的高度平衡树.这种索引是动态的,不需要定期重建.索引记录(IndexRecords)保存在叶节点中.

时空R树的结点分为叶结点和中间结点.叶结点存储存储一些了元组的物理位置,每个元组代表某个对象在某个时刻,某个位置的属性,并且每个元组都有一个唯一的标示符,标示符用于检索.每个叶结点同时还记录有一个唯一的标示符,用于结点的检索.中间结点存储下层结点的时空范围,根结点则存储整棵时空R树的时空范围.

图2.1时空R树索引结构描述示意图

时空索引的主要特点:时空高效查询.对任何带有时间和空间属性的记录,从时间维和空间维同时构建索引,不同于普通方式的一维或者多维的索引.

大规模时空数据的管理.在索引结构中,叶结点存储一系列时空元组数据,中间结点存储下层结点的时空范围和结点标示符,时空R树是一种与B树类似的高度平衡树.大幅度增加元组数据,不会导致索引结构的复杂度增高,同时索引结构的结点的数目不会随着元组数据的大幅度插入而急剧上升.

2,OpenSceneGraph

OpenSceneGraph是一款高性能的3D图形开发库.广泛应用在可视化仿真,游戏,虚拟现实,高端技术研发以及建模等领域.使用标准的C++和OpenGL编写而成,充分利用STL和设计模式,发挥开源开发模型的优势来提供一个免费的开发库,并且重点集中在用户的需求上,可以运行在Windows系列,OSX,GNU/Linux,IRIX,Solaris,HP-UX,AIX以及FreeBSD操作系统.

它完全是由标准C++程序和OpenGL写的,充分利用STL和设计模式,发挥开源开发模型的优势来提供一个免费的开发库,并且重点集中在用户的需求上.随着使用一个全特性的场景图OpenSceneGraph的关键优势在于它的性能,可扩展性,可移植性和可快速开发.

性能:支持视图投影剔除(viewfrustumculling)Occlusionculling),小特性剔除(allfeatureculling),细节层次节点(LOD)statesorting),顶点数组,顶点缓冲对象(vertexbufferobjects),OpenGL着色语言和显示列表(displaylists),以上所列都是场景图内核的一部分.

快速开发:场景图的内核封装了包括最新扩展的大部分OpenGL功能,提供诸如剔除和排序的渲染优化功能,同样提供能快速开发高性能图形应用程序的一整套补充库.应用程序开发者可以更关心实质性内容和如何操控这些它们,而不再是底层的代码

数据装载:为了读入和写出数据库,有一个数据库的支持库(osgDB)增加了通过后缀名动态插件机制,从而支持大量数据格式,目前的发布版本有55种单独的插件支持3D数据和图像格式的装载.

节点工具箱:这个场景图同样有一套节点工具集,它们是可以在你的应用程序中编译或者在运行时装载的独立库,它们增加支持粒子系统(osgParticle),高质量抗锯齿文本(osgText),特效框架结构(osgFX),阴影框架结构(osgShadow),交互控制(osgManipulator),与虚拟仿真相关的效果(osgSim).

可移植性:场景图的内核已经被设计成尽量少的依赖具体的平台,很少的部分超出了标准C++程序和OpenGL.这就使得这个场景图可以快速移植到大部分系统中.

3,OpenGL

OpenGL(全写OpenGraphicsLibrary)是个定义了一个跨编程语言,跨平台的编程接口的规格,它用于三维图象(二维的亦可).OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库.

OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植,OpenGL可以与VisualC++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性,OpenGL使用简便,效率高.它具有七大功能:

建模:OpenGL图形库除了提供基本的点,线,多边形的绘制函数外,还提供了复杂的三维物体(球,锥,多面体,茶壶等)以及复杂曲线和曲面绘制函数.

变换:OpenGL图形库的变换包括基本变换和投影变换.基本变换有平移,旋转,变比镜像四种变换,投影变换有平行投影(又称正射投影)和投影两种变换.其变换方法有利于减少算法的运行时间,提高三维图形的显示速度.

颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(ColorIndex).

光照和材质设置:OpenGL光有辐射光(EmittedLight),环境光(AmbientLight),漫反射光(DiffuseLight)和镜面光(SpecularLight).材质是用光反射率来表示.场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色.

纹理映射(TextureMapping).利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节.

位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending),反走样(Antialiasing)和雾(fog)的特殊图象效果处理.以上三条可使被仿真物更具真实感,增强图形显示的效果.

双缓存动画(DoubleBuffering)双缓存即前台缓存和后台缓存,简言之,后台缓存计算场景,生成画面,前台缓存显示后台缓存已画好的画面.

此外,利用OpenGL还能实现深度暗示(DepthCue),运动模糊(MotionBlur)等特殊效果.从而实现了消隐算法.

4,MongoDB

mongoDB,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案[1].

MongoDB是一个基于分布式文件存储的数据库.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型[2].


Mongo最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.

MongoDB怎么写作端可运行在Linux,Windows或IOS平台,支持32位和64位应用,默认端口为27017.推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB[3].

面向集合存储,易存储对象类型的数据.模式自由.支持动态查询.支持完全索引,包含内部对象.支持查询.支持复制和故障恢复.使用高效的二进制数据存储,包括大型对象(如视频等).自动处理碎片,以支持云计算层次的扩展性.支持RUBY,PYTHON,JA,C++,PHP,C#等多种语言.文件存储格式为BSON(一种JSON的扩展).可通过网络访问.

2.拟采取的研究方法,技术路线,实施方案及可行性分析

研究方法

本课题基于MongoDB气象数据渲染系统选取线性顺序开发模型予以实施.主要包括:收集资料,分析,设计,编码,测试和运行这几个阶段.

收集资料:了解当前国内外对于气象数据可视化的研究,并了解其相关原理及所用的技术.

分析阶段:深入研究目前关于气象数据可视化的主流技术,找到高效可靠的设计方案.并分析其可行性.

设计阶段:进行概要设计和细节设计,主要任务是该气象数据渲染系统的整体构架设计,业务功能逻辑设计以及模块内部具体功能实现的设计,

将系统模块化,设计每个模块的接口.

开发阶段:根据前期需求分析的内容和选定的技术方案编写代码,完成系统每个模块的实现,

测试阶段:首先对系统每个模块测试,然后将模块组合,再进行测试.

运行,维护阶段:保证开发的系统能正常运行,排除运行中的问题.同时优化系统,满足预期要求.

技术路线,实施方案

本课题的研究主要采取"收集--分析--设计与编码--测试--改进"的方案.

收集目前国内外关于气象数据可视化的文档资料,分析研究其所用到的各种技术的各自优势,选择合适的技术进行开发.

分析研究气象数据渲染系统功能及性能需求,确定系统采用的框架,并将系统模块化,设计模块间的接口.

基于MFC的框架,采用C++语言,及MongoDB,RTree索引,OpenGL,多线程,OpenSceneGraph等技术对系统进行设计和实现.

测试,分析系统运行的性能及稳定性,适当地提出改进方案.

可行性分析

本课题采用C/S两层结构.怎么写作器端(也即基于MongoDB分布式的数据库环境)用于存储气象数据.客户端分为三类:第一类是传感器数据接入端,专门负责传感器数据接入,并将气象数据划分存储在怎么写作器端的数据库,第二类是索引构建端,专门负责数据库中临时数据的时空索引的构建,第三类是气象数据模拟终端(也即应用终端).

该系统主要围绕两个模块设计(一):采用分布式存储,基于时空R树管理的数据管理模块.采用MongoDB分布式管理的云存储,时空双重索引,时空双向游程数据压缩,(二):基于OpenSceneGraph和MFC的多线程渲染模块.气象数据到场景数据的转化,八叉树支持下的多细节层次管理,多粒度支持下的气象数据自适应调度,语义映射的气象信息自适应可视化.每个模块都在可控的范围之内,而且关键技术在目前都有很多的成功实例.

MongoDB是一个基于分布式文件存储的数据库.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.

Mongo最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.R树是GUTTMAN于1984年提出的最早支持扩展对象存取方法之一,也是目前应用最为广泛的一种空间索引结构.许多商用空间数据库系统,如MapInfoSpatialWaro和OracleSpatial等均提供对R树的支持,开放源码系统PostgreSQL也实现了R树.近二十多年来,许多学者致力于R树的研究,在R树的基础上衍OpenSceneGraph是一个开放源码,跨平台的图形开发包,它为诸如飞行器仿真,游戏,虚拟现实,科学计算可视化这样的高性能图形应用程序开发而设计.它基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具.

基于mongoDB的气象数据三维可视化系统的研究与设计开发预期达到以下几个目标:

确保提出合理的实施方案,具有良好的可操作性,熟练使用关键技术完成开发.

确保系统能够分布式的数据环境能够存储T级别以上的气象数据,确保系统稳定运行,具有良好的可扩展性.

确保渲染的流畅性,保证每秒至少24帧的效果.

确保索引的效率,每次查询都应该在3秒之内完成.

顺利完成论文"基于MongoDB的气象数据可视化系统的设计与实现"

四、研究基础

1.理论基础

熟练掌C++,C编程语言

基于MongoDB分布式数据库环境配置

熟悉时空RTree树索引的构建

熟悉MongoDB非关系数据库的运用

2.实验基础

具有工程系统开发经验,熟悉C++,C开发语言,具有MongoDB开发经验

3.软硬件环境

硬件环境:

IntelCore2DuoT6570联想ThinkPad

软件环境:

操作系统:Windows7,

开发工具:VS2016,

开发技术:MongoDB,OpenScenceGraph,OpgnGL,R_Tree.

4.参考资料

[1]KristinaChodorow&,MichaelDrirolf.MongoDB:TheDefinitiveGuide[M].

第一版.北京:人民邮电出版社,2016.

[2]红丸着,MongoDB管理与开发精要[M].北京:机械工业出版社,2016.12.

[3]Kylebanker着.MongoDBinAction,MongoDB实战[M].北京:人民邮电出版

社,2016.10.

[4]GardnerYG.Visualsimulationofclouds[C]//ACMSIGGRAPHComputer

Graphics.Proceedingsofthe12thAnnualConferenceonComputer

GraphicsandInteractiveTechniques,1985:297-304.

[5]PantelisElinasWS.Real-timerenderingof3Dclouds[J].JournalofGraphics

Tools,2000,5(4):33-45.

[6]A.Guttman.R-Trees:Adynamicindexstructureforspatialsearching,SIGMOD

Record,Vol.14,No.2,June1984,pp.47-57

[7]HarrisJM.Realtimecloudrendering[C]//EurographicsAssociation,Computer

GraphicsForum.2001.BlackwellPublishing:Manchester,2001:76-84.

[8]YoshinoriDobashi,etal.Asimple,efficientmethodforrealisticAnimationof

Clouds[C]//SIGGRAPH2000.2000:19-28.

[9]V.NgandT.Kameda.ConcurrentaccessestoR-trees,Proc.ThirdInternational

Syrup.onSpatialDatabases,Singapore,June1993,pp.142-161.

[10]YoshinoriDobashiTN,HideoYamashita,TsuyoshiOkita.ModelingofClouds

Fromsatelliteimagesusingmetaballs[J].TheVisualComputer,1998,15:471-482.

[11]YoshinoriDobashiTY.AcontrollablemethodforanimationofEarth-scaleclouds[C]//ProcofCASA.2006:43-52.

[12]RyoMiyazakiSY,etal.AmethodformodelingcloudsbasedonAtmospheric

Fluiddynamics[C]//Proceedingsofthe9thPacificConferenceonComputer

GraphicsandApplications,2001:363.

[13]YDobashi,KKaneda,HYamashita,TOkita,andTNishita.AsimpleEfficient

Methodforrealisticanimationofclouds[C].InProceedingsof

ACMSIGGRAPH2000,ComputerGraphicsProceedings,AnnualConference

Series,pages19–28.ACM,ACMPress/ACMSIGGRAPH,2000.

[14]YDobashi,TNishita,HYamashita,andTOkita.UsingmetaballstoModeling

Andanimatecloudromsatelliteimages[C].15(9):471–492,1999.

五、工作计划

序号阶段及内容工作量估计

(时数)起讫日期阶段成果形式1

2

3

4

5

课题开题,走访企业相搜集关资料,阅读文档,学习关键技术,查阅参考文献

根据系统需要,确定系统的框架,分析系统功能需求,将系统模块化

根据模块设计要求,实现每个子模块,并完成对模块的测试.

根据前期各阶段的研究成果,撰写论文初稿

参加论文终期评审,修改论文初稿300小时

240小时

360小时

360小时

120小时20012.03~2016.08

2016.08~2016.12

2016.12~2016.05

2016.05~2016.12

2016.12~2016.07收集所需的信息和资料,分析和选择系统开发技术,学习开发此类系统的关键技术

各种设计相关文档的撰写,例如需求分析说明书,数据库设计文档等

进行具体模块开发,程序代码编写

论文初稿

合格的工程硕士论文版本

六、评审意见

导师(或导师组)对本课题的评价

气象预报与国民经济发展,个人生活出行息息相关,每个国家均给予重视,有大量气象数据得到采集和分析,但如何通过形象的方式将这些数据展现出来也是一个难题,本课题通过非关系数据库和3D建模的方式来实现气象预报的可视化,具有较高的应用价值和技术含量,选题可行.在需求上,要弄清建立三维可视化系统的目标,是为了形象的展示云图,还是为了提高气象预测的准确率,抑或有其他业务目标技术方案上本文采用分布式文档存储数据库mongodb来进行数据存储和分析,OpenGL接口和OpenSceneGraph图形库来实现三维图像生成,VisualC++作为开发平台,拟采取研究方法恰当,技术路线也切实可行.工作计划合理,同意开题

导师签名

2016年11月15日评审小组的审查结论

组长组员

年月日工程领域领导小组意见

负责人签名

年月日

10