三维地图漫游用例建模
Posted hmk0407
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三维地图漫游用例建模相关的知识,希望对你有一定的参考价值。
一、建模背景
(1)工程实践项目需求
我的工程实践课题是基于室内地图数据,运用OpenGL渲染手段,构建并渲染三维空间模型,进一步可应用到虚拟现实的交互游戏场景。
(2)用例建模意义
用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。在用例方法中,我们把被定义系统看作是一个黑箱,我们并不关心系统内部是如何完成它所提供的功能的。
用例方法首先描述了被定义系统有哪些外部使用者(抽象成为Actor),这些使用者与被定义系统发生交互;针对每一参与者,用例方法又描述了系统为这些参与者提供了什么样的服务(抽象成为Use Case),或者说系统是如何被这些参与者使用的。所以从用例图中,我们可以得到对于被定义系统的一个总体印象。
用例图中主要设计到的内容有:
1、参与者(Actor) 是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。
2、用例(Use Case) 用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。
3、通讯关联(Communication Association) 用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些服务(用例),或者说系统所提供的服务(用例)是被哪些参与者所使用的。主要包括:
- 包含(include):基础用例(Base)会用到被包含用例(Inclusion),具体地讲,就是将被包含用例的事件流插入到基础用例的事件流中
- 扩展(extend):扩展用例(Extension)的事件流在一定的条件下按照相应的扩展点插入到基础用例(Base)中。
- 泛化(generalization):当多个用例共同拥有一种类似的结构和行为的时候,我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
二、用例建模
(1)用例图
下面是针对我的工程实践进行的用例建模。
(2)用例范围
1、传入实景数据
参与者需要将现实中存在的实物通过摄像头、红外遥感等方式,获取到物体空间坐标和形状特征,并将其整理成数据库形式的文件,导入到系统中。
2、构建三维图形
数据导入后,首先需要对数据进行处理,将点云坐标数据转换为八叉树空间模型,运用OpenGL图形处理接口,使用三角剖分优化算法生成三维图形。在此基础之上,可进行一些三维图形渲染,主要包括着色器编写、渲染流水线优化,实现光照、阴影、表面纹理、细节装饰等效果。
3、虚拟场景漫游
将构建好的三维图形导入到Unity3D中,可依此建立所漫游的地图模型。然后根据用户需求,自行创建漫游路径。最后对场景中存在的物体对象进行运动效果优化,例如模拟刚体碰撞、车辆行驶移动,甚至实现重力等物理效果。
三、总结
用例图使我们对系统的功能有了一个整体的认知,我们可以知道有哪些参与者会与系统发生交互,每一个参与者需要系统为它提供什么样的服务。用例描述的是参与者与系统之间的对话,但是这个对话的细节并没有在用例图中表述出来,针对每一个用例我们可以用事件流来描述这一对话的细节内容。
与传统的功能分解方式相比,用例方法完全是从外部来定义系统的功能,它把需求与设计完全分离开来。在面向对象的分析设计方法中,用例模型主要用于表述系统的功能性需求,系统的设计主要由对象模型来记录表述。另外,用例定义了系统功能的使用环境与上下文,每一个用例描述的是一个完整的系统服务。用例方法比传统的SRS更易于被用户所理解,它可以作为开发人员和用户之间针对系统需求进行沟通的一个有效手段。
以上是关于三维地图漫游用例建模的主要内容,如果未能解决你的问题,请参考以下文章
《企业云桌面实施》-小技巧-08-建筑设计行业-真实效果-漫游动画-三维视图渲染