交互实现

2024-10-15

交互实现(精选12篇)

交互实现 篇1

对于三维交互动画的制作,通常是建立在DirectX 3D和OpenGL等图形标准的基础上,通过DirectX 3D和Open GL等API函数库结合高级语言编程实现三维虚拟的交互操作。这对非专业人员来说是一件非常困难的。

Director MX是一套很好的多媒体开发工具,其自带的“行为程序库”能实现强大的交互功能。其内部集成的JavaScript,Lingo语言具有良好的重复使用能力[1]。在三维场景交互方面,Director MX加入了Shockwave 3D引擎,可以方便地导入3D模型,并利用软件本身提供的一套功能强大的工具包—3DBehaviors。通过该行为库轻松实现自由拖动、旋转模型,模型的缩放、透明,播放动画等。如果利用Director为Shockwave 3D加入的几百条控制Lingo,结合Director本身功能,能够基本实现各种三维场景的交互需求,并能避开OpenGL和复杂的程序编写。

下面就来介绍如何在Director MX中实现三维场景的交互。

1 使用3D演员

Shockwave 3D的应用范围很广,从简单的三维文字动画到交互式三维游戏环境,都可以通过它表现出来。但Shockwave 3D引擎只能浏览三维模型,虽然用户也可以通过Lingo来创建Shockwave 3D场景,不过要想创建复杂一些的场景就必须借助3DS MAX或MAYA等专业的三维软件。然后再将绘制好的三维模型转换为Shockwave 3D(扩展名为.w3d)的格式,这样Director MX才可以将它导入并成为3D演员。

下面主要讲一下使用3DSMAX的转换。首先利用3DSMAX完成三维造型,为其添加适当的材质纹理,然后选取菜单上的文件|导出命令,之后进入导出对话框,记住选取“Shockwave 3D场景导出”,如图1。

选取之后在“Shockwave3D场景导出选项”对话框中作适当的设置就可以了。这样就将模型转成Shockwave 3D格式文件,即.W3D文件,然后导入Director MX中就形成了3D演员。

2 利用3D行为实现三维场景交互

Director包含了二种不同类型的三维行为库:Trigger(触发器)和Action(动作)(如图2)。当程序运行时,使用者的某一动作(如单击鼠标左键)发生时,Trigger将向系统发出信号,从而引起指定的Action的执行(如旋转模型)。通过不同Action和Trigger的组合,就能很容易制作出很多3D互动效果。

下面制作一个按住鼠标左键就拖动模型旋转的动画。

首先将Shockwave 3D模型导入Director成为3D演员,然后将演员拖拽到Stage(舞台)中。将演员安排好后选取行为“Hold on Current Frame”,并将该行为拖到Score窗口的Frame1上。接着开始正式制作3D互动部分了。

选取3D类中的Actions里面的“Drag Model to Rotate”。放在Sprite1上的演员上面(如图3),接着会跳出“Parameters for'Drag Model to Rotate'”对话框,里面有关于旋转3D模型的设定。

设定好了之后还需要为该动作添加一个触发器(Trig ger)。在3D类中的Trigger里面找到“Mouse Left”行为。把Mouse Left这个行为拖拽到Score窗口中,放在Sprite1上的演员上面(如图4)。

接着会弹出“Parameters for'Mouse Left'”对话框,在里面可以指定要激活的Action,以及一些关于鼠标左键的设定。再选择一个行动群组以及其动作(Select a Group and its Action)下拉列表框中设定Rotate on X and Y(如图5),这样就可以在X和Y轴方向旋转模型了。

当然要想将模型放大、缩小或移动甚至变换摄像机,只要给模型添加不同的Action和Trigger就可以了[2]。

3 利用Lingo语句实现三维场景交互

利用Director的3D行为虽然可以很好控制3D模型,但交互性有些比较复杂的要求还是比较难以实现的。因此熟练地运用3DLingo语句可以更加灵活方便的控制3D模型。下面介绍几条简单实用的3DLingo控制语句。

在Stage窗口中添加一个按钮。打开按钮的Script窗口,输入以下脚本:

这段脚本表示事件名称为“on mouseUp”。即在这个按钮上按下鼠标左键时,就会执行上面这句程序。

sprite(1)是指分镜表中通道1中的角色,sprite(1).camera是指分镜表中通道一中的角色的摄像机,Translate是以某一固定的数值移动摄像机。在这句中指定的数值是(10,0,0),是指沿X轴移动10个像素,沿Y轴与Z轴移动0个像素,三个数字分别代表在三个轴上的改变量。回到Stage窗口,按下按钮摄像机向右移动,因此会看到模型向左移动了。

如果要旋转模型,可以输入:

member(1).model(1).rotate(0,20,0)

则表示旋转演员表中第一个演员中的第一个模型绕Y轴旋转20度。

如果要改变模型的外观(材质),可以输入:

这两句脚本是指在演员表的第一个演员中用演员表中第一个演员的图案建立一个名字叫做“rs”的新texture(材质、贴图),并把它赋给变量myTexture。第二句的意思是把模型1的shader(材质球)中的texture(材质、贴图)属性改变成变量myTexture所指定的值。

当然利用Lingo还可以设定灯光的颜色和方向、动画的播放、模型的运动等等,这里就不再赘述了。

4 结束语

3D场景交互是虚拟现实系统中必不可少的技术,灵活运用Director的3D行为和3DLingo语句可以简单有效地完成3D交互。用户还可以通过Havok这样的外挂程序轻松地完成3D对象的碰撞与检测,设定多边形等级,甚至物理性质设定。将这些功能运用在Shockwave 3D中,可以创造出逼真的动作和互动。

摘要:本文介绍了在Director MX中导入Shockwave 3D演员,并利用Director的3D行为和3DLingo语句轻松实现三维场景交互的方法。

关键词:Director MX,三维场景交互,行为,3DLingo

参考文献

[1]古成中,吴新跃.基于Director的交互式虚拟仿真系统[J].杭州:工程设计学报,2007(4):282.

[2]颜志翰,李雅玫.精通Director MX2004多媒体开发[M].北京:清华大学出版社,2005:256-281.

交互实现 篇2

摘 要 小学数学教学中运用交互式电子白板,能实现音形统一、数形结合,提高小学生的学习效率。针对小学数学教学中交互式电子白板的应用作用和措施进行探析。

关键词 交互式电子白板;小学数学教学;资源平台

中图分类号:G623.5 文献标识码:B

文章编号:1671-489X(2015)07-0043-02

前言

交互式电子白板集多媒体教学和传统黑板教学的双重作用,成为现代教育辅助教学的重要技术手段,已经被各种类型的教育教学广泛应用。在小学数学教学中,合理使用交互式电子白板,能帮助教师更快转变教学方式,适应新课改理念,提高小学数学课堂教学质量。小学数学教学中交互式电子白板的应用不足

交互式电子白板为教学打造了一个先进的资源平台,为小学课堂教学增加了新鲜感。但是,因为白板教学是从过去黑板教学中演化而来的,部分教师还不能更好地将其与课堂教学有机结合,许多学生在应用白板授课的听课过程中也存在一些问题。

不能熟练应用 在教学中,由于教师调用工具速度较快,有很多学生并未看清工具调用的一般步骤,很多农村学生甚至对电脑都还感到陌生,因此并不能熟练地在白板上调用工具。甚至多数教师将对电子白板的使用停留在电子黑板的使用阶段或者仅仅是用来播放一下PPT课件,至于其中的交互作用难以充分地发掘出来。

与传统思维的碰撞使教学变得复杂 课堂教学以简洁明朗为主,然而交互式电子白板中诸如作图工具的使用过程与实物工具的使用甚至课本讲解都有出入,致使学生不知道如何接受新知识,在大脑中形成混乱,不宜于知识的获得。课堂作为教学的主阵地,为使电子白板成为课堂教学的重要工具,避免教师与学生在思维的碰撞中出现角色冲突,进而实现课堂知识与技能传递的和谐,努力追求电子白板在课堂教学中所带来的高效率,这就需要对教师在教学理论、技能与设计等方面加以培训,力争做到在备课时心中有数,在上课时有的放矢。

对驾驭课堂要求更高 交互式电子白板的核心不在白板,而在于双边互动,师生之间的沟通、反馈和参与。在互动过程中,语言或非语言等多个渠道的信息、多重交流是师生之间、生生、以及与周围环境之间的给与得,并由此引发对知识的理解与学习。部分教师在应用白板的过程中对整节课的把握有一定的难度,把握不当则变成一节以技术为花样的表演课,自主学习和合作学习都是在技术的支撑下完成的,这就需要与课堂技术有机融合。如果一味地追求技术互动、空间物理方面的互动,而不注意心灵之间的沟通与交流,则学生在欣赏、理解、评价、分析、创造等方面难以获得长足的发展。因此,教师在初期应该充分熟悉和了解电子白板的技术、性能以及在教学中使用的优缺点,再慢慢转换并扩展其使用,逐步融入其惯用的教学中,以期实现教师在课堂教学使用电子白板的高超的驾驭能力。小学数学教学中交互式电子白板的应用策略

设置有趣教学情境,调动学生兴趣 教师是教学资源的整合与利用者,数学课堂有其严肃和枯燥的特点,因此要充分调动小学生学习兴趣,让学生能积极热情地主动参与其中,才能提高课堂教学的活跃度,刺激学生的各种感官与思维。交互式电子白板就是当前比较先进的教学技术手段,能为小学生带来鲜艳的色彩画面、有趣的声音和奇妙变化的图像,给学生带来形象的、生动的、立体的数学世界,充分创设多种趣味性教学情境,增强学生的情感体验,从而带动整个课堂的学习积极性。

如“重叠问题”教学中,教师可以用交互式电子白板展示学生参加活动的照片,创设教学情境:由小学生担任裁判员,一起研究生活中的重叠问题。教师出示拔河与跳绳裁判的名单,设疑:到底有多少裁判员?教师使用交互式电子白板的放大功能,为学生提示裁判名单中重复出现的裁判,引出课题――数学广角(重叠问题),吸引学生的注意力,开启他们思维的灵敏点。交互式电子白板能将学生的认知与情感良好地结合在一起,使学生的逻辑思维和形象思维很好地协调,让学生在情感的愉悦和好奇中探究科学的奥秘,达到课堂的高效性。

帮助学生强化理解,高效解决重难点 小学生的抽象思维能力弱,愿意接受直观的事物和现象。教师应该尽量将深奥的数学知识转化为实物、图片、事件等直观形象进行讲解。如角的认识教学中,教师可以充分利用交互式电子白板的功能,在白板上展示各种图形,如五角星、钟表、扇子、三角尺等图片,由学生寻找上面的角。教师再利用电子白板从上述图片中抽象出角,借助电子白板的绘图功能进行角的绘制,强化了学生对“角”概念的理解。可见,交互式电子白板在数学抽象概念讲解中的合理应用,能符合小学生的认知特点和生活感悟,帮助小学生加深对基础数学知识的理解,高效解决重难点问题,有利于学生借助形象教学提升抽象思维能力。

激发多种感官体验,提高数学运用能力 交互式电子白板能够将小学数学教材的内容进行生动化处理,使数形结合、音形结合,动感趣味性地为小学生展示数学图形和原理,激发学生的眼、耳、运动等多种感官进行充分体验,刺激思维更加灵活,增强小学生的记忆力,从而在喜闻乐见中完成教学重难点的突破,使教学过程更加高效,帮助学生巩固知识,加深理解,增强学生对知识的运用能力。尤其是几何图形的教学,重点是开发学生的空间感觉,传统教学主要靠教师口述,形象感不强,大多数学生的想象力都很难跟住教师的思路;黑板画图速度较慢,也缺乏动感,这些都制约了小学生的空间观念的建立。电子白板的应用突破了这一难题,能利用拖拽功能,随时为学生展示直观的平面几何图形,图形大小、形状、角度可以按照教师讲课思路或者学生的要求随机转化。同时,电子白板对图形面积公式的推导过程可以全盘演示,图形对照结合,还可以让学生动手操作,提高学生的观察能力与空间思维能力,学生在演示图形变换和公式掌握过程中,加强对知识的理解,强化对知识的应用和解决能力。

拓展课堂练习,提升教学深度 小学生对知识的遗忘速度较快,必须通过反复练习巩固知识,同时更好地将知识转化为能力。小学数学课堂中,交互式电子白板可以用来进行多姿多彩的练习,将传统的书本作业转变成生动灵活的游戏,增强学生的参与热情。例如,利用白板进行游戏、选择大比拼、填充竞赛、拼图等,可以当堂将习题进行变式,也可以一题多解,在训练中加强学生对数学的兴趣和感悟,提升教学深度。教师可以结合学生与习题的实际情况,充分利用白板的写字、画画、拍照等功能,调节学生的兴奋点,激发他们探索知识的自觉性,及时反馈存在的不足,有力与师生良好互动,查缺补漏,提高课堂实效性。

配合课件使用,打造多维课堂 交互式电子白板是一种先进的教学手段,但是不能因此取代计算机网络教学和多媒体教学。应该将多媒体课件有效地融入交互式电子白板的应用中,促进小学数学教学课堂的完善,使多种资源实现互补互动,共同为实现高效教学服务。

交互式电子白板与小学数学有效结合是现代课堂发展趋势,广大小学教师应该不断提高自己对教学的领悟能力,结合教学目标设置科学的电子教学方案,让交互式电子白板、多媒体课件等教学手段围绕数学思维的启迪和学生兴趣的开发服务,熟练掌握操作技术,提高课堂教学效率,促进学生全面发展。■

参考文献

交互式城市旅游地图设计实现研究 篇3

摘要:城市旅游是一个集聚自然风光、人文景观、历史文化、民俗文化于一体的综合旅游,需要漂亮的地图带给游客的是新鲜感和好奇心交互式旅游地图在地图构建的基础上更侧重于交互表现和娱乐性,在景区可以通过多媒体导航屏幕与周围的环境融为一体,给游人更多的视觉乐趣。每个城市都有其独特的地域文化,交互式旅游地图作为一个引导者在具备信息指示功能的同时还兼具手绘旅游地图文化艺术优势。作为一个新的地图风格形式,深深吸引着游客的目光。

关键词:旅游地图 Flash 界面设计

1 城市旅游地图的国内环境

1.1 旅游地图的国内发展概况

1.1.1 旅游地图的国内现状

城市旅游是一个集聚自然风光、人文景观、历史文化、民俗文化于一体的综合旅游,也渐渐成为旅游业的主体。作为文化新元素的城市旅游地图也渐渐成为旅游者的必备资源。

就媒介而言主要有:纸质旅游地图、电子旅游地图、多媒体旅游地图、网络旅游地图等不同媒介的地图层出不穷。就外观而言,目前被大众所熟悉的地图一种是以城市交通为主要设计内容的旅游地图。

另一种为由设计师自行设计独具个人风格的旅游地图。前者内容严谨路标明确但没有针对旅游的信息系统,而且也不具备适合旅游的设计形式。而后者常以手绘的形式表达旅游主题。通过在地图的绘制中融入本土风格元素和当地特色来实现新颖的设计和漂亮的外观,比较适合收藏纪念。无论是外观还是内容,手绘地图的设计风格都格外吸引旅游者。它不再只是单纯地寻找目的地的工具,更多地融入了艺术美感和艺术表现力,更兼具了审美和收藏价值。手绘地图的功能不再只是导向性,更多的是在审美上满足现代人的高要求,漂亮的地图带给游客的是新鲜感和好奇心。[1]

1.1.2 交互式旅游地图的国内现状

交互设计的研究往往反映出理论落后于实践的状况,随着个人电脑和互联网技术的迅速发展和普及以及触控技术的发展,软件面对的普通受众越来越多,这也使得交互媒体具有了小众化、个性化、全球化、多样化、虚拟化等特点。国内许多大学开始开设了相关专业,体现了设计艺术同数字技术结合的特征。关于交互设计的实际应用以多媒体旅游地图为例。电子地图始于20世纪80年代末,在计算机制图基础上的地理信息系统。旅游地图在以计算机技术不断发展和游客的实用需求增加的条件下很快走入人们的生活中。旅游地图数字化交互设计源于电子地图。它的灵活性、共享性、内容丰富、易计算等优点深受用户的亲睐。现在电子地图和数字地图的覆盖广泛,品牌也比较丰富,如谷歌地图、百度地图、搜狗地图、高德地图等都是知名度很高的数字地图。作为新型的电子地图和普通纸质地图相比它的表现形式更为灵活生动,体现的内容更为全面丰富。

现在,数字地图成为了更多领域乃至旅游业发展的重要工具。在互联网上供人们使用查询网络地图和GIS、GPS行业用专业地图。不能否认的是这些地图的实用性和便捷性以及在其领域的巨大贡献,但若以旅游为出发点考虑,以游客作为产品的受众,它们缺乏旅游地的文化信息以及在多媒体互动和趣味性方面的表现力。

1.2 交互式旅游地图的优越性

交互式旅游地图在地图构建的基础上更侧重于交互表现和娱乐性,在景区可以通过多媒体导航屏幕与周围的环境融为一体,给游人更多的视觉乐趣。每个城市都有其独特的地域文化,交互式旅游地图作为一个引导者在具备信息指示功能的同时还兼具手绘旅游地图文化艺术优势。作为一个新的地图风格形式,深深吸引游客的目光。

现如今旅游地图已成为人们不为陌生的游访指南和旅行向导。优秀的旅游类地图在具备补助旅游功能的基础上还是旅游宣传的好助手。

首先,作为旅游地图它最大的特色不是在于对地理环境信息及交通信息精准的描述,而是将设计重点放在版面及元素的外观设计上。

其次,Adobe Flash是一个针对矢量绘图支持交互行为的动画制作软件,经历了近二十年的发展历程。Flash应用程序的实用价值和艺术价值也在逐步提升。Flash软件的技术优势与价值实现简化的制作工序使Flash软件更为大众,Flash的脚本语言功能(ActionScript)是实现程序交互的关键,ActionScript脚本语言随着Flash版本的更新越来越丰富,如全局函数、影片剪辑控制、运算符、常数等。通过这些脚本语言使关键帧、影片剪辑、按钮的相互作用便可完成一个有趣的交互应用。有很多网页游戏和网页美化设计都是通过Flash软件和相关设计软件来实现的如最为大众熟知的Photoshop软件及专业插画软件Painter。

再次,作为一样具有娱乐性的旅游地图若是利用Flash的交互功实现旅游地图的交互性和娱乐性将是一个非常好的想法也比较容易实现。

创意是Flash程序的魅力所在,将音效、动画、交互方式巧妙地融为一体的手绘风格城市旅游地图绝对会比传统意义上的电子地图和平面手绘旅游地图更夺人眼球。在Flash设计基础方面,设计的基础是Flash的界面框架同页面元素、颜色设计、界面交互形式的合理结合。在个性的Flash作品制作里虽然对作品中元素的组合手法多样,制作方法也有很多,但不变的就是审美原则。Flash作品需要以下五个原则的保证:界面风格交互方式的统一性、画面样式和风格的连续性、FLASH元件间的相互独立、画面的视觉对比、整体布局的合理。作为拥有交互行为的Flash作品它的优势就在于互动的趣味感与艺术美感的结合。Flash交互作品支持事件的响应和交互功能,在Flash动画中每个帧都可以通过代码和按钮的设置有自己事件的响应,如在关键帧上加入代码“stop”可以使画面播放到此帧时停止播放使画面静止,但安插在此页面上的影片剪辑和元件还会继续播放。又如在页面上加入按钮,通过鼠标来点击时的交互效果及点击按钮后的事件触发、交互链接行为。Flash的交互动画效果是丰富画面实现更好交互效果的良方。将这种表现方法应用在旅游地图上来实现旅游地图的趣味交互性是很多学者不曾尝试的。

城市作为人类社会文明的载体时刻向人们展示着地方性的精神文化特色。作为本身就具有艺术属性的城市旅游地图若将其赋予交互风格对与旅游业本身来说是将旅游文化以一种新的方式展现出来。由于地图是一种文化产品,旅游地图的艺术品质会对游客对景点的第一印象有所影响,设计师需要将旅游景点的特点和地图受众的审美融合起来。所以重视视觉艺术效果绝不能只是空谈,它是整个交互设计的静态亮点。将手绘效果与Flash交互动画相结合的这种交互旅游地图表现形式的一个明显优势便是它的艺术质量和服务质量比之前提到的比较,Flash交互式旅游地图与单纯的纸质地图、手绘旅游地图、电子地图相比更综合、目的性更明确、更具吸引力同时也符合当今的潮流。

2 交互式旅游地图界面设计

2.1 旅游地图的信息要素

旅游地图需囊括所展示景区的人文及地理环境、交通信息、旅游指南、景区周边服务资源分布。人文环境主要侧重于地域文化热点、文化特色、特色产品、特色饮食;地理环境主要侧重当地的地形分布;交通信息包括航空、铁路、公路、水路、市内交通情况等;旅游指南侧重于对景点的情况介绍;包括景区路线信息、景区特色介绍;景区周边服务资源分布主要指住宿、便利店、餐饮、加油站、娱乐场所的分布情况。这些数据信息都要在旅游地图上有合理的概括及整合。

2.2 针对地图元素的交互界面设计

交互设计与界面设计的关系在于交互设计的核心在于满足用户对产品内容和交互方式的各种体验,用户界面设计的目的是优化人机互动的用户体验。一个良好的用户界面所需的特征为:界面清晰、设计简明、界面熟悉、容易响应、操作一致、吸引力强、操作高效和容忍出错。清晰的界面可以直观地告诉用户可操作的程序有哪些,尽量少的添加解释与说明,因为过多的说明会使界面显得臃肿,而大多用户也比较排斥。用标签的形式将操作选项分类排好,用户可以清楚地看到访问选项进行浏览和导航。简明的设计是为了突出交互界面的操作重点。用户通过几次尝试便可熟悉界面分布特点从而便于使用,应用程序的及时响应也十分重要。倘若触击命令按钮时界面没有任何明显的响应,如果触发按钮后按钮的外观没有变化,音响也没有声音,而程序本身也没有立刻的反应继续运行,用户一方面会怀疑之前的触控是否到位,另一方面会觉得该程序不易操作反应太慢从而放弃再次使用和用户间的推广。这样的问题会很难吸引用户再次使用程序。整个应用程序的操作模式需要同人们常规的使用习惯相一致,这样可以使界面操作变得得心应手。对于操作时错误的使用方法,设计人员应给予用户相关提示指引操作。一个好的交互设计光完成界面实用设计是不完整的,还应在情感和文化上寻求对用户的吸引力。交互设计关注行为的设计,也关注行为同形式及内容的联系。内容设计是有关媒体信息本身的结构设计,该设计可以让信息的内容更合理更富有逻辑,更利于被用户所接受。而可用性设计则是关系到符合认知标准的设计,如利于合理的导航设计、链接方式设计、菜单设计、互动模式设计来使用户感受到互动操作感。互动的方式可以以视听感官来回馈为用户产生情感体验和满足感提供条件来达到情感化设计。

用户界面是交互设计结果的自然体现,交互设计的出发点在于研究人与物交流时候,人的心理模式和行为模式,并在此研究基础上,设计人工物的可提供的交互方式,来满足人对使用人工物的三个层次的需求。从这个角度看来,交互设计是设计方法,而界面设计是交互设计的自然结果。需要指出:交互性不限于技术相关的系统。交互设计所要完成的目标包括可用性和用户体验目标。在约瑟夫派恩的理论中,体验被分为娱乐体验、教育体验、逃避现实体验和审美体验。而在上述的四种体验中,娱乐体验是最具吸引力的,通过娱乐元素与产品和服务相结合商家可以

吸引更多顾客的参与,而且还可强化其他三种体验的效果。

3 城市交互式旅游地图的艺术设计实现

3.1城市交互式旅游地图的实现条件

由于Flash动画的交互性设计较为复杂,操作工序过多对美感的制作要求也比较高,需要具备艺术创作能力、Flash软件操作技巧熟练以及Flash程序代码应用知识丰富的人员来完成,制作一个Flash交互性设计就成了一个需要合作互补完成的设计,对创作者而言需要具备有效的画面制作能力、丰富的想象能力、良好的色感、音乐鉴赏能力和与设计有关的计算机技术。因此设计人员应当具有艺术设计和计算机技术这两份专业担当,组员间的默契合作是实现有效设计作品的保证。

关于Flash动画的交互性设计的设计制作方案绝不是一次讨论设计就可以确定下来的,它需要在主创者的设计方案中经过创作团队的反复设计和商定后才能得到一个详细的设计结构,但创作者的最初意图可能与最终交互效果不同,设计初衷不能充分的展现出来。

3.2 交互旅游地图中的手绘元素设计

3.2.1 手绘元素设计

旅游地图的艺术性主要表现在地图图形的设计、地图符号的设计、地图色彩构成的设计上。通过旅游地图中的图形图案设计可以直观地展现景点的风景和文化特色,这十分有利于游客从地图中直接感受城市的风土人情。作为旅游地图中反复出现的符号形象例如餐馆图标,合理的设计和组合可以增加地图的视觉丰富感。设计的艺术成分在手绘地图中有非常好的体现,将其作为交互式旅游地图内容的一部分可以提高地图的美感和精致程度,漂亮的手绘经典插画会比照片更具感染力。

3.2.2 Flash交互界面设计

创作人员在设计之初需要一个主题定位,确定用户群体后换位思考设计中最需要的效果。了解最合适的交互参与风格。

在Flash的界面交互设计方面,界面交互行为的简洁设计有助于用户对交互旅游地图动画的使用、了解,提高应用的操作效率。在Flash的界面文字说明方面,界面中要使用能反应用户本身的语言,而不是游戏设计者的语言,这样可以拉近应用程序与游客的距离,让交互行为显得更亲切更真诚。作为每一个优秀界面都应具备的特点,一致性是Flash旅游地图最不可缺的部分。地图界面的结构必须清晰且一致,每个关键帧间的风格也必须在与内容相配合的前提下有上下承接的视觉效果,否则就会显得突兀,出现跳帧。好的Flash交互设计界面出彩之处并不在于它的动作丰富和花哨而是视觉效果清晰明了。清楚的界面有助于使用者操作时能拥有上便于理解和使用的视觉效果。

关于此程序的操作层面,要本着一般常识的角度出发做一个人性化的交互界面设计,让使用者能够很快熟悉程序的使用方法。做到轻松操作。当然要达到界面的人性化还要注意从用户习惯考虑,想用户所想,做用户所做。让用户感到贴心与实用的界面交互效果,在版面按钮的排列方面,一个有序的界面能让有一个熟悉感也便于操作。关于交互操作方式,Flash支持鼠标点击和键盘操作。例如若要在一个按屏按钮经行操作,鼠标左键点击和键盘上的Enter键均可实现。有关Flash交互旅游地图的安全性基本不用考虑,因为此应用至侧重于旅游文化的宣传,而且操作无需联网经行。并且所以按钮操作都有可逆性,每一

个前进动作都会配有一个返回性质的按钮,操作十分便捷。

参考文献:

[1]于志伟.旅游地图的设计与编制[J].内蒙古科技与经济,2009(22).

[2]章桂仙,王为和,刘连喜.浅析旅游地图的编制[J].现代测绘,2010(03).

[3]朱体高,何丽华,徐之俊.旅游地图功能刍议[J].地理空间信息,2007(03)

[4]吴增红,陈毓芬.河南省旅游地图网站的设计与实现[J].测绘科学,2008(01).

项目基金:

渭南师范学院大学生创新项目基金(13XK054)。

作者简介:

顾燕(1990-),女,山西太原人,渭南师范学院,研究方向:数字媒体交互式设计研究。

交互实现 篇4

PowerPoint方便快捷、简单易用, 是目前教师制作课件最常用的工具, 但由于自身功能的限制, PowerPoint交互性却略显不足。所谓交互性, 是指计算机和学习者之间的信息传递是双向的, 计算机可以向学习者输出信息, 也可以接收学习者的输入命令, 并根据命令进行相应处理。在Authorware、Flash等软件中均提供了诸如按钮、热区等交互方法, 然而PowerPoint却不具备这样的功能, 尽管如此, 我们可以通过超链接、触发器、ActiveX控件配合VBA等方式来制作交互性课件, 使PowerPoint课件变“静态”为“动态”。

二、PowerPoint交互设计的基本策略

(一) 超链接

PowerPoint提供了功能强大的超链接功能, 幻灯片中的文字 (文本框) 、自选图形、艺术字、图片、按钮、视频、gif动画等都可以用来设置超链接, 加上动作按钮和动作设置, 可以设计出丰富多彩的交互界面。PowerPoint中的超链接大体上可以分为两类:一是内部超链接, 即在演示文稿的内部之间跳转, 跳转到任意指定的幻灯片。二是外部超链接, 即跳转到演示文稿的外部, 包括跳转到其它演示文稿、其他文件、URL网页和电子邮件等。

(二) ActiveX控件

除了超链接, PowerPoint还提供了ActiveX控件, 配合VBA可以实现交互功能。使用工具栏中控件工具箱所提供的ActiveX控件, 将鼠标在幻灯片上画出控件对象, 然后设置控件属性, 最后为控件对象编写VBA代码, 可以实现命令按钮、文本输入、复选框、单选框、下拉列表框等交互响应, 并且可以使课件具有编程语言所特有的变量、函数、逻辑运算、条件、分支、循环、跳转、判断等功能。

(三) 触发器

触发器是PowerPoint 2003以上版本自定义动画效果中一个非常有用的功能, 幻灯片中的任何对象都可以设置为触发器, 利用它可以轻松制作出交互效果, 例如:交互练习题、声音播放控制、视频播放控制、动画演示按钮等。播放幻灯片时单击触发器, 该触发器控制下的所有对象就能根据预先设定的动画效果开始运动。

PowerPoint课件交互设计的基本策略是以简单易用的超链接为主, 以ActiveX控件 (配合VBA代码) 和触发器为辅, 前者主要用来实现永久性导航、制作主界面、屏幕提示、内部或外部跳转、调用外部课件或素材等;后者主要用来制作多样化的交互练习, 使交互具有智能性和可控性, 两者结合使用可以实现多样化的交互类型, 提高交互的智能性与可控性。

三、PowerPoint交互设计的方法示例

下面将以PowerPoint 2003为例来讲述交互功能的实现方法。

(一) 运用超链接实现交互功能

1. 运用内、外部超链接实现交互功能

本例制作一个选择题, 通过超链接的方式实现交互功能, 用户在选择之后, 给出正确或错误的提示。选中用于创建超链接的对象 (这里是文字或文本框) , 右击鼠标, 在弹出的菜单栏中选中“超链接”选项, 打开“超链接”对话框。此例使用的是内部超链接, 单击左侧“链接到”选项中“本文档中的位置”, 在“请选择文档中的位置”中单击所要链接到的目标幻灯片。在本例中, 因为正确的答案为C, 所以将A、B、D三个对象超链接到有错误提示的幻灯片, 将B超链接到有正确提示的幻灯片, 单击“确定”即可。这里需要特别提出的是, 使用超链接的交互可根据需要实现“有来有回”, 即点击超链接后进入的界面中要有另一个超链接, 使其能够回到之前的界面 (如图1所示) 。

如果制作的是外部超链接, 则在“链接到”选项中点击“原有文件或网页”或“电子邮件的地址”, 可以在“当前文件夹”、“浏览过的页”和“近期文件”中指定链接的目标, 这样就可以建立演示文稿与外部文件的链接 (如图2所示) 。

2. 利用动作按钮创建交互

动作按钮是集成了动作设置的特殊按钮。选中用于创建超链接的对象 (文字、图片、自选图形、艺术字均可) , 单击鼠标右键, 选择“动作设置”选项, 系统将弹出“动作设置”对话框, 在对话框中有两个选项卡“单击鼠标”与“鼠标移过”, 通常选择默认的“鼠标单击”, 单击“超链接到”选项, 打开超链接选项下拉菜单, 根据需要选择其中一项, 链接到需要的目标上即可, 其设置方式与超链接基本相同, 这里不再赘述。

多媒体课件一般应具备清晰的导航功能, 超链接、动作设置或动作按钮不仅可以实现幻灯片间的灵活跳转, 还可以用于设计交互主界面, 为学习者提供灵活的教学内容选择, 做到随时能从当前部分跳至另外的部分, 随意控制学习内容, 真正做到自主学习。制作交互主界面之前, 一般应先创建好内容幻灯片, 否则, 无法指定要链接到的目标幻灯片。

(二) 利用触发器实现交互功能

1. 触发器简介

触发器是PowerPoint自定义动画中的一个选项, 只要在幻灯片中包含动画效果、电影或声音, 就可以为其设置触发器。触发器类似于Flash软件中的按钮, 单击触发器时会触发一个动作, 且该动作可以重复多次执行。设置了触发器后, 只有直接单击触发器 (而不是单击幻灯片) 才能播放与其相关的动画效果, 可帮助教师与学生进行双向互动, 激励学生进行思考、学习和总结等。

2. 使用触发器制作下拉菜单

下拉式菜单是优秀交互课件不可或缺的部分。点击主菜单, 弹出相应的子菜单, 再点击子菜单项将跳转到相应的页面或执行相应的命令, 再次点击主菜单则子菜单收回。这里可以将主菜单作为触发器, 控制子菜单的打开、收回动画。子菜单通过设置超链接实现其跳转功能, 具体操作步骤如下。

第一步, 单击绘图工具栏中的“自定义图形”, 选择并制作一个矩形, 并在其上添加文字, 输入“教学过程”。

第二步, 使用第一步中的方法制作子菜单, 并添加文本“复习旧课”、“导入新课”、“讲授新课”等, 将每个子菜单的超链接做好 (本例制作5个子菜单, 分别链接到后面的5张幻灯片) , 并将子菜单依次排列到主菜单的下方 (如图3所示) 。

第三步, 按住Shift键, 同时选择“复习旧课”、“导入新课”、“讲授新课”、“巩固新课”和“课堂总结”, 单击鼠标右键, 在快捷菜单中选择“组合”, 将5个子菜单组为一组。

第四步, 选择5个子菜单的组合, 单击鼠标右键, 在快捷菜单中选择“自定义动画”, 在自定义动画窗格中选择“添加效果”, 为子菜单组合添加一个“进入”动画, 本例选择“擦除”动画, 修改擦除动画的方向为“自顶部” (如图4所示) 。

第五步, 在动画窗格单击, 打开下拉列表, 在列表中选择“计时”, 打开“擦除”对话框, 在计时对话框中选择“触发器”, 选择“单击下列对象时启动效果”, 在右侧下拉列表中选择“下箭头标注:教学过程”, 此步骤的作用是为子菜单的出现添加触发器, 当单击“主菜单”按钮时子菜单组合播放“擦除”动画 (如图5所示) 。

第六步, 在上述对话框中选择“效果”选项卡, 在“动画播放后:”选项中选择“下次单击后隐藏” (如图6所示) , 此步骤的作用是, 当下拉子菜单动画播放后再次单击“主菜单”时子菜单消失。

3. 利用触发器控制声音播放

在课件中插入声音会为课件增色不少, 但直接插入的声音无法对其进行控制, 本例将“播放”、“暂停”、“停止”三个按钮作为触发器, 分别控制声音的播放、暂停、停止, 对声音的控制更加方便、灵活, 其实现步骤如下。

第一步, 选择绘图工具中的相关工具, 配合使用填充效果和组合功能, 制作具有立体感的圆球形图标, 并分别添加文本“播放”、“暂停”、“停止”, 这三个圆球形将作为控制声音播放的三个按钮。

第二步, 选择“插入”菜单下的“影片和声音”, 并选择“文件中的声音”, 将声音文件插入到幻灯片中。

第三步, 选择声音按钮, 单击鼠标右键, 在快捷菜单中选择“自定义动画”, 在自定义动画窗格中选择声音文件, 并点击“添加效果”, 选择“声音操作”中的“播放” (如图7所示) 。

第四步, 选择自定义动画窗格中的声音播放, 并选择“计时”, 打开“播放声音”对话框, 选择“触发器”, 选择“单击下列对象时启动效果”, 选择“组合2”, 组合2就是播放按钮, 此步骤的作用是, 当单击“播放”矩形框时播放声音 (如图8所示) 。

第五步, 重复第三步和第四步为声音的添加“暂停”、“停止”动画, 并为其添加相应的触发器即可。

(三) 运用VBA创建控件对象实现交互式设计

1. ActiveX控件及VBA代码

(1) ActiveX控件工具

点击视图/工具栏/控件工具箱, 鼠标点选某控件, 在编辑区点击或拖曳出适当的大小即可使用控件了。控件具有描述自身信息的属性, 如控件的名称、具有的值、大小等;控件具备响应外界消息的事件, 如当鼠标单击控件时, 控件的值会发生变化。鼠标右键单击某控件, 选择“属性”可以编辑该控件的属性, 选择“查看代码”可以编辑该控件的事件代码。

(2) VBA简介

谈及代码, 有些人也许会觉得这些深奥的计算机语言令他们无所适从, 实际上, 在PowerPoint中我们只需对VBA有一个初步认识并掌握几个简单的语句就可以了。VBA (Visual Basic Application) 是应用程序开发语言Visual Basic的子集。由于已经内嵌到PowerPoint中, 所以, 无须另外安装, 只要熟悉VBA编程就可以通过创建控件对象在幻灯片中使用。

2. 使用ActiveX控件及VBA代码制作单选题

在当前幻灯片编辑窗口中插入文本框, 并输入单选题内容, 如“中国共产党成立于哪一年芽”。点击控件工具箱中的选项按钮, 当鼠标变成“+”形状时在单选题下方点击即插入一个选项按钮控件。选中它并按住Ctrl+D键复制出另外三个选项按钮。分别选中四个选项按钮并右键点击选择其快捷菜单中的属性, 把Caption项分别设置为A 1911年;B 1921年;C 1927年;D 1949年, 并将四个选项按钮设置顶端对齐及横向分布。

在VBA代码窗口Private Sub OptionButton1_Click () 和End Sub语句之间输入代码:If OptionButton2.Value=True Then ex=MsgBox (“Very Good选请继续努力。”, vbOKOnly) , 其中, ex为自定义变量, 同理找出如下三组语句:

第一组语句:Private Sub OptionButtin2_Click () 和End Sub。

第二组语句:Private Sub OptionButtin3_Click () 和End Sub。

第三组语句:Private Sub OptionButtin4_Click () 和End Sub。

在这三组的两条语句中间分别插入语句:

If OptionButton1.Value=True then ex=MsgBox (“正确答案是B, 请继续努力。”, vbOKOnly)

If OptionButton3.Value=True then ex=MsgBox (“正确答案是B, 请继续努力。”, vbOKOnly)

If OptionButton4.Value=True then ex=MsgBox (“正确答案是B, 请继续努力。”, vbOKOnly)

如图9所示, 运行结果如图10。

四、结束语

以上只介绍了常见交互性示例的制作方法, 在实际的制作过程中, 可单独使用上述介绍的其中的一种方法, 也可以综合使用多种方法, 其设计思想和方法是通用的。而且此方法制作出的CAI课件交互性效果毫不逊色于Authorware等专业软件开发工具制作的课件。我们教师在掌握PowerPoint常规功能的同时, 应充分挖掘PPT中的交互功能并熟悉应用, 拓宽用PowerPoint制作课件的类型, 提高课件的灵活性, 以较少的投入开发出符合自身需求的功能更强的个性化教学课件。

参考文献

[2]刘育涛, 安素平.多媒体课件设计中应注意的问题[J].中国远程教育, 2004, (13) :60-63.

[3]陈志.多媒体课件 (CAI) 的应用和开发[J].教学与管理, 2002, (30) :78-79.

[4]蔡宗慧.浅谈“宏”与“VBA”在办公自动化软件开发中的应用[J].电脑知识与技术 (学术交流) , 2007, 418-419.

[5]缪亮.PowerPoint多媒体课件制作实用教程[M].北京:清华大学出版社, 2005.

[6]邱胜祥.PowerPoint实现多媒体课件交互性的方法和技巧[J].中国科技信息, 2002, (1) :35-42.

初窥交互设计交互设计 篇5

1、参与产品规划构思

刚开始的时候,我认为交互设计师的任务就是按照产品同事提交的需求绘制原型稿件,其间,我们去和产品同事讨论布局的合理性,操作的易用性,流程的通畅性。

其实不然。一个成功的产品需要团队里的产品经理,设计师,以及开发同事对产品的潜在特性和市场能力有统一的认识并一起维护这种认识。由于对需求了解的不够透彻,也会经常和产品同事在沟通的过程中产生很多不必要的争执。所以,当一个交互设计师连产品最基本的规划方向以及后期的运营目标都不够了解的时候,他又怎么能做到和项目组同事齐心合力的创造双赢的局面呢?

因而说应该更多的参与到产品规划中去,做一个提需求并且做需求的设计师。

2、分析业务需求,并加以分解归纳出产品人机交互界面需求

产品同事很多时候会提出说,这里的数据量没有达到预期,我们要优化它。这个时候,我们首先应该去分析产生问题的原因,比如是用户不懂用?还是不想用?还是别的什么原因?这个时候,我们可能就会介入用户测试的环节了,多跟用研同事学习用户测试的方法、注意事项以及分析方法也是很重要的一个方面。充分了解用户需求和产生问题的根源之后,我们才能提出更好的优化方案。

而在寻找问题根源以及解决办法的时候,我们也可以运用5-whys的方法。5-whys是对一个问题点连续以5个“为什么”来自问,以追究其真正原因。这个方法是丰田公司首先提出的:发现问题的时候,是从表象往根源来推导,而解决问题的对策则是从根源往回推。详见下图示例:

3、参与公司前瞻性产品的创意设计

创意、创新最基本的来说,是源自于生活,

《创造突破性产品》中提到“人们不但希望通过使用某种产品来完成或改善某项工作,他们还希望产品能够丰富、增进其生活体验,并且把这种体验联系到个人的某种梦想。”比如QQmusic的桌面歌词,把KTV的体验搬到了显示器上,它很好的满足了当下家庭音响设备趋于完备,大家喜欢没事吼吼的生活方式。再比如DivX player on Mac提供了一种在非全屏播放的模式下,将播放器以外的部分整体变暗的体验,与真实的影院无异。

创新源自于生活的一大优势在于,由于用户在生活中已经习惯了的一些体验,当我们把这些体验搬到互联网上的时候,就极大的减少了用户的学习成本,他们可以很快速的学会并使用产品。

创意、创新的另一种方式是类似于苹果产品的流程上“一切从简”,我一直记得第一次使用Ipod nano,却不知道如何关机的经历。在使用传统的MP3时,我们习惯了有一个on/off操作,每次关闭音频播放之后,会提醒自己把键盘锁上。谁都不会喜欢MP3在某个不小心的时刻被开启,一直播放导致关键时候没电的经历,这就和直板手机放在裤兜里却不小心打出了一通不该打出,更不该被听到的电话一样不爽。而nano很巧妙的回避了关闭电源却忘记锁键盘的尴尬。其实关闭电源的之后用户立刻需要的不正是锁键盘么?既然用户在进行一项操作的最终目的是另一项操作,那么是不是可以合二为一呢。nano告诉我们,是的!

一切从简的创新在WEB2.0的时代层出不穷,比如以twitter为首的微博客,比如百度发起的“框计算”概念,这些产品都在试图简化所有的用户行为以及思维,一切都让后台来完成吧,你们只需要在那一点点空间做你们想做的那一点点的事情。

创意、创新的第三种方式是体验上“全方位”。正如星巴克提供全方位的喝咖啡服务一样,Google在Searchology大会上提出了“Rich snippets”(富文本)的概念,通过展示一小段网页摘要的方式来帮助用户找到所需要的网页,而摘要的内容可能包括对产品的评价和打分。参见下面几个图示:

那么对于搜索引擎而言,用户可以通过搜索结果中的信息来快速确认某一条结果是不是符合他的搜索期望,从而可以立即跳转到该页面,这不正是搜索产品的目的么?快速而准确的跳转。

创新的思维对于体验设计的重要性是众所周知的,分享给大家一本近期在看的书籍《思维导图》,这本书提供了一系列刺激练习和大量颇具启发性的图片集和演示这种技巧的原创性思维导图。大家共学习共勉之。

交互实现 篇6

关健词:电子书 动画 应用

2012年,由moonbot studio工作室制作完成的动画短篇作品《神奇飞书(the fantastic flying books of mr.morris lessmore)》,获得了当年的奥斯卡短篇动画大奖,这个作品与以往制作动画的独立策划方式不同,是用一个故事内容,完成了动画片,故事书读本,以及互动电子书应用的发布。比起动画本身,互动电子书的推出收到了更多的关注和好评。《神奇飞书》的成功,对动画短篇创作与新媒体结合方向给与了启发。实现动画在交互电子书上的转化和发布,即移植传统动画到新媒体上,短片的动画创意就可以选择在新媒体平台下进行推广,一些好的作品还能够获得收益。

一.研究模式

1.项目背景

动画是主流艺术形式中的一种,随着电视、电影、电脑等主流媒体形式的进化,动画艺术与其融合并和谐的发展下来。传统的动画创作一直以来都有人力和金钱投入较大,消费市场相对局限,消费人群相对固定的特点。如今,平板电脑和智能手机等新媒体,催生了新媒体动画的发展。新媒体动漫的发生离不开两个因素的影響,一是网络传播技术的成熟与普及,二是新型动漫制作软件的开发。[1]

互动电子书作为有触控功能新媒体上的一种重要形式,以其极好的用户感官和体验性,从一开始就获得了广泛的认可和好评。因为它可以良好的融合文字,声音,图像,影像,网页,交互等内容于一身,与不同的艺术形式结合,还可以生成为游戏书,电影书,漫画书,画册等各种类型的数字化产物。电子书虽然还被叫做“书”,但是已经远远超越了传统的书的概念,被看作是所有其他数字文件形式的合成物,是各种领域的艺术家们都可以创作和发挥的舞台。

将动画转化为互动电子书,较于其他行业有与生俱来的优势。动画在设计和制作阶段已经完成了情节制造,画面风格设计,动作设计,镜头设计等一系列设计和美工的工序,对于一个具有情节内容和独特互动行为的电子书,即满足了素材组织上大部分的需要,如此在基础素材方面的储备是任何其他领域办不到的。动画创作者可以经过简单处理和重新组织这些已有的动画源文件,将其转化为在平板电脑上观看的互动电子书,这对于动画专业的学生的在理论上和实际应用中都有极大的意义。

2.互动式电子书的制作工具

随着数字出版业的改革的浪潮,各类第三方数字出版解决方案应运而生。本文基于个人创作完成的短片动画,使用平板电脑上运行的的app软件demibooks composer来进行实际的操作和实践,理由是这类软件可以使创作者专注于设计与整合已有的动画效果,回避图像创作人员不擅长的计算机编程内容,相较于其他软件更容易上手和操作。

demibooks composer是demibooks公司开发的基于ipad来创建交互式电子书的一款app,旗下包括composer,storytiomes两大应用,分别应用于制作和发行。Composer的使用方法是通过itunes从电脑上导入声音,图像、动画等素材到ipad中,在ipad上整合资源进行制作,可以较为精细的设置图片、文本、动画、电影、视觉效果、重力学等多样的可视化互动形式。利用ipad的触碰界面直接将动画效果制作于ipad平板电脑,并在ipad平板电脑上时时检验做出来的效果。Composer的界面简单,并且所有设置全部按钮式的选择方式,可以设置非常丰富的动画效果。demibooks目前与全球很多学校和机构建立了合作关系,致力于解决各类互动创意及故事表现。

二.交互式电子书的框架与实现

1.框架设计

本研究以《神奇飞书》为参考,互动式电子书的框架设计可得出如下模型。包括app图标,首页,侧边菜单,内页内容,目录页。具体为通过app图标进入首页,在首页点击有开启阅读模式的图标进入具体的观阅模式,在内页每一页右下角安放工作室的logo标志,观阅者用手指点击logo,右侧弹出隐藏侧边菜单,分别对应首页,分页,阅读,音效,音乐,文字,语言,并使用形象的符号图标表示。点击首页里的目录图标,所有页面的略缩图排列出来,观阅者可以任意点击进入到其中,并从点击的那页继续向后观看。

2.互动模式

交互式电子书在操作上有点,拖,扫,摇等多种方式,根据故事内容的发展,以互动图像故事表现内容来带动观看者的兴趣,并且可以同一片段反复赏玩。

1)点:使用单个手指对屏幕进行点击。可作为触发各种交互状况下的开关。

2)拖:使用手指点击屏幕上某处,在手指不离开屏幕的状态下向着某一个方向滑动,可用于将画面中的某一项元素进行位置上的移动。

3)扫:使用手指点击屏幕上的某处,在手指不离开屏幕的状态下向着不同方向来回的滑动。用于表现擦除效果及其他特殊用途。

4)摇:双手托起平板电脑,向着不同方向来回晃动。用于表现失重状态及漂浮状态时候的各种状况。

3.操作方法

composer的使用界面非常直观,可分为1 编辑菜单;2 素材内容;3 目录 三大块。

1.编辑菜单:素材导入,将素材逐个设立属性,调整大小,透明度,行为方式,动画的进出方式等,设置动作内容的时候使用。

2.素材内容:将已导入的素材进行可视化的调整和移动。可以很直观的排列图片的位置和顺序。

3.目录菜单:按照顺序排放页面和标题,可以随时调整他们的顺序和链接方式。

整个导入和制作过程中,可以随时点击编辑菜单右面的播放按钮,时时检验设置的动画效果。

三.实现方法

本文是将已完成的动画短片资源进行再利用的交互电子书实践研究,选用的素材是本人自己的原创动画《promise》,将其中的制作源文件备用为已有的素材资源。制作软件为在ipad 上运行的 demibooks composer应用软件。操作硬件为ipad平板电脑及苹果电脑。

第一步,重新设计和制作e-book的UI界面

UI指的是用户的操作界面,UI设计主要指界面的样式、操作逻辑、界面美观的整体设计。本设计中包括icon按鈕,首页,目录页,使用说明页,语言选择页,以及每页相应的按钮图样,将这些元素按照相应的排列形势储存为png的图片形式。设计中要注意UI的风格及色彩要始终与其实际内容相一致,避免出现前后风格脱节的设计,一套好的UI页面是吸引读者观看的第一步。

第二步,在软件中建立一个新的项目,设定互动电子书的名字及规格。软件中有针对ipad平台专门的数值设定,这部分内容只要根据软件中对应的新建内容相应设置即可。

第三部,内容组合。首先导入无需活动的背景图片,既导入png形式的UI设计图片,并设置其指定区域的因果联系,链接至至其他关联页面。如图依次为阅读,目录页,语言,帮助。

第四步,逐步整理各个内页。先要将已有的整个动画故事划分为多个部分用于制作互动电子书中的页。每页的素材和内容是不相同的,将不动的图片和运动的动画部分单独命名储存并导入到Composer。组合文字,动画等元素组合,按照属性编辑框中的提示给予指令设置。

当一页中所需的内容素材齐全时,创作者需要重新划分和整理这些内容,进行新的排列,并填补文字部分,开始查漏补缺的二次创作。动画的整套动作可以从原动画文件中序列取出,再被压缩导入,极大的提高了动画短片原作中的素材利用率。

以其中一个页为例,该段内容为:猪坐在桌子前眨眼,当观看者点击屏幕后,有一双手端着盘吃的送到猪面前,同时猪变得开心挥手。这段内容中包含三个动画序列图片:1.猪眨眼;2.一双手端盘子送入3.猪变得开心。

将背景及这三段动画的序列图片压缩包导入后置于正确的相应位置,再进行行为指定设置,顺序为“点击”1后,2和3的动画立即开始行为。进行正确的导入和参数设置,便可以得到想要的互动效果。

其次,除了最常见的点击,软件内还设置有终止时间,动画速度,循环设置,自动再现,角度变化及重力设置等众多物理性质的动画设置,基本覆盖了常见的互动电子书效果,并且在制作的过程中,可以时时的退出制作,检阅动画设置的观看效果,可以用于时时调整设置动画的速度,时间,观看者反馈等。创作者不仅可以设计简单的互动动画,还可以制作有互动的游戏,丰富画面及内容。

最后,当完成了其他所有页的内容安排和动画设置以后,经过反复的调试和观看,经检查无误,便可以直接从composer软件设定中直接进行上传和发布的操作,其方法等同于其他同类app应用的发布方式,在这里不做细说。

四.结论

随着全球数字化大发展,动画的优势在各个领域中逐渐深入,动画方向的从业者及学生同样要在这张的大环境中成长和变化。平板电脑中较好的交互效果需要投入大量的时间和精力来调试,对于图像艺术创作者来说,编程成为了最大的障碍。使用第三方软demibooks的composer很好的解决了这个问题,使制作者可以更专心的作业于设计和美术,而不用耗费大量时间去研究呈现的技术。经过实验和测验,composer可以实现大部分交互电子书的动画表现效果,创作者使用此类方式,不仅可以将已有作品经过不复杂的改装完成完成一个新的作品,还可以在此基础上进行二次创作制作出更精彩的互动作品。

本研究以平板电脑为媒介设计并实验交互式电子书的的动画应用,以自己的实际创作来制作和实现,既可以成为较好的再创作途径,也可以作为一种高效的教学资源。本研究的后续研究将仍以“交互式电子书的动画应用”为题材,创作和开发出实际的作品。

注 释

[1]罗丹,技术与艺术的重逢-新媒体动漫的传播特质与发展态势,长沙理工大学学报,第27卷第1期,2012年1月

虚拟装配中交互的研究与实现 篇7

单晶炉属于精密机械设备,其生产的单晶硅是制造半导体的核心材料,在太阳能光伏和集成电路产业中应用广泛,高集成度的硅片需求日益急切,这对单晶炉的要求也越来越高[1]。

因此企业在对员工的培训中投入大、耗时长。 然而在普通的键鼠培训模式中,缺乏真实性而且交互性不强,不能像实际那样组装设备,缺少关键点记忆因素[2,3],对整机全局工艺把握不够,实际操作时更是难以掌握。

针对以上存在的问题。通过虚拟制造技术、交互技术、优化技术等的支持,根据企业对学员的培训要求以及交互要求设计手势动作,以提升学员对工艺内容的掌握程度以及提高学习效率。

1交互输入的选择及方案

选择红外感应框作为鼠标键盘的代替品,可以实现鼠标键盘的功能,如鼠标的点击和拖拽事件; 在与虚拟场景的交互中,可以定义视景的操作手势,如旋转、推拉、平移; 在与虚拟场景的交互中,方便地拾取模型,并定义对模型6个自由度的特征手势,更有针对性地对模型进行运动控制,实现快速装配; 红外框的交互体现在使学员双手参与到交互中来,这种方式可以自然地提高工作效率。

人做出复杂多样的手势,通过感知系统的识别判断来驱动虚拟场景动作。对人的基本动作手势按状态可以分为静态和动态两种形式,静态手势是指该手势一旦确定即会触发事件,如旋转、移动、偏移、 缩放等; 动态手势是指手势所触发的事件会随着时间不断变化。如按下时间的积累,触点消失后的事件会不同,如按照点个数可分为单点操作和多点操作,单点一般用于实现按键操作,多点操作可以识别多个触摸点的位置和轨迹,可以用来做出复杂的动作,通过点的前后顺序组合,可以做出很多种动作, 可以用来驱动场景需求的不同交互功能。

2交互装配的动作手势设计

通过对交互任务以及设计原则的分析,需要设计出最能体现系统操作交互任务的人的动作手势,同时要满足交互手势定义的基本原则,下面对系统触摸操作手势进行定义,该定义经过了实际的交互试验,能较好地表达系统交互目标,具体定义如表1所示。

场景交互有触击指令,可以表现为手指动作中的静态单指触摸,还有拖拽指令,拖动界面缩略图到虚拟场景进行动态生成零件; 场景交互根据人的交互范围及其舒适性,将场景旋转表现为双手多指运动,具体为单指触摸保持,根据另一手指触击划动方向及距离计算场景视口的旋转角度及方向; 将场景视口的平移表现为双手三指两点空白处保持,一点空白处滑动,根据移动距离驱动视口视点的平面位置变化; 将场景视口的推拉表现为单指上下移动,划动距离驱动场景视口的拉近和推远; 场景元素用到的触摸交互为双手两指或三指运动,包含6种手势, 具体用来驱动虚拟元素的X、Y、Z位置和朝向,根据实时跟踪驱动场景元素动作。上述功能是根据实际体验总结出的较舒适高效的交互方式,满足一个真人对虚拟场景交互的基本要求。图1给出了具体的操作交互示意,图中空心点为未拾取到模型元素,实心点表示拾取到元素拖动。

3虚拟装配交互的实现

基于装配需求的动作手势是人与虚拟环境沟通的桥梁,以此来实现装配,然而手势怎样驱动虚拟环境动作,下文将展开讨论设计。通过对系统交互操作的动作进行分析和设计,共包含了11种交互动作,其中有关于装配操作交互的有6种,控制模型的空间位置和朝向进行装配。

3.1三维模型的拾取

操作交互中最重要的就是模型的拾取,通过一个虚拟环境外的二维点来得到目标对象,对于操作者来说,红外感应外框是二维平面的载体,拾取载体是二维空间内捕获到的二维红外触点坐标,从二维平面点向三维空间对象的拾取需要采用坐标系转换然后进行求交计算,获取离射线出发点最近的模型, 这里采用包围盒射线求交法。

光线跟踪技术( Ray Tracing) 由Arthur Appel[4]于1968年提出并且应用于图像渲染,现在已应用于三维场景的实时渲染中用来构造三维对象表面的反射、折射、阴影等特征。如图2所示坐标系,以红外框表面为X - Y平面,向内为Z轴正向构造笛卡尔坐标系。

Ray Tracing算法较为复杂,对不同的对象还需不同的求解过程以实现较为准确的光线跟踪,比如球体、锥体等。这里针对拾取对象的要求,采用部分Ray Tracing的求交计算方法,并对之进行简化和优化,作为拾取对象采用射线与对象包围盒求交法 ( Ray - Box Intersection) ,基于用户在红外感应被触发的时候 ( Drop Events) 所产生的感应点 ( Sensor Point) ,以当前视点( 或摄像机) 为方向,向屏幕内构造测试射线( Test Ray) ,并以对象包围体( Bounding volume) 做为求交计算对象以简化与复杂面、体的求交。

包围盒技术较多用在计算对象碰撞,不同的取法可以针对不同的目的进行优化,周之平[5]等曾提出基于二维轴向矩形包围盒优化多边形对象碰撞, 朱元峰[6]等应用OBB和Sphere的混合包围盒提高检测效率,高君峰[7]等则采用内外包围盒技术简化提高光线跟踪技术中的物体求交算法的效率。

这里的研究对象为机械设备,受到模型渲染加载的影响,要求资源占用少、效率高。求交计算主要用于元素的获取,并不涉及到元素点、面相对光线的空间位置情况,因而采用Kay和Kayjia[8]提出的以平行的“平板”( Slabs) 按给定方向分割空间三维对象( 3D Object) ,构造出简单包围体( 位于First Slab和Second Slab之间) ,并在给定的投影平面( X、Y、Z) 使用Test Ray与成对的Slabs进行求交,并获取交点离射线起点近的交点定位Tnear,远的则为Tfar,如果最大的Tnear值大于最小的Tfar值,则认为Test Ray与三维对象相离如图3( a) 所示,否则相交如图3( b) 所示。如此在三个投影平面均判定为相交的情况下, 则认为射线在空间范围内与三维对象相交。

通过将红外感应到的触点坐标按照视口的参数设置进行视口的反变换操作,得出三维虚拟场景中当前近裁剪面的坐标,Z轴数值为0,以当前虚拟场景视口朝向为方向做射线进行上述方法的求交运算,在相交的结果中来取出最小的Tnear值的所在对象作为本次拾取的对象,为交互操作做好准备。

通过动态设置拾取到对象的高光颜色来表征该物体已被拾取应用Ax Contact3D1. set Node ( " m_color_ emissive" ," emissive Color" ," 1 0 0 " ) 来动态设置该物体材质域节点m _ color _ emissive的emissive Color域值为红色RGB材质,待拾取停止将该值设置为"0 0 0" 返回,拾取前后如图4所示。

3.2手势动作的算法设计

通过对手势识别方式的设计分析,展开具体的算法设计,首先,触摸手势动作是在一二维平面上实现的,因此所有的手势动作都可认为是一系列的二自由度的动作,对单个触点的描述可由分为触点检测和触点追踪两个进程中的4个属性组成的数据结构来表示: Point = { ID,State. Coordinate,time} 。

其中ID为连续数字序号,用来标识感应触点的唯一身份号,这样使连续记录触点的轨迹和时间参数成为可能; State仅有0和1两种选值,用来记录触点相对于屏幕的状态,即值为0时表示感应接触, 值为1时表示未接触; Coordinate用来记录触点的坐标,即发生触摸感应的时候改点的坐标位置; Time表示用来指示触摸被感应到的绝对时间[9]。

则某时刻系统接受到的数据信息按照特征矩阵可表示为:

系统的交互手势最大使用到的触点数量为三个,所以系统某时刻接受到的数据信息矩阵中,系统将会取状态标识位开始为0时刻的绝对时间从早到晚前三位进行计算分析。首先系统需要建立有效的时间间隔阈值函数和触点位移阈值函数,时间间隔阈值函数用来判定触点从被感应到多久被判别为有效触点,即触点停留时间超过规定门限值才会被识别为有效触点,然后启动激活向系统发送数据信息用来手势识别; 触点位移阈值函数用来判别在一计算周期内,触点的前后两者之间的直线距离,若超过某一门限值,则被判定为动点,否则则被判定为静点。

设计时间间隔阈值函数:

设计触点位移阈值函数:

时间间隔阈值函数和触点位移阈值函数采用阶跃函数方法设计,可有效防止突增杂点的误判断,还可以减少过快操作产生的抖动,有效提高识别的精确性。

3.3系统交互的实现

3.3.1零部件模型的平移操作

虚拟场景中模型的平移操作通过直接改变零部件模型在虚拟场景中的坐标参数,系统会把新的位置参数转换为参数矩阵从而实现零部件模型的局部坐标平移。系统需要先获得零部件模型节点的变换矩阵,通过矩阵变换计算出平移后零部件的新坐标参数矩阵,从而实现零部件模型的平移,在经过动态路由赋予给模型该位置矩阵,从而达到平移拖动的效果。

设零部件模型的空间坐标矢量为[x0,y0,z0, 1],经过平移之后零部件的空间坐标矢量为[x1,y1, z1,1],沿X,Y,Z三个坐标轴的平移量分别为tx,ty, tz,则平移变换运算式为:

上述矩阵等价于方程组:

通过将拖拽平移的手势捕获的动触点的运算周期内的差值实时传递给系统,系统进行换算后,得出某一方向的平移量,在经过上述矩阵的运算得出新的矩阵,通过路由控制将新的Translation域通过节点路由形式发送给虚拟场景的元素节点,实现拖拽物体平移。

3.3.2零部件模型的旋转操作

零部件模型的拖拽旋转主要是针对零件模型的旋转域节点动态改变计算实现,根据计算机图形学原理,以绕X轴为例,设参数 θ 为指定的旋转角度, 以零件局部坐标系为出发点,从X轴正向朝负看, 顺时针旋转角度为正,则旋转变换矩阵方程的齐次形式为:

简介表达式为:

同理,绕Y轴旋转,其旋转变换矩阵方程为:

绕Z轴旋转,其旋转变换矩阵方程为:

在虚拟场景中通过读取Transform节点中的rotation域的值 ,而后通过动触点位置计算得出的差值距离缩放至合适旋转速度角,通过系统转换成矩阵,并与原有矩阵运算得出新矩阵,而后转换成旋转域值,通过路由送至虚拟场景,驱动模型旋转。

通过系统直接交互的对象的位移或旋转,带动定义的动作单元进行运动,通过原型动作的叠加驱动复杂动作的快速联动。

4单晶炉的交互实例应用

通过基于红外感应原理的系统手势设计,如图5所示,可以用界面交互查看该零件的安装工艺以及零件信息等,从右侧界面拖拽零件缩略图到场景中,将该零件的模型加载到虚拟场景中,而后通过与场景交互的手势调整到合适视口,然后采用移动旋转的各轴向手势拾取待装配零件模型,再通过自动配准功能逐个调整六个自由度方向与装配基体位置的调整,通过不断地调整,达到精确装配状态。

对于系统而言,注重训练的是学员在面对实际工作下的操作能力和工艺掌握能力[10]。经过调研对于系统动作控制,学员对系统的自动配准较为实用,能在最短时间内找到该零件的准确装配位置,还能够拖动有运动的零件来观察与其他运动部件的关系,结构原理一目了然,能满足学员对全局的掌握要求。

5结束语

在当下计算机科学技术迅速发展的背景下,通过了解分析目前机械设备传统培训的现状和不足, 结合虚拟制造技术的强大应用前景,提出了虚拟装配培训系统中手势交互的设计理念。重点研究交互动作输入方法并着重讨论交互装配过程中针对需求的一些手势控制技术,并以单晶炉的交互式虚拟培训系统为例论证了技术可行性。

人机交互地图系统的设计与实现 篇8

关键词:手势识别,手势跟踪,轨迹判定,地图控制,OpenCV

计算机技术水平发展的过程, 也是一个探讨如何更好地与计算机沟通的过程。如果技术构建的生活领先人们目前的生活太多, 就需要设计足够好的用户体验来驱动人们向新技术转变, 这也是人机交互发展的意义所在。更加随意和自然的人机交互方式一直是用户体验研究的主要方向。本文所设计的单摄像头下的单手手势识别地图控制系统, 从肤色检测入手, 并且选择了Camshift算法对人手进行定位跟踪, 选择HSV颜色空间进行自然背景下的肤色提取, 整个系统基于Open CV开发, 包括图像编辑、窗口操作、手势跟踪判定以及图像处理控制等各个模块都采用了Open CV的功能函数, 使用简单, 操作便捷, 具有一定的研究价值和市场前景。

一系统需求分析

本文系统以实现主要的人机交互地图功能为主, 所以一些可供扩展开发的功能没有列入主要的系统需求之内。基于这一前提, 系统需求包括:

显示视频, 在视频中跟踪显示肤色区域;

载入地图图片, 并可以无需更改代码, 更换地图图片;

识别手势指令, 并且根据指令控制图片移动;

在各个程序进程上, 留有扩展开发入口。

根据系统需求, 按照人机交互的顺序, 结合Open CV函数的特点, 设计出系统框架如图1。

二Open CV简介

Open CV的全称是Open Source Computer Vision Library, 开源计算机视觉库。Open CV于1999年由Intel建立, 现在由Willow Garage提供支持。Open CV是一个基于BSD许可证授权 (开源) 发行的跨平台计算机视觉库, 可以运行在Linux、Windows和Mac OS操作系统上。

Open CV量级轻而效率高, 由一系列C函数和少量C++类构成, 同时提供了Python, Ruby, MATLAB等语言的接口, 实现了图像处理和计算机视觉方面的很多通用算法。加上其开源的特性, 处理得当, 不需要添加新的外部支持也可以完整地编译链接生成执行程序, 其代码经过适当改写可以正常地运行在DSP系统和单片机系统中。

Open CV大量应用于人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪以及机器人开发等各个领域, 应用非常广泛。通过优化的C代码的编写对其执行速度带来了可观的提升, 并且可以通过购买Intel的IPP高性能多媒体函数库 (Integrated Performance Primitives) 得到更快的处理速度。

三手势识别

手势的表达能力介乎语言与表情、身体姿态之间, 但是在环境的适应性、交互的便捷性方面有突出优势, 所以成为人们研究下一代交互方式的首选媒介。但是手势的复杂性也非常突出, 这一面说明手势识别的难度很大, 另一面说明手势交互能够带来的信息量很大。

本文研究的手势识别是对手势做静态化的大致定位, 对具体细节可以不精确计算, 得到连续稳定变化的目标区域, 具体表现在获得目标区域的稳定性质点 (比如重心) , 在视频流的每一帧连续变化中, 稳定性质点不会发生跳变。本文对手势识别提出的流程方案是:前景提取、肤色提取、手部提取、手势跟踪。

1. 前景提取

在连续变化的视频帧中, 除人体的操作变化之外, 实际上背景通常是静态不变的, 所以将前景提取放在手势识别的第一步进行, 目的在于排除静态背景的干扰。前景提取中的“前景”指在连续图像中变化的图像部分, 前景提取是一个从所有图像数据里面提取动态数据的过程。经过前景提取得出的动态区域, 然后针对动态区域做进一步的肤色识别等流程, 这一步骤提高了识别系统整体的效率。

视频捕捉的视频流之中, 如果假定背景保持不变。通过分析其中移动的前景图像建立模型, 将背景模型和当前帧进行比对可以检测出前景物体, 通过调用Open CV中的absdiff函数即可计算得到。但是对于大多数情况来说, 获取背景图片都不容易。

具体的实现过程主要分为两部分:一部分是调用absdiff函数找出当前图片和背景图片的区别, 使用了threshold函数除去前景。如果当前图片像素与背景图片像素变化超过一定阈值就认定其为前景像素;另一部分工作是更新背景图片, 调用函数Accumulateweighted, 根据权重参数可以调整背景更新的速度, 将当前图片更新到背景中, 将得到的前景提取结果作为mask, 在更新背景图片时避免了前景的干扰。Open CV封装了Background Subtractor MOG类, 为我们做好了相关工作。

此法可以得到的结果是二值化的结果。所以需要采用迭代的过程, 将得出的二值化结果的区域坐标输出, 反馈到肤色提取模块, 再在动态提取后的区域中做分析检测。

2. 皮肤检测

皮肤检测的任务是在视频流中找到皮肤区域, 并且把检测出的目标区域标定。皮肤检测通常作为从视频中提取人体部位过程的预处理步骤。

因为皮肤的特征具有差异性, 根据人们不同的种族、健康或者年龄等不同因素, 都会产生差异, 所以皮肤检测可以是两个维度的工作, 既可以基于肤色检测也可以基于皮肤肌理检测。两种检测方法的原理不同, 目前主要的研究都集中在肤色检测这一方面。因为皮肤的肌理相对肤色来说, 更加细微, 所以检测的难度以及对环境的敏感度都比肤色要高。本文也基于肤色检测进行。

由于皮肤在视频流中的颜色取决于摄像头拍摄时的光照条件, 包括光照的角度以及光照的强度。本文具体讨论在光照不变或者皮肤颜色对光照变化不敏感的条件下进行的情况。

皮肤检测包括如下步骤:颜色空间转换、设定皮肤边界、标定皮肤区域。

颜色空间的值与很多变量有关, 对光照条件等主要的干扰因素的敏感程度不同, 且与肉眼所见颜色并未必有明显的线性关系。因此, 作为皮肤检测的重要环节, 选择颜色空间对皮肤检测模块的性能有很大影响。

因为本系统需要直接定制肤色边界, 所以采用了感性颜色空间中的HSV空间, 包括三个部分:色相 (H) , 饱和度 (S) 以及亮度 (L、V) 。他们从RGB空间非线性转换而来。优势在于允许用户直观制定色调、饱和度的肤色边界。通过设定HSV值, 可以直接看到系统检测的效果, 并可根据效果及时调整。HSV值设定以后的, 满足HSV设定边界的像素点被标记成为皮肤区域。

人体的皮肤是由红色的血液或者褐色以及黄色的黑色素组合而成的, 所以皮肤的颜色是在一个有限的皮肤范围之内。因此, 皮肤检测在将图像转换到颜色空间后, 可以确定一个肤色边界来划定肤色区域。肤色边界是指在颜色空间中, 根据颜色的各个值设定区分条件, 满足条件像素点才能被标定为皮肤像素。

对图片的操作本质上针对一个矩阵进行操作, 每个矩阵上的点具有位置和颜色值。针对图片数据矩阵上所有的点做一个遍历检测, 对每个点按照肤色边界条件作对比检测, 然后把满足边界条件的点保持原有数据, 不满足条件的点设为白色。针对点的对比检测完成之后, 对图像做形态学处理, 将大块的颜色区域划为连续的区域。同时将满足条件的区域中的一些不满足条件的区域标识出来。这样整个皮肤检测流程就完成了。

3. 手部提取

输入手部提取模块的图像, 已经经过前景提取和皮肤检测, 意味着理想情况下, 摄像头采集到的静态元素已经排除, 运动着的目标非皮肤区域也已排除。但是用户被摄像头采集到皮肤区域, 不止是包括手势部位, 也包括了脸和手臂。

脸部和手臂虽然互相干扰, 但是脸部包含了眼睛、鼻子和嘴唇等非肤色区域, 所以在连续的区域之间会有一些小的非肤色区间。可以基于区域的连续性来将脸部排除。

手掌和手臂都是连续的肤色区域, 需要进一步确定手掌的位置。首先取得两个最大的手指指尖坐标, 然后根据两个坐标之间的差值, 确定一个起点, 再根据设定的手掌比例算出手掌的横向面积, 满足横向长度的范围之内, 就属于手掌区域, 剩余的就是手臂区域。

该方法受到摄像头面对手势的方向以及距离的影响。极端情况下, 当整个手臂被判定为手掌时, 整个手势的跟踪轨迹也会有一个稳定的输出值, 但是因为面积变大, 以及遮挡面积等各种影响都变大, 所以输出值相对真实值会变得缓慢。

4. 实现方案

本系统主要负责手势识别以及跟踪的函数:

该函数的主要作用是, 输入视频帧转换成的图像, 识别并输出肤色区域中心坐标。这一模块的主要任务有:将肤色区域跟踪框显示到视频中, 方便及时查看识别跟踪效果, 以修正肤色阈值;输出肤色区域中心坐标数据到轨迹判定模块。

实现的过程如下:

将图像转换到HSV空间, 设定皮肤过滤阈值成对应的HSV值条件, 然后通过设定的HSV值对图像进行检测;

通过Cam Shift算法跟踪肤色区域, 并且将跟踪框显示到视频流图像中, 输出显示;

将肤色区域的跟踪数据存入track_box变量地址中, 以供系统下一进程调用。

四手势跟踪与判定

手势跟踪通过不同帧之间稳定性质点的变化来推断整个运动的轨迹。所以, 手势跟踪和手势运动的速度、对象是否被遮挡等都有关系。

目标从进入摄像头采集范围开始, 移动过程的每帧之间需要一定的时间, 所以相邻视频帧之间必然有一定的相关性, 基于这种相邻帧之间的相关性可以对肤色检测的对象进行跟踪, 持续输出目标坐标以完成手势识别系统的任务。对人机交互地图系统的手势识别模块来说, 手势跟踪的目的是持续输出坐标, 并且设置跟踪框, 此外, 还可以反馈信息给手部提取模块以减少计算量。

目前, 对目标跟踪算法展开很多研究, 这些算法各有优缺点。在不同的系统里, 根据需求的不同, 选择对应的目标跟踪算法, 对整个系统的性能以及识别率都至关重要。本文的手势识别是基于肤色的, 所以选择使用Cam Shift算法。

1. Cam Shift跟踪算法

Cam Shift的一大特点就是其搜索窗口在初始化之后会在每一次搜索完毕之后自适应调整其大小, 使得跟踪窗口能适应目标大小的变化。Camshift是基于肤色的, 由于基于肤色识别的算法对光照比较敏感, 所以需要选择对光照亮度变化不太敏感的颜色空间如HSV, YCg Cr等。在HSV空间中, 只需要计算H通道的颜色直方图;在YCg Cr空间里, 需要计算Cg Cr通道的颜色直方图, 为了减少计算, 选择前者。以下是Camshift跟踪的基本步骤;

第一步, 初始化搜索窗口, 将RGB颜色空间转换为HSV颜色空间。根据用户手动选择的搜索窗口, 获取待跟踪目标的颜色直方图;

第二步, 根据获得的颜色直方图将原始图像映射为对应颜色的概率分布图像;

第三步, 计算当前搜索窗口内概率分布图像的重心, 把搜索窗口的中心移到计算得到的重心处, 更新搜索窗口的中心及大小, 返回第二步, 重复操作直至窗口的中心不再发生变化或与重心的距离在预定阈值之内。

因为Camshift跟踪需要用户手动设置, 并不能实现自动跟踪。但是可以对步骤一进行以下流程优化, 以实现Cam Shift跟踪的自动化。

加载待跟踪目标的颜色图像, 计算待跟踪目标的颜色直方图;

设置搜索窗口为整个视频窗口或略小于整个视频窗口。

Camshift跟踪会根据目标的尺度更新窗口大小, 所以最初的最大化设置会在搜索开始后立即变成适应目标的窗口大小。在本系统中, Cam Shift持续将搜索窗口的中心坐标输出, 即可完成从手势图像到具体目标坐标的转化。

2. 手势轨迹判定

手势跟踪持续输出了手势的位置坐标, 由此, 我们需要设计一个轨迹判定算法来从轨迹之中识别出手势传达的指令。

本文采用一种基于坐标系加判定圆的交互判定方式:构建一个以视频采集中心为原点的坐标系, 再以原点为圆心, R为半径构成一个判定圆。这种轨迹判定方式可以满足平移和缩放两种操作的判定需求。

(1) 平移判定

当轨迹落在判定圆之内时, 系统即处于触发状态, 当手势坐标离开判定圆, 系统立刻脱离触发状态, 同时记录这一时刻点的坐标, 将其与触发点的坐标相对比, 则可得出一个由坐标差形成的向量, 反映了这一手势的方向以及移动量。

这样得出平移向量可以包含各个方向, 如果基于该向量再加上一些判定算法, 则可以得出一些仅包含几个方向 (比如上下左右) 的平移值。

(2) 缩放判定

因为缩放操作比移动操作的频次要低, 所以缩放操作可以比移动操作稍微复杂。

本文的缩放操作定义为:在坐标系中对整段输入轨迹做匹配处理, 当一段坐标轨迹连续顺时针或者逆时针经过了四个坐标象限的时候, 根据顺时针或者逆时针判定为放大或者缩小。至于缩放的倍数, 需要事先确定。

这样做的好处是:当用户知道触发圆的存在时, 会有目的地发出指令手势。同时在无指令意向时, 会注意避开触发圆。通过调节触发圆半径R的大小, 对触发敏感地区进行设置, 使得系统可以灵活适应不同场景, 降低用户误操作的概率。此外, 通过采用相对坐标的差值, 保留了手势的方向, 使得图像具有多维的方向感。

3. 实现方案

手势判定模块的任务是:当用户做出符合规则的手势时, 模块从前流程模块中实时获得肤色区域坐标, 经过判定, 输出对应的指令。因为仅需实现图片移动, 所以本模块的实现函数为:

void Judge (float x, float y, int&dx, int&dy) ;

调用跟踪模块的track_box变量的中心x、y坐标, 经过算法判定以后输出移动的坐标。如果实时输入的坐标没有满足坐标条件, 则输出dx、dy均为零。

实现过程为:

对dx、dy变量清零。因为x、y变量为偏移量, 如果之后的流程中输入的坐标不满足判定条件, 则输出为0的偏移量, 不发生影响;

对输入的坐标x、y做偏移处理, 因为视频采集的区域中心坐标并非是 (0, 0) , 所以需要针对圆心做调整。采集区域的坐标值形成以采集区域中心为圆心的坐标系;

判定触发状态:如果系统已触发, 当前坐标在触发圆内, 则把状态设置为已触发, 保存坐标值;如果系统已触发, 当前坐标不在触发圆内, 则用目前的坐标值减去触发状态保存的坐标值, 设置 (dx, dy) 输出。

五地图交互

人机交互地图系统的难度以及核心模块集中在手势识别方面, 但是用户在使用时真正看见的是地图交互模块。虽然地图的载体是图片, 但是操作地图和操作图片有一定区别。放大缩小所操作的地图, 不简单是一张图片, 而是切换了不同精细度的数张图片。地图模块的几个功能是:管理地图图像数据源、获取手势指令、对数据进行相应操作。

1. 地图数据管理

常用的地图显示方式的最佳实现方案为联网时自动更新数据以及离线时使用可用的离线数据。数据源采用图片作为主要的呈现载体, 系统直接根据需求把对应的地图图片显示出来。

地图数据管理的关键是, 用户不用直接修改代码, 可以通过文件夹操作等方式增加地图数据, 可以在程序中输入数据检索文件夹中的图片, 当用户需要使用当前地图时, 只要把图片放入文件夹即可。

2. 地图操作

当选定地图之后, 地图的操作主要是移动和缩放。至于多维信息的查询, 需要结合地图匹配的数据库和相应信息交互的功能方能实现。仅仅针对地图本身而言, 并不需要如此多的功能设置。我们具体研究地图的移动和缩放功能。

针对地图的缩放功能, 有些地图本身的信息非常密集, 所以需要做到对地图本身的缩放处理。而另外一些地图, 实际上并非“看不清”, 而是给出一些宏观图像, 放大功能则是针对其中一个密集区域调用相应的详细地图图片。

针对地图的移动功能, 如果本地数据源是静态图片, 那么移动是有边界的。同时, 移动的尺寸也非常重要, 针对显示框的不同形状, 要给地图移动设定一定颗粒度的移动距离。如果颗粒度太大, 用户在需要同时看移动后地点和移动前地点之间的路线时容易操作过度;如果颗粒度太小, 用户则需要连续操作, 这样既浪费用户精力, 又可能造成误差。

无论是移动还是缩放, 在边界问题上, 都需要给用户反馈, 以提醒用户是否可以操作, 是否需要更新数据源。对于特定硬件而言, 图像显示的窗口大小要作对应的设置以满足最佳的查看体验。

(1) 图像的平移

图像的平移是将图像中所有的点都按照指定的平移量水平、垂直移动。设 (x0, y0) 为原图像上的一点, 图像水平平移量为tx, 垂直平移量为ty, 则平移后点 (x0, y0) 坐标将变为 (x1, y1) 。

显然 (x0, y0) 和 (x1, y1) 的关系如下:

用矩阵表示如下:

对该矩阵求逆, 可以得到逆变换:

平移后图像上的每一点都可以在原图像中找到对应的点。例如, 对于新图中的 (0, 0) 像素, 代入上面的方程组, 可以求出对应原图中的像素 (-tx, -ty) 。如果tx或ty大于0, 则 (-tx, -ty) 不在原图中。对于不在原图中的点, 可以直接将它的像素值统一设置为0或255 (对于灰度图就是黑色或白色) 。

(2) 图像的缩放

图像移动变换是1:1的变换, 而图像的缩放操作会改变图像的大小, 产生的图像中的像素可能在原图中找不到相应的像素点, 这样就必须进行近似处理。本文的方法是直接赋值为和它最相近的像素值。

假设图像x轴方向缩放比率为fx, y轴方向缩放比率为fy, 那么原图中点 (x0, y0) 对应与新图中的点 (x1, y1) 的转换矩阵为:

其逆运算如下:

例如, 当fx=fy=0.5时, 图像被缩放到一半大小, 此时缩小后图像中的 (0, 0) 像素对应于原图中的 (0, 0) 像素; (0, 1) 像素对应于原图中的 (0, 2) 像素; (1, 0) 像素对应于原图中的 (2, 0) 像素, 以此类推。在原图基础上, 每行隔一个像素取一点, 每隔一行进行操作。其实是将原图每行中的像素重复取值一遍, 然后每行重复一次。

3. 实现方案

地图交互系统分为几个模块设计, 分别为:载入模块、移动模块和显示模块。

(1) 载入模块

地图载入模块需要让系统具备动态的图片接受能力。允许用户直接修改地图存放文件夹中的图片, 只要满足命名规则, 不需要修改代码可以直接更改操作的地图。本文设定在E盘map文件夹下, 存放需要显示的图片, 命名为map.jpg即可。基于Open CV的cv Load Image函数, 使得系统支持大多数图片格式, 不仅限于jpg格式。

实现函数为:

Ipl Image*map=cv Load Image ("E://map/map.jpg") ;

(2) 移动模块

地图移动模块需要实现地图的上下左右移动, 能够调用判定模块输出的图片, 移动坐标对应移动图片。当图片移动超出尺寸时, 显示黑色背景。

实现函数为:

Ipl Image*dst=Move (Ipl Image*map, int dy, int dx) ;

移动模块的流程是:

判断 (dx, dy) 是否为零, 如果为零则跳过移动执行, 直接进入下一循环, 节省计算量:

按照dx、dy值移动图片, 并且返回移动处理后的图片。以供显示模块显示。

(3) 显示模块

地图显示模块需要在屏幕中心显示一个固定尺寸、固定位置的窗口。在窗口中显示各种移动操作后的地图图片。因为基于Open CV的cv Named Window以及cv Show Image函数有较大局限, 创建的窗口只能和图片一样大小或者固定大小, 无法全屏显示部分图片:当窗口尺寸大于图片时, 图片从左上角开始显示, 未铺满的地方为黑色;当窗口尺寸小于图片时, 图片按照窗口的比例默认显示。这不能满足我们既要能够查看图片中的一部分, 同时保持窗口大小不变的需求。

为了满足函数调用条件又满足系统需求, 采取了一下办法:

图像显示确认首先采取固定窗口位置以及固定窗口大小的处理方式;

采用类似图像移动函数的方式对图像进行处理:针对要显示的目标以及显示框架, 制定一个框架空图像, 其尺寸大小和需显示的图像一致, 但内容为空;

按照要显示目标的区域, 把地图图片目标区域的数据复制到frame图片中。然后返回frame, 就完成了部分显示图片的任务。

实现函数为:

dst=Fill (dst) , cv Show Image ("Map", dst)

因为复制目标图片值需要大量的计算, 所以将填充函数和显示函数分离, 按需调用, 可以有效提高系统性能。

六实验结果

整个人机交互地图系统的程序设计循环流程为:

先将摄像头视频流中的帧转换为图片导入;

调用识别跟踪函数, 实时获取采集图片中肤色区域的坐标数据;

显示视频数据;

调用判定函数, 从坐标数据中判定对应的手势指令;

如果发出指令 (移动坐标不为零) , 则移动地图;

显示地图。

代码如下:

编程实现后, 用单手操作, 进行不同方向移动地图的效果如下。

1. 向左移动图片

手坐标在触发圆内, 系统触发, 见图6 (左上) ;

手坐标在触发圆左侧 (图片中右侧) , 触发移动图6 (右上) ;

图片处于原位, 见图6 (左下) ;

图片左移, 显示更多地图右侧区域, 见图6 (左下) 。

2. 向右移动图片

手坐标在触发圆内, 系统触发, 见图7 (左上) ;

手坐标在触发圆右侧 (图片中左侧) , 触发移动图7 (右上) ;

图片处于原位, 见图7 (左下) ;

图片右移, 显示更多地图左侧区域, 见图7 (左下) 。

3. 向上移动图片

手坐标在触发圆内, 系统触发, 见图8 (左上) ;

手坐标在触发圆上方, 触发移动图8 (右上) ;

图片处于原位, 见图8 (左下) ;

图片上移, 显示更多地图下方区域, 见图8 (左下) 。

4. 向下移动图片

手坐标在触发圆内, 系统触发, 见图9 (左上) ;

手坐标在触发圆下方, 触发移动图9 (右上) ;

图片处于原位, 见图9 (左下) ;

图片下移, 显示更多地图上方区域, 见图9 (左下) 。

七小结与展望

本文从系统需求入手, 设计实现了一个基于手势识别技术的人机交互地图系统。并针对系统的各个功能模块, 从理论角度进行分析和思考, 在传统算法的基础上, 设计出肤色识别系统、符合手势交互规则的轨迹判定算法以及基于判决圆的交互判定方法, 使得系统能够分析用户的真实命令意图, 降低用户无意识手势造成的错误判定, 减少误操作。在手势判定之后, 针对输出的指令, 设计适用于地图操作的控制系统, 最后利用Open CV编程实现。

本文的研究虽然取得预期的效果, 但功能还不完善, 可以进一步研究开发:

加入前景提取模块。这是排除静态背景影响的基础, 目前的系统没有此模块, 较容易受到背景颜色的干扰。前景提取模块以输出前景区域为主, 并加入形态学处理, 通过计算, 使得整个前景提取的结果是有原始图像数据的前景区域图像;

交互实现 篇9

随着计算机网络和多媒体技术不断成熟与普及, 虚拟现实应用于产品网络展示领域逐渐成为一种发展趋势。虚拟现实技术通过创建和表现虚拟实体与空间, 提供更加直观、丰富、便捷、逼真的信息展示途径和形式。演出院线作为一种新兴文化服务和经营业态, 在信息化、网络化、智能化融合发展过程中, 通过对剧场、剧目、剧团等演出资源的整合和提升, 大大促进了文化演艺业的发展和繁荣。剧场作为最重要的演出资源之一, 借助互联网进行品牌推广、网络宣传和营销已成为发展趋势, 在线剧场、B2B的投入持续增加。目前, 互联网上对剧场的宣传展示仍以2D图形和文字信息为主, 方式单一, 局限性大, 而剧场三维模型在互联网上的展示, 能为客户提高逼真的虚拟现实展示场景, 全方位真实再现剧场环境及设备设施, 这将大大提高剧场行业竞争力和院线的信息化、智能化水平。

1 虚拟现实Web展示关键技术

目前国内外主要的3D模型仍然是采用3D CAD系统进行设计, 3D CAD开发的模型专业性较强, 但画面效果逼真度低, 模型可移植性差, 不适合应用于互联网进行商业展示。三维虚拟展示技术中应用比较广泛的是VRML、Cult3D和Unity3D技术。VRML用于描述基于互联网的虚拟场景规范, 交互性对于开发复杂的应用稍显不足, 场景信息与交互信息并存在VRML文件中, 使开发人员使用起来很不方便[1]。

Unity3D提供了一种通用的3D数据编码方式, 打破了CAD和其他软件公司开发的专有3D图形格式的垄断[5], 它具有更细腻的3D画面, 更便捷的操作, 可实现多平台互动和多插件兼容, 对Direct X和Open GL拥有高度优化的图形渲染管道;Unity支持所有主要文件格式, 并能和大部分相关应用程序协同工作, 低端硬件亦可流畅运行广阔复杂的场景;Unity内置的NVIDIA, Phys X物理引擎带能够带来逼真的互动感觉, 实时三维图形混合音频流、视频流, 非常适合产品虚拟展示在交互访问和逼真表现的需求[2]。U3D标准还提供了许多运行时的优势, 特别是应用于互联网上时, 比如它的连续细节层次特征, 使得用户可以在一边下载的情况下一边 (步进似的) 观察三维数据。基于此, 本系统中选用Unity3D来创建剧场三维模型, U3D最大的特色在于其通用性和兼容性, 不局限于特定的软/硬件资源, 使主流商业应用程序可以较为容易的使用3D技术。

2 虚拟剧场Web展示系统设计与实现

2.1 系统总体框架

本系统基于B/S架构设计虚拟剧场Web交互展示系统。整个虚拟展示系统可分为Unity3D展示部分和网页系统。其中网页系统负责用户权限、展示参数、查询文件的管理以及用户在浏览器上注册、登录、查询等操作, Unity3D展示部分则是利用Unity3D引擎, 开发一个接口统一的展示框架, 实现虚拟剧场在Web上交互展示。系统数据库选用SQL Serve, SQL Serve功能比较强大, 除可处理包含在各种平台上运行的数据库管理系统内核之外, 还包括数据复制、数据库系统管理、网关支持、在线分析处理、多媒体支持和各种并行处理能力, 并且与Internet紧密结合, 可将数据库连接到Internet, 通过Web浏览器显示数据操作。

2.2 模型发布

Unity软件支持多平台发布, 可将模型发布至Web player/i OS/Android/Flash Player/Xbox等平台转换成相应格式文件[4]。本系统中Unity3D展示模块是用Unity3D引擎开发的一个能够动态加载3D模型的Web Player应用, 通过安装很小的Unity 3D插件, 可实现在各个主流浏览器上运行这个Web Player应用来加载产品模型展示, 例如IE, Firefox, Safari等。Web player平台输出的文件格式为.HTML, 嵌入网页系统进行链接最为便捷[3];发布为Flash Player平台输出文件格式为.swf。通过下表实验数据可看出, 由于Flash Player具有独立引擎支持三维模型的运行, 因此具有更高效的加载速率。

2.3 交互事件的实现

Unity3d兼容性良好, 扩展性强, 支持使用c#编程来动态改变三维模型, 实现控制事件的触发, 包括特定实体的控制、参数的显示与修改等。本系统通过c#实现交互事件包括:鼠标放在舞台特定区域, 显示舞台参数, 包括长、宽、高等;鼠标放在吊杆区域, 显示吊杆最大移动速度、载重量、接口数等;通过键盘“N、U”控制吊杆的上下移动;通过“E”键控制剧场灯光的开关和效果。

2.4 参数匹配查询

本系统可实现剧场观众席座位数、台口、舞台、吊杆等参数的匹配查询, 查询结果在三维模型中以对话框方式显示。通过设置参数标准值并存在XML文件中, 在参数输入区域输入匹配值, 通过c#编写循环查询比较语句, 调用XML文件进行参数对比, 结果在剧场三维模型中展示并返回前端用户界面。

3 结束语

文章使用Unity3d技术创建剧场三维模型并发布至Web Player平台, 基于B/S结构开发网页管理系统, 运用C#语言实现模型上交互事件的查询与参数匹配, 最终以视觉方式实现不同事件和功能在模型中的互动。用户通过互动操作, 足不出户就可以全方位浏览剧场细节并体验真实的场景效果;在虚拟现实环境中进行剧场参数匹配查询更加直观、便捷, 剧团人员可在线匹配查询, 获取自己所关注的剧场参数, 如舞台尺寸, 面光、耳光位置, 吊杆接口, 观众区容量等, 进而指导演出部署、剧目创作和剧场选择。利用互联网高速迅捷的传播优势推介剧场, 基于交互式信息查询机制, 有利于激活整个演出产业链, 进而促进演出产品和要素的合理流动。

摘要:互联网和多媒体技术的融合发展为B2B/B2C电子商务平台发展提供了新的契机, Web3D技术是随着互联网与虚拟现实技术的发展而产生的。文章主要阐述应用专业引擎Unity3D, 创建三维剧场模型, 基于B/S网络框架实现虚拟剧场在Web上交互展示与参数匹配查询, 最终实现基于Web、交互性强、效果逼真的虚拟剧场展示系统, 通过搭建一个跨越时空局限性的交互平台, 实现更加便捷的剧场信息交流。

关键词:Web3D,Unity3D,虚拟现实,交互展示,参数匹配

参考文献

[1]戚鹏, 倪乐波.工业设计产品的三维虚拟展示技术研究[J].中国科技纵横, 2010 (20) :3-4.

[2]倪乐波, 戚鹏, 遇丽娜, 王婧.Unity3D产品虚拟展示技术的研究与应用.数字技术与应用 (应用研究) , 2010 (9) .

[3]郭海新.Unity3D与HTML交互机理的研究.煤炭技术, 2011 (30) .

[4]陈育滨, 曾玉珠.基于Unity3D平台的Web3D展示.电脑编程与技巧维护 (图形图像处理版) , 2012 (1) .

交互实现 篇10

河南有线电视网络集体郑州分公司经过多年的发展, 具有优质的网络资源, 有线电视用户达75万户, 数字电视用户12.5万余户, 宽带用户8万余户, 有线电视网络双向改造已经全部完成。

随着用户对信息需求的逐步增长, 已不满足单向地被动地接受信息。在面临着新的行业竞争面前各网络运营商在视频传输领域内的竞争加剧, 作为广电运营商主打产品的单向电视业务尤显得力不从心, 急需有一个成功的商业运营模式, 由此来增强用户的忠诚度, 减少用户流失以及提高用户ARPU值。根据国外和国内一些成功地区的运营经验, 互动电视对广电运营商来说将是一个新的发展方向。

2基于IP网的互动电视

2.1前期分析

开展互动电视, 必须具备双向网络, 目前河南有线郑州分公司双向改造已经基本进行完毕, 实现信息交互的方式有两种, 一种是光纤+LAN, 另外一种是通过改造后的HFC双向网络CMTS+Cable Modem。

为了尽快开展点播业务, 我们先前与杭州华数合作利用我们现有的网络资源和其他兄弟广电的成功经验, 利用其各类业务管理支撑和应用平台 (节目内容、通讯资源、信息应用资源, 城际骨干网络, 分中心平台) , 结合河南有线郑州分公司现有的IP骨干城域网和高速宽带接入网络, 在本地建设若干CDN节点为互动电视业务提供业务支持平台, 配合我们现有的广播式数字电视播出前端, 来开展互动电视业务。这样做投资小, 见效快, 没有大的风险。

在业务开展初期, 在不需要添加太多的设备的情况下, 我们采用了光纤+LAN的方式为用户开展互动电视业务试点。这种模式基本不需要什么大的投入, 只要在前端接入由杭州方向的长途光缆传来的信号, 在本地建设CDN节点, 终端采用IPTV双模机顶盒就能开展业务。

2.2河南有线郑州分公司基于IP网的互动电视总体框图 (见图1)

整个系统平台总体上分为三层结构:中心节点层、边缘节点层和用户层。

中心节点层:作为整个互动电视平台的运维和管理中心, 负责内容制作、存储、分发和发布, 同时提供内容源服务功能。

边缘节点层:为用户提供就近接入服务。

用户层:包括机顶盒和电视, 是用户访问互动电视平台业务的终端。

2.3河南有线郑州分公司互动电视平台架构

互动电视平台包含交互数字电视平台和DVB系统, 分别用于提供交互和广播式的视频业务。

交互数字电视平台和DVB系统都可以划分为内容、服务、传输、客户端几个层面。交互数字电视平台的服务系统主要包括内容编码、内容管理、内容分发、流服务等子系统, 节目的传输通过IP网络及其覆盖层CDN实现;DVB-C服务系统包括编码、复用、加扰、调制、播控和CA等系统, 节目直接通过HFC网传输。

在内容层, 交互数字电视平台和DVB-C可以拥有同样的节目, 但是节目文件编码存储格式不同, DVB-C采用MPEG-2的文件格式, 交互数字电视平台采用MPEG-4。

在客户端层面, 两个系统使用双模机顶盒, 在同一STB上支持交互数字电视平台和DVB业务。

2.4互动电视各系统模块及主要功能

2.4.1内容制作和管理系统功能

内容制作模块主要是对流媒体内容进行编码转码, 形成MPEG-4格式的内容, 并对这些内容进行编辑;编码系统采用ISO/MPEG-4标准, MPEG-4标准是当前流媒体编码中最有效率的一种编码方式, 在低码流上能够达到高清晰的图像质量。河南有线郑州分公司的本地节目, 经过制作的MPEG-2节目, 通过长途光缆传到杭州, 由杭州编辑压缩为MPEG-4节目;文字节目, 直接上传到杭州。然后对这些节目进行统一编排。

内容管理模块主要是对交互数字电视平台的资产和内容进行管理。媒体节目经过制作后, 手工或者自动入库到流媒体管理系统中, 然后在流媒体管理系统中经过频道组织和内容编排, 通过EPG展现给用户。它主要包括媒体资产管理 (AMS) 、节目编排管理 (CMS) 、广告管理和发布管理等几个模块。

2.4.2 EPG (Electronic Program Guide) 功能

内容展现模块 (EPG) 根据CMS设置的节目信息, 展现用户界面给客户端, 并负责与客户端的交互, 根据从CDN获得的最佳路由信息, 把用户引导到最合适的边缘节点上的Streaming Server去。从而实现互动点播功能。

2.4.3 CDN (Content Delivery Network) 功能

内容分发 (CDN) 专门服务于应用内容, 从中心存储把应用内容发布到CDN节点, 可以提高应用内容的服务质量和用户体验, 主要包括2大模块:

内容服务网关模块

内容服务网关CSG (Content Service Gateway) 部署在各个分节点, 负责本地负载和本地流量控制, 并通过一定的导向策略 (如内容引擎权重、负载状况、内容在引擎中分布状况等) , 将用户的内容请求导向到最佳的内容引擎或原始内容服务器, 使用户得到最好的服务, 实现本地智能化负载均衡。除此之外, 还负责检查内容是否存在, 并指导其控制的内容引擎MSC下载相关的内容。内容服务网关模块的主要功能如下:

(1) 动态维护一张包含其控制的各个媒体服务控制器MSC内容状况的内容映像表;

(2) 当用户请求导向到CSG时, 按照内容映像表检查, 如果存在该内容, 则通过一组设定的导向策略, 将用户的内容请求导向到最佳的内容引擎, 如果没有该内容, 则通知MSC到就近的映像内容服务器或原始内容服务器抓取内容;

(3) 与其控制的内容引擎进行流量信息交流以及内容状况同步, 检查各内容引擎的健康状态, 确保不将用户的请求分配到任何一个已经不可用的内容引擎上;

(4) 指导其控制的内容引擎进行内容操作, 包括内容获取、内容删除、内容更新, 以及到就近原始服务器或映像服务器抓取。

媒体服务扩展器模块

媒体服务控制器MSC (Media Service Controller) 位于分布式内容服务边缘点, 与流媒体服务软件 (比如Microsoft WMS) 共同组成缓存服务器, 是一个基于软件的流媒体缓存, 用于控制流媒体服务, 为最终用户提供实际的流媒体边缘服务。利用MSC使用户的请求能绕过Internet的拥塞区域, 得到就近服务, 可以更加有效的管理带宽, 改善传输质量, 提供各种内容增值服务。MSC的主要功能包括:

(1) 根据预定策略 (包括并发用户数、并发流量和对存贮的占用空间的控制) 对访问内容服务引擎进行控制。

(2) 支持用户访问的日志记录。

(3) 同本节点内容服务网关CSG保持通讯, 提供流量信息。

(4) 接受本节点CSG指导, 对本节点缓存内容进行操作, 包括取得、删除、更新, 以及到就近的映像内容服务器或原始内容服务器抓取内容。

(5) 监控设备、应用和在线用户状况, 统计访问规则和应用访问情况。

(6) 播放节点服务引擎部署中至少包含一个CSG作为内容服务网关, 它可控制一组由MSC组件和流媒体服务软件组成的内容引擎。

2.4.4 OSS功能模块

互动电视的OSS系统主要是提供互动电视的业务支撑, 通过和数字电视CA的结合, 实现数字电视和互动电视的统一认证, 包括下面几大功能:

(1) 资源管理:仓库管理、资源库存管理、资源销售管理、资源查询等。

(2) 业务受理:新装、移机、拆机、销户、过户、受理返销、批量受理等。

(3) 综合营业:客户管理、信息查询、缴费管理、用户地址管理等。

(4) 系统管理:系统维护、产品管理、CA授权、资费管理等。

(5) 帐务管理:帐户管理、出帐管理、划款管理、划款信息管理、帐单管理等。

2.4.5用户点播流程

(1) STB开机自检通过后, 发起DHCP请求, 从DHCP获取IP地址。

(2) DHCP+返回合法的IP地址给机顶盒。

(3) 机顶盒连接到华夏视联中心的TView系统, 请求认证服务。

(4) TView系统将机顶盒的STBID, 用户名密码等信息上传到AAA系统进行认证。

(5) AAA系统返回认证通过信息给TView系统。

(6) 认证成功后, STB内嵌浏览器会访问。

(7) (该地址已经烧录至STB) , 即访问TVPortal EPG。

(8) 用户浏览EPG提供的产品服务。

(9) 用户选择观看某个影片。

(10) EPG根据用户选择的产品信息, 向AAA服务器请求授权。

(11) AAA系统确认后, 发回授权信息给EPG。

(12) EPG返回给机顶盒CDN系统的入口地址。

(13) 机顶盒上的播放器连接CDN系统, 获得加密的媒体流根据媒体流的加密信息, 访问DRM系统, 获得证书, 对媒体流进行解密观看。

(14) 当本地节点没有用户所点的媒体时, CSG根据本地MSC负载及健康状况选择服务引擎。

(15) 用户被重定向到MSC, MSC则连到AuthView去进行用户资费状态认证, 认证通过后就对用户提供服务, 若本地没有影片, 则MSC向OCS发送RTSP请求, 并起RTSP透明代理为STB提供服务, 同时根据既定策略来决定是否从OCS上以FTP的方式下载用户刚才所点播的媒体文件。

(16) 影片服务结束后, MSC将服务详单发送给AuthView, 然后送到DVB OSS, 由DVB OSS进行计费。

2.4.6 IPTV小结

以IPTV模式为主的互动点播系统, 为最初的互动电视业务做出了很大的贡献。但是这种基于IP的互动点播, 存在一定得局限性, 如果在我们的CMTS+CABLE MODEM用户上开展此类业务, 下行带宽有一定的瓶颈, 并且给CMTS带来很大的压力, 存在单位下行带宽成本高的现状, 为了解决这个问题, 在前期IPTV互动电视的基础上, 在IP接入网络采用CMTS方式的地区, 采用IPQAM系统实现视频点播能够有效的解决CMTS系统下行带宽不够的问题, 降低下行带宽成本。并且通过IPQAM来实现互动电视具有以下几个优点:充分利用了HFC的带宽资源以及传输特性, 适应今后HDTV业务对传输网络要求、通过HFC骨干网将内容推送到边缘, 实现全网负载均衡, 节省骨干网频率资源。

3基于IPQAM系统的互动电视项目

3.1IPQAM系统项目分析

(1) 基于IPQAM的互动电视方案的优势与效益分析

可以有效利用HFC的带宽资源以及传输特性, 向用户提供有QoS保障的视频服务, 适应将来的HDTV业务对传输网络要求。

可以通过HFC骨干网将内容推送到边缘, 将流服务器和IPQAM设备至于骨干网边缘, 完成全网的负载均衡, 并节省骨干网的带宽。

降低了视频服务对IP网络的要求, 不再要求IP网络接入层提供较高的带宽, 使采用DOCSIS2.0标准的Cable用户可以以较低的成本实现交互视频业务。

(2) 网络现状分析

在现有已部署IPTV系统和CDN节点的基础上, 只要增加IPQAM设备就可以迅速在CMTS覆盖的75万有线电视用户中开展互动电视业务, 并且随着业务的发展, 在保护原有投资的情况下, 可以对网络和应用做整体平滑升级。

河南有线郑州分公司目前HFC网路带宽为860MHz, 在频道资源紧张的情况下, 目前用于IPQAM频点为4个频点。

CDN节点建设按照前期支持8000用户进行规划, 在已构建的IPTV系统的基础上, 在各分前端机房部署IPQAM设备, 使系统能同时支持IPTV和IPQAM两种点播实现方式的用户, 并达到800个并发流的服务能力。充分利用郑州市现有有线电视网络资源统一规划, 形成互动电视的全城覆盖。

IPQAM项目的重点是以较低的代价在HFC网络上实现交互电视业务。即通过对原有IPTV系统进行改造, 使其适应IPQAM技术, 并能同时为IPTV和IPQAM两部分用户提供服务。在CMTS覆盖区域, 降低了视频服务对IP网络的要求, 不再要求IP网络接入层提供较高的带宽, 充分利用HFC的带宽资源以及传输特性, 向用户提供有高质量保障的视频服务。

3.2河南有线郑州分公司基于IPQAM的互动电视的系统原理

如上图2所示, 在IPQAM的互动电视方案中, STB (机顶盒) 和边缘流服务引擎 (Cache) 之间的上行控制信息和下行视频流分别通过不同的通路传输。

STB的接入认证、信息浏览等都是通过IP网络 (以太网、Cable Modem等接入方式) 交互。当用户的点播请求被重定向到边缘Cache后, Cache并不直接把视频流通过IP网络传输给STB, 而是将视频流以相应的封包形式输出至IPQAM设备, IPQAM将视频流调制成RF, 通过HFC网络传输给STB, STB对视频流进行解调和解码。

IPQAM与现行IPTV系统的区别是, STB的接入认证、信息浏览等流程相同, 通过IP网络交互, 当用户的点播请求被重定向到边缘流服务器后, 流服务器并不直接把视频流通过IP网络传输给STB, 而是将视频流以恰当的封包形式输出至IPQAM设备, IPQAM将视频流调制成RF (Radio Frequency) , 通过HFC网络传输给STB, STB对视频流进行解调和解码。

IPQAM全局负载均衡主要功能是维护各节点的可用性及负载信息, 并根据就近性的原则将用户重定向到就近的节点。与IP网络分组交换方式不同, HFC网络使用射频方式传输节目, 因此在HFC网络上不存在“次优节点”。即GSLB重定向的结果只有两种:重定向到最优节点或者返回错误信息。全局路由的实现方式是:为STB增加Region ID的属性, 该属性标识用户属于HFC网络上的哪一个区域 (如所属的分前端、光节点等) 。GSLB中维护STB Region ID与服务节点的对应列表。当STB发送点播请求时, 请求中带有Region ID。GSLB查询该Region ID对应的服务节点, 并将该点播请求重定向到该节点的SLB上。

IPQAM本地负载均衡设备的功能是管理节点内容及服务能力信息, 根据负载情况为用户选择特定的流服务引擎来提供服务。与现有IPTV系统不同, SLB除了要管理节点内流服务器的负载信息以外, 还需要维护IPQAM可用的频道资源, 并根据频道资源及流服务器的负载情况为用户选择恰当的服务资源。

3.3基于IPQAM的互动电视系统的规划

设备:IPQAM设备要求支持接收以太网流媒体服务器发送的UDP数据包, 提取其中的TS数据包并将其调制到HFC的某个频点上, 最后传送到STB。

频点资源规划:IPQAM设备使用的频点必须是两两连续的, 根据河南有线郑州分公司现有的频点使用情况, 初期先采用600MHz和700MHz左右四个频点, 后期根据业务发展需要再增加新的频点。

网络资源:总前端与分前端机房之前有足够的光纤资源, 用于IPQAM设备GE口的上联。

CDN节点:利用原有由8台DELL2850服务器组建的CDN节点同时为IPTV和IPQAM两部分用户提供互动电视服务, 实现8000互动电视用户800个并发流的服务能力。

链路:郑州至杭州有一条100M链路, 可满足前期用户发展需要。

IP地址规划:使用原有IPTV系统的IP地址规划, 对新增的IPQAM进行管理和通信IP地址的规划。

3.4IPQAM设备的部署和播发能力

由于基于IPQAM的互动点播系统采用的是空分复用的方式, 即通过把HFC网络分割成多个区域, 来实现相同频率资源的再次利用, 所以IPQAM设备一般部署在HFC网络的总前端和分前端, 系统部署及扩容方便快捷。

根据郑州目前HFC网络的状况, 郑州目前有一个总前端机房, 五个分前端机房, 初期配备七台12个QAM通道的IPQAM设备, 其中六台分别部署在各前端机房, IPQAM输出的射频信号直接混入各前端机房覆盖的HFC网络, 剩余一台做为备用, 在故障抢修或服务能力不足需扩容时使用。

IPQAM使用4个频点, 采用空分复用的方式, 每个频点可提供12个并发流的服务能力, 总的服务能力为:12×4×6=288个并发流。同时, 要达到规划的800个并发流的服务能力, 剩余512个并发流的服务能力只能由原有IPTV系统提供。按10%的用户并发计算, 在规划的8000互动电视用户中, 有2880户可采用IPQAM方式, 剩余5120户仍需采用IPTV方式。

CDN节点的服务能力, 每台服务器可以提供IPTV的并发流200个或者IPQAM的并发流100个, 按上述分配方法计算, 提供IPQAM流服务需要3台服务器, 剩余服务器可以提供大约1000个IPTV的并发流, 按10%的用户并发计算, CDN节点可以支持约13000用户。

根据此规划, 整个系统可以提供800个并发流的服务能力, 同时可以支持8000以上用户。

3.5系统服务能力的扩容

随着互动电视业务的开展, 用户数的不断增加必然导致系统并发服务能力的不足, 在暂时无法增加更多频点的情况下, 将12个QAM通道的IPQAM设备划分成3个虚拟IPQAM设备, 每个虚拟IPQAM设备有2路射频输出 (每路输出含2个相邻的QAM通道) , 同时将每个前端机房覆盖的HFC网络划分成三个区域, 采用空分复用的方式, 每个虚拟IPQAM设备对应一个区域, 使单台QAM设备可以提供12×4×3=144个并发流, 如所有前端机房都采用这种方式, 能够提供的最大服务能力为:12×4×3×6=864个并发流, 该方案能在最节约频点资源的条件下, 达到系统服务能力最大化。

从长远看, 随着数字电视整体转换的进行, 在关断模拟信号之后, 将会空余出更多的频点资源可供IPQAM设备使用, 如果带宽足够, 可以在前期部署的基础上, 不新增IPQAM设备, 不改变网络结构, 方便快捷地实现系统扩容, 扩容后IPQAM系统能够提供的最大服务能力为:12×12×6=864个并发流。

根据上述两种情况, 按10%的用户并发计算, 扩容后IPQAM系统可以支持近9000用户, 可以比目前的系统多支持6000用户, 在保持IPTV系统支持的用户数不变的前提下, 只需增加6台服务器就能提供足够的并发流服务能力。依次可见IPQAM的扩容能力能大大满足当前用户的需求。

3.6终端的采用

因为采用了IPTV与IPQAM两种方式来实现互动点播, 所采用的机顶盒就必须根据实际情况采用支持不同系统的机顶盒来实现。因此必须采用即可以在IPQAM又支持IPTV两种点播模式相互切换的机顶盒。

3.7基于IPQAM的互动电视小结

在HFC网上实现互动电视, 是数字电视领域的一个崭新尝试, 是广电开展互动电视业务的一个重大突破。基于HFC网互动电视的技术实现, 将广电在数字电视和互动电视领域内的独特优势充分的表现出来, 不管是在投资规模、业务开展难度、未来利润增长、增值业务开展等方面, 都将广电的优势完整的烘托出来, 使得广电在极短的时间内, 能够利用自己的现有网络资源, 以非常有限的投资, 在数字电视和互动电视领域占据市场先机。IPTV与IPQAM相结合的方式实现视频点播系统, 在河南有线郑州分公司良好运行, 两种方式进行了很好的相互补充, 使得在河南有线郑州分公司覆盖的所有区域都能开展互动数字电视业务, 河南有线郑州分公司的互动电视用户也在飞速增长。

摘要:目前各地广电已经基本完成了双向改造工作, 根据目前一些广电双向改造后的不同模式, 结合河南广电网络结构和接入方式的实际具体情况, 开展了以IPTV与IPQAM相互补充的方式来实现视频点播业务, 本文介绍IPTV与IPQAM相结合开展互动电视的具体情况。

交互实现 篇11

关键词:无人机;操作训练;虚拟仿真;Pro/E;3DS MAX;Cult 3D

中图分类号:TP391文献标识码:A文章编号:1674-098X(2011)03(a)-0000-00

长期以来,无人机装备的操作训练一般依赖于实装开展,受到场地、人员、装备维护保养的限制,具有效率低、代价高、训练内容片面的弊端。利用虚拟仿真训练系统进行无人机操作训练,能够有效克服实装训练中存在的问题,且经济、智能、可重用,具有广阔的应用前景。

无人机虚拟仿真三维交互模型作为用户训练中的直接操作对象,对整个虚拟仿真训练系统起着至关重要的作用,必须具备逼真的外观形象和强大的交互功能,其设计实现涉及到计算机仿真与虚拟现实的相关技术和结合机制问题。采用Pro/E、3DS MAX及Cult 3D软件相结合的形式,利用三者之间的兼容性进行优势互补,是解决上述问题的有效途径[1-4]。在分别运用Pro/E和3DS MAX对无人机实现精确建模和动画模拟的基础上,借助Cult 3D进一步实现模型的交互功能,能够有效确保无人机虚拟仿真三维交互模型的逼真度、沉浸感和可控性,对提高无人机虚拟仿真训练系统的训练实效具有重要意义。

1 无人机三维实体模型的建立

由于Cult 3D本身没有仿真建模功能,3DS MAX难以实现精确三维建模,故无人机三维实体仿真模型需借助Pro/E软件来建立[5]。Pro/E是美国PIE公司推出的一款CAD/CAM/CAE集成解决方案,是目前应用最为广泛的工业仿真设计软件之一。它采用设置特征参数的建模方式,使用参数来描述零部件的形状、尺寸和属性,所建三维模型的精度较高。图1所示为基于Pro/E软件建立的无人机某零件三维模型。

考虑到在无人机操作训练中,涉及大量的零部件的拆卸组装以及配合运动过程,无人机三维实体模型的建立采用拼接法,即先建立各个零部件的独立模型,再组装成整体,具体过程为:首先,对无人机所含零部件进行数量统计和尺寸测量,并予以标识;其次,根据统计数据和测量参数,使用Pro/MOLDESIGN模块创建各个零部件的三维模型,并予以修改和完善。所建立的单个零件模型要进行规范的命名编号,以方便后期的合成组装;再利用Pro/ASSEMBLY模块将所有零部件进行组装,形成无人机整体模型;最后将Pro/E生成的*.prt文件导出为*.stl格式文件。

图1 基于Pro/E软件建立的无人机某零件三维模型

2 无人机模型的渲染和动画设计

3DS MAX是Autodesk公司推出的一款三维动态仿真软件[6],具有强大的材质编辑功能,能细腻模拟实物的质地和纹理,在合理的灯光效果下可以渲染出逼真的视觉效果,给用户带来强烈的沉浸感。3DS MAX的动画设计通过设置关键帧参数实现,操作方便简洁,且几乎任何参数都可作为关键帧参数,能够生成多种复杂动画[7]。3DS MAX与Pro/E相兼容,能够对其生成的无人机三维模型进行渲染加工和动画设计,从而弥补Pro/E软件的不足。图2所示为基于3DS MAX软件制作的无人机装配三维动态模型。

(a)无人机装配图1

(b)无人机装配图2

图2 基于3DS MAX建立的无人机装配三维动态模型

利用3DS MAX对无人机三维模型进行渲染和动画设计的具体步骤为:首先,将 Pro/E导出的*.stl文件导入3DS MAX,对各个无人机零部件模型进行材质编辑、灯光效果设置。零部件模型使用实物照片进行贴图,并采用Ommi和Sky灯光作为背景灯光,力求渲染效果的逼真自然;其次,按照操作训练需求制作无人机模型动画。按照具体操作步骤将动画分解成若干阶段,在每个阶段规划零部件的运行时间和顺序,确保运动的同步性和协调性。

3无人机模型交互控制的设计

Cult 3D是由瑞典Cycore公司设计制作的一款三维虚拟仿真控制软件,其基于“事件规划窗口”的流程设计方式和图形化编程模式,使得对三维模型复杂运动的交互设计变得十分简单[8]。此外,Cult 3D还提供了Java API接口,用户可以通过JAVA编程实现更强大、更复杂的控制功能。Cult 3D与3DS MAX相兼容,能够对其生成的无人机三维动态模型进行交互功能设置,生成无人机虚拟仿真三维交互控制模型。

借助Cult 3D Export插件,在3DS MAX环境下将无人机三维动画模型导出为*.c3d文件,再将*.c3d文件导入Cult 3D Designer中,即可进行模型交互功能的设计制作,具体步骤为:首先,将所需的模型对象从“场景图表”(参见图3)中的拖入“事件规划窗口”,并在“演示窗口”中设置好用户视角;

图3 Cult 3D的“场景图表”

其次,将“世界启动”和“计时器”图标拖入“事件规划窗口”,并通过 “计时器时间线编辑窗口”设置模型动画的运行时序。设置模型运动时序是极为重要的步骤,要与3DS MAX中设置的动画时间相兼容,否则将出现模型运动的错乱。制作过程中,用户可通过“演示窗口”对所设计的虚拟交互模型进行预览,查找错误并修正;然后,再将“点击鼠标左键”图标拖入“事件规划窗口”,对模型对象运动的交互触发进行设置,直至训练操作运行完毕。最后,利用“文件发布对话框”将制作好的方案导出为*.co文件,作为虚拟仿真系统开发的无人机虚拟仿真三维交互控制模型素材。

4 结语

利用Pro/E、3DS MAX及Cult 3D软件对无人机分别进行三维实体建模、动画设计、交互控制设计,最后生成了逼真的、可控的无人机虚拟仿真三维交互控制模型,能够实现对无人机的三维运动仿真,操作训练模拟,大大提高了无人机虚拟仿真训练的可行性和实际效用。

参考文献

[1] 申蔚,夏立文.虚拟现实技术[M].北京:北京希望电子出版社,2002.

[2] 周晓琪.虚拟现实技术[M].北京:电子工业出版社,2003.

交互实现 篇12

关键词:Socket通信,Windows服务,数据交互

为建立主体诚信、行为规范、监管有力的房地产存量房市场秩序, 规范房地产经济行为, 维护房地产经济活动当事人的合法权益, 解决交易双方在交易过程中存在的诚信问题, 有效避免在办理过户时欺诈隐瞒行为, 利用虚假信息骗钱等问题。银行与房产交易中心需要进行联网, 保证银行能够实时看到交易信息, 同时, 房产交易中心能够实时看到托管资金信息。

通过对多种联网方案的研究, 最后确定银行与房产交易中心联网方式:线路采用DDN或光纤 (点对点) , 信息通过双方中间层服务器以数据包方式交换 (Socket) , 双方连接方式:TCP, 信息格式为字符方式, 字符集为GB2312。利用Windows服务在操作系统后台运行、无需用户界面等特点, 使用网络套接字Socket, 实现网口和串口通信, 实现无网络中控硬件支持的情况下, 利用本地服务器的网口资源和串口资源, 与多家银行的联调。

1 相关技术介绍

1.1 Socket通信

套接字 (Sockets) , 即应用程序和网络协议的接口。套接字能让用户快速开发客户机/服务器网络应用程序, 当向一个套接字写入时, 所送数据会自动出现在套接字的另一端, 另一端可能是相同机器上运行的另一个进程, 也可能是世界上任何地方互连的一台计算机[1]。TCP/IP (传输控制协议/网间协议) 传输层的协议包括T C P和UDP协议, 两者是并列关系, TCP是面向连接而UDP是无连接的。Socket同时支持面向连接的 (虚电路) 和无连接的 (数据报) 两种通信模式, 所形成的是S o c k e t数据流和Socket数据报。

Socket通信的主要模式是客户机/服务器模式 (Client/Server) , 工作原理为, 服务器初始化Socket, 然后与端口绑定 (bind) , 监听端口 (listen) , 调用accept阻塞, 等待客户端连接。如果你有一个客户端发起一个Socket, 然后连接到服务器 (connect) , 如果连接成功, 那么客户端和服务器端的连接已建立。客户端发送一个数据请求, 服务器接收请求, 并处理该请求的响应数据并将其发送到客户端, 客户端读取数据, 最后关闭连接时, 一个交互结束, 具体流程图如图1。

1.2 Windows服务概述及架构设计

Windows服务是一种常驻内存的、特殊的应用程序, 它通常是为服务器向客户端提供持续服务而设计的、在后台运行的程序。原则上, 任何服务器系统都应该转换为服务, 尤其是客户或者组织广泛使用的服务器系统[3]。Windows服务由三部分组成, 分别为服务应用程序启动、服务程序监控及运行和服务程序安装。

本系统采用.N E T框架, 因其简化了Windows服务程序的创建和控制过程, 涉及到两个主要命名空间:System.Service Process、System.Diagnostics, 四个类:Service Base、Service Installer、Service Process Installer、Service Controller。Service Base类定义了两个关键的Windows服务函数:启动函数的On Start () 和关闭函数的On Close () , 也是Windows服务的开发重点。Windows服务安装由安装程序类System.Configuration.Install安装完成, 包括Windows服务帐户信息, 用户名, 密码信息, Windows服务的名称, 启动模式和其他信息。.NET提供服务Service Controller组件是用来连接到已安装的服务, 并操作其状态。通过Install Util.exe的, 加载Windows服务程序, 或通过Install U-til.exe/u卸载。

将Windows服务注册到服务控制管理器 (Service Control Manager) 中, 并将其启动类别设为自动启动即可。

2 基于Socket通信的数据交互的设计

2.1 基于So cke t通信的数据交互的软件设计

本软件设计采用的是客户端/服务器模式, 银行与房产交易中心之间, 由银行实时服务器和房产交易中心应用服务器之间通过路由器连接, 由银行实时服务器提出一个socket连接请求来建立连接。

在服务器端, 服务控制管理器在Windows系统启动后就调用的On Start () 函数。在On Start () 函数中创建一个新的线程, 并创建一个新的Socket对象, 使用bind () 函数绑定本地计算机的IP地址和协议端口, 通过listen () 函数监听协议端口, 并给服务器赋予一个端口号。采用非阻塞异步Socket编程, 使用Begin Accept () 方法监听网络连接, 同时计算机还可以进行其它工作。

建立服务器和远程客户机连接之后, 就可以发送和接收数据了。在异步网络套接字中, 使用Begin Send () 方法来开始发送数据, 使用Begin Receive () 方法来接收数据和End Receive () 方法完成接收网络数据。当网络套接字准备发送数据时, 它会自动调用的Send Data () 方法。在Send Data () 方法, 调用End Send () 方法完成本次传输。End Send () 方法被用来完成数据的传输, 并返回返回成功发送的字节数。在发送方法中参照南通市存量房交易资金托管系统银行通信规范要求设计Socket数据报格式并进行传送。

2.2 基于So cke t通信的数据交互的通信协议设计

要实现房产交易部门与银行的数据交互, 首先要定义Socket数据报格式。通信协议的设计如下:

(1) 所有发送信息, 每个域的输入字节长度如果不够制定最大长度, 在后面插入空格填充。

(2) 所有发送信息的交易代码:2开头是中心到银行;3开头是银行到中心。

(3) 域之间分割符为“|”。

例:中心

例:银行

(4) 每个银行生成的流水号以1开始, 例如流水号为25, 在生成10位流水号前面补0, 例如“0000000025”。中心生成的流水号也是这样10位前面补0。例如0000000025。所以银行对中心的应答信息必须取以原流水号的形式, 即0000000025。不能用“25”。

(5) 任何域不足规定的位数都是后面补空, 比如报文长度为99位:“99”。

(6) 接收的信息如果检测错误 (比如接收字符串为空, 包长错误) , 则直接返回验证码。不用根据包的规范返回。比如总包长错误直接返回02, 不用按报文规范组包返回。

3 结语

本文采用了Socket通信技术, 利用Windows服务在操作系统后台运行、无需用户界面特点, 实现了存量房监管系统与银行的数据交互, 利用异步网络套接字, 完成了监管系统同时与多家银行的通信, 本文将Socket通信技术与Windows服务结合在一起, 银行向服务器发送Socket数据报, 服务器根据数据报约定将报文答复给银行, 通信过程流畅, 较之人工操作, 大大地提高了效率, 并且解决了各银行不同操作系统与监管系统的数据交换问题。

参考文献

[1]殷剑宏, 吴开亚, 等.图论及其算法[M].北京:航空工业出版社, 1993.

[2]韦中亚, 田原, 刘宇, 等.构筑于GISOGP SOGSM技术集成的120急救系统设计[J].地理学与国土研究, 2002, 18 (1) :35-37.

[3]Johnson M.Hart.Windows系统编程[M].3版.北京:机械工业出版社, 2006.

[4]周泽兵, 边馥苓.基于Socket通信的WebGIS实时监测系统[J].绘测科学, 2006, 31 (1) :89-92.

[5]于涛, 王健.基于Socket通讯技术的上层监控软件的实现[J].计算机技术与发展, 2009, 19 (3) :243-248.

上一篇:初中物理课堂引入下一篇:音乐心理特点