一种采用动态交互技术的舰船航路规划软件设计与应用

2016-05-14 01:12冯艳
数字技术与应用 2016年8期

冯艳

摘要:通常舰船航路设计规划与设计过程是在图纸或者使用计算机绘图在静态条件下讨论完成的,这种动态性、灵活性不强,缺乏直观感知。本文针对舰船航行科学试验中航路设计灵活性不够等问题进行研究,基于动态交互和演示技术,规划和设计一种调整便捷、重复性强、直观动态的航路设计软件,在复杂航路设计,涉及多平台、多设备协同时有独到作用。

关键词:动态交互 航路设计 Flash MDM

中图分类号:TP31 文献标识码:A 文章编号:1007-9416(2016)08-0180-02

在舰船平台的科学试验中,对舰船、飞机和设备的航路协同设计过程通常采用图纸手绘或使用计算机绘图软件完成。由于条件限制这种方式静态单一,重复性不高。对于平台多、机动强的航路设计来讲,图纸形式动态连续性不强,表达不够清晰。本文基于动态交互和显示技术,采用Flash动画软件和MDM数据读写技术,研究一种调整便捷、过程动态、简单直观、重复性强的航路设计软件。能够提高试验设计时的效率。

1 动态交互和演示技术

航路设计软件开发采用美国Macromedia公司著名的交互式动画程序设计软件Flash,其主要技术特点为:使用矢量图形和流式播放技术提高流畅性;采用关键帧和图符技术缩小文件大小,从而使动画在很短时间里就得以播放;通过ActionScript脚本编程语言和内置组件实现用户与动画的交互性[1]。对动态数据读取和写入方面采用MDM公司的MDM Zinc,采用封装形式实Flash实现读写文件,浏览页面,读写数据库等等操作。

2 功能设计与开发

2.1 软件功能和流程设计

功能设计方面,根据用户的需求,软件需要实现航路航线设计,对方案进行新建、修改、保存、打印、讲解、动态演示等操作,利用动画功能实现航路设计的交互性、参与性与重复性,软件界面如图1所示。

结构设计方面,通过对图标符号及其路标点参数的设置,并将所有信息存储于数组中。在演示界面,将数组中的数据进行解析,通过动画进行演示。数组中的信息可以保存起来,以便下次直接使用。

2.2 动态设计的功能实现

设计中,采用将图标对象所有的属性信息、运动信息都存放的相应的数组中保存和方便调用。然后利用帧循环实现每次对数组进行扫描,扫描的循环控制变量的变化。每次帧循环对数组进行扫描,扫描的循环控制变量的增量,使其每次都从每个标号的0号路标开始。在扫描过程中,碰到数组中标志项(tag)为1的表示此路标已经绘制完毕,直接跳过,碰到标志项为0的,则对相应的标号进行绘制。根据状态项move styler的值,利用switch语句进入相应的路径绘制。0表示直线,1表示逆时针半圆,2表示顺时针半圆,3表示蛇形机动,4表示手绘航线。

在扫描过程中:遇到开始、结束等标志位表示开始绘制或者跳过;利用switch语句选择进入相应的路径绘制,每个运动状态的绘制分为三部分:运动参数的初始化(每个路标点的第一次绘制时进行);运动的结束(到达下一路标点时);中间运动状态的绘制(每次的前进步长由计算和初始化时的参数得出)。

2.3 数据库存储与更新

为了能将用户设计的当前态势文件和当前画面的海图有关信息保存在编辑方案中供以后重显和集中统一管理,就必须实现Flash对文件读写的功能,第一种方法是用Flash自身的函数SharedObject存储数据可以实现,但是存储数据有限,而且操作上比较复杂;第二种方法是用VB构造一个界面,把Flash嵌在里面,用FSCommand把所有数据以字符形式发给VB界面,由VB来实现数据写入文本,但在程序的实际编写工作中发现VB与Flash之间实现通讯并不容易;第三种是借助支持Flash的第三方软件,Zinc是MDM推出的一款能将Flash做成exe的一个工具,可以让Flash的exe完成读写文件,读写数据库等等操作,本软件选择了第三种实现方式。

3 软件的操作与应用

3.1 设计界面的操作与应用

3.1.1 要素选取与布局

标图作业的实质是在海图背景上标绘图标标号等标图内容,存储在态势文件中,与海图一起显示或打印,为设计演示服务。图标标号主要在软件源程序中按照需求生成和管理。

在海图背景上标绘图标标号的过程:首先选取待标图标,在标号面板上点按标号后拖动到海图相应位置即可,在参数面板中会自动为标号按照标号性质用数字序列命名,在标号属性单选框中可以选择标号的属性即为标号为“威胁方”(蓝色)或者“友好方”(红色)图标。

3.1.2 参数设置与动作

参数面板是用户主要进行设计动作的地方,也是设计软件的核心。主要包括速度设置、运动方式设置、距离选择、设置路标和绘制航线。

①速度设置:为用户已经选择完成的不同标号设置速度,或者为用户已经选择完成的同一标号的路标点设置速度,单位为Km/h。

②运动方式:共有5种运动方式可以选择,分别为直线运动、逆时针半圆形运动、顺时针半圆形运动、蛇行机动、手绘航线。

③距离选择:为用户已经选择完成的标号与最近的路标点设置距离,单位为Km。

④设置路标:为用户已经选择完成的标号设置路标点,就是在选择完成运动方式的基础上增加多个路径点,意味着标将按照用户设计的方案用第一个路标点运动到下一个路标点、第三个路标点等等。

⑤绘制航线:为用户显示或者隐藏已经绘制好的航线线条。

⑥开始演示:为用户对已完成的航路设计进行动态模拟过程。

3.2 演示界面应用

演示界面的效果如图1所示。主要包括播放控制面板和动画播放显示区。播放控制面板用来设计航路的播放控制,包括加速播放(可选加速系数)、播放、重播、暂停、返回等控制;包括航线、路标、画笔显隐、截屏等控制。动画播放显示区将按照用户设计的方案将标号的运动按照时间排序顺序显示,为最终设计显示效果。通过播放控制面板可以对动画播放进行控制[2]。

4 结语

本文对Flash和MDM技术联合实现航路动态交互的方法做了简要分析,与纸面标绘和软件绘图相比,这种实现方式具有良好的可扩展性、动态性和可重复性,程序文件体积小,方便使用和携带演示;画面直观清晰,容易达到教学效果等。

参考文献

[1]钟月云.Flash的儿童教育游戏研究与设计[D].湖南大学硕士论文,2011.

[2]陈丽,刘慧琼.媒体界面交互性设计的流程和原则[J].中国远程教育,2006(04).