> 方向 > 软件工程中虚拟现实的启示应用及挑战,吉林动画虚拟现实研究所与江西理工大学软件工程...

软件工程中虚拟现实的启示应用及挑战,吉林动画虚拟现实研究所与江西理工大学软件工程...

软件工程虚拟现实的启示应用及挑战

吉林动画虚拟现实学院和江西理工学院软件工程(吉林动画学院虚拟现实学院有两个专业:软件工程(APP开发技术方向、大数据和媒体信息应用方向)、数字媒体技术(游戏开发技术方向、动画和特效技术方向、虚拟现实技术方向、增强现实技术方向)。适用于移动应用、游戏、动画、虚拟现实等行业

软件工程中虚拟现实的启示应用及挑战

计算机科学与技术虚拟现实方向与软件工程哪个好

它是学士学位还是硕士学位?如果你是大学生,计算机科学技术和软件工程之间的差别不是很大,你必须在毕业后编程并成为一名程序员。 如果你在攻读硕士学位,这是有区别的。 计算机应用是一个广泛的方向类别。下面有许多小方向,如图形、人机交互、虚拟现实、人工智能等。软件工程师、本科生没有他们,研究生需要关注选定的研究方向,如云计算、云存储、机器人、人工智能等。也许虚拟现实是可用的。然而,这方面在中国起步较晚,在国外并不先进。如果还有出国留学的机会,这取决于你在攻读研究生入学考试时是否有大学教授负责这方面的工作。软件工程专业本身关注基础技术和计算。你好,很荣幸回答你的问题。 如果您想在虚拟实现中工作,建议您选择软件工程。 学习编码语言和数据库相关内容 电子信息工程主要学习电路、集成运算放大器等相关知识,更适合实现硬件实体。 我非常希望你能采纳它。 软件工程包括大数据、移动应用、人工智能软件开发、云开发等。而虚拟现实是虚拟现实。这两个专业的就业前景相当不错。然而,虚拟现实在未来可能涉及许多行业,如医疗、房地产、旅游、教育等。

吉林动画虚拟现实研究所与江西理工大学软件工程...

吉林动画虚拟现实学院和江西理工学院软件工程(吉林动画学院虚拟现实学院有两个专业:软件工程(APP开发技术方向、大数据和媒体信息应用方向)、数字媒体技术(游戏开发技术方向、动画和特效技术方向、虚拟现实技术方向、增强现实技术方向)。适用于移动应用、游戏、动画、虚拟现实等行业

软件工程中虚拟现实的启示应用及挑战

计算机科学与技术虚拟现实方向与软件工程哪个好

软件工程中虚拟现实的启示应用及挑战范文

摘要:软件工程师必须使用键盘和鼠标资源来与代码交互,并且通常在2D平板显示器上浏览软件。这种互动模式没有很好地利用自然人的许多行动和见解的启迪。虚拟现实可以充分利用这些启示,使新思想成为可能,提高生产率,减少学习曲线,增加用户满意度。描述了虚拟现实提供的启示。它展示了虚拟现实的优点以及在软件工程中用于现场编码和代码审计的原型,并讨论了未来的工作、开放问题和虚拟现实的挑战等。关键词:虚拟现实;软件工程;启蒙运动;申请;挑战;摘要:软件工程师必须使用键盘和鼠标与源代码进行交互,并且通常在2 Dflat显示器中浏览软件。这种互动模式没有很好地利用来自自然人类行为和洞察力的许多灵感。虚拟现实可以更充分地利用这些灵感,创造新的创造机会,潜在地提高生产力,减少学习曲线,提高用户满意度。本文描述了虚拟现实所带来的启示,展示了虚拟现实和原型在软件工程编译和代码评审领域的优势;并讨论未来的工作、未决问题和虚拟现实挑战等。关键词:虚拟现实;软件工程;灵感;申请;挑战;

软件工程

0简介在过去的几十年里,虽然编程环境在心理学、神经科学和软件开发社会学方面取得了很大的进步,但它一直没能解决程序员的问题。当在代码中导航时,开发人员仍然迷失了方向[1],并且开发人员在理解代码[2]时仍然有问题。这些基本问题也阻碍了其他更重要的软件工程活动。例如,在代码审查期间,开发人员经常总结和报告问题,例如违反协议,而不是讨论设计缺陷或瑕疵,因为他们没有足够的能力导航和理解代码。研究者已经探索了隐藏在开发者经历的几个问题下的认知问题。其中一个问题是空记忆,这是海马旁回的一种支持记忆能力的记忆系统空。一些人注意到他们所依赖的线索,如滚动条和文档标签[3],由于他们的导航而被扰乱,开发人员将失去相关代码的踪迹。参与者本能空记忆处理的失败会导致类似的迷失方向。灵感是改变本能认知机制的工具。研究人员试图采用人类的注意力、认知和记忆来改善界面。例如,通过定位3D空之间各种堆叠页面的截屏,一次学习减少了网络书签的存储和检索时间,也减少了检索失败的次数。类似地,研究人员在编程环境中将启示融入到空内存中。编码画布将代码文件定位在一个可滚动和可伸缩的大平面上,在这个平面上可以保存相对稳定的代码空位置。代码气泡允许开发人员在无限滚动的屏幕上定位相关的代码片段,这也改善了片段的导航和内涵。空之间的记忆是一种改善编程环境的灵感,许多其他灵感也可以改变。虚拟现实(VR)可以比现有的开发者环境更充分地利用这些启示,使新的创造机会成为可能,并潜在地提高生产率、减少学习曲线和增加用户满意度。本文描述了虚拟现实如何在空认知、操作和运动中提供启示,以及在编程环境中尚未充分利用的反馈。然后我们描述了我们创建的两个虚拟现实系统的原型,以及虚拟现实如何应用于软件工程。最后,我们对未来的工作、开放问题的研究以及在软件工程中利用虚拟现实技术所面临的挑战进行了简要的讨论。1虚拟现实中的启示虚拟现实在空认知、操纵、运动和反馈中提供启示。1) 空: 空记忆由定位细胞和像人类一样的特殊神经元支持,通过物理空导航和环境中的其他上下文线索激发。头盔上的虚拟现实显示器允许用户通过移动身体或扭动脖子来更新他们的视野,在这个过程中向定位单元开火。此外,这些显示器已经为每只眼睛稍微渲染了不同的图像(立体渲染),这可以使人眼更容易感知显示器上图像的深度。这些展示可以创造一种存在感,或者说“就在那里”我们期望用户空的记忆能够比平板显示器更多地参与虚拟现实,尤其是在观看视觉3D时。虚拟现实可以直接模拟物理导航提供的启示。基于大脑皮层表面记录的皮层脑电图(eCoG),位置细胞可以被观察到,当在虚拟城镇中导航时,位置细胞像人类一样以相同的顺序放电,然后它们再次回忆起穿过城镇的路径。2)操作和运动:对物理物体的操作带来的启示可以改善感知和记忆。例如,在电脑显示器上阅读相同的文本段落时,翻页带来的启示会增加理解和记忆。此外,无意中浏览和重新定位数据的能力也有所提高。通过散步等努力,物理学空中的运动会具有重要的认知因果关系。体育运动可以补充其他启示。例如,感知深度可以通过空之间的自运动来增强。研究人员探索了现有编程环境与自然交互的集成。通过诸如跳跃运动等输入设备,可以与虚拟目标进行物理交互。物理运动在虚拟空中也是可行的。身体保护器允许在虚拟空中自由移动,例如行走、跑步、跳跃和蹲伏。3)反馈:当评价系统的状态相对困难时,诺曼描述的湾区评价出现。虚拟现实允许软件工程师呆在一个环境中,通过消除程序员行动之间的时间延迟和看到他们行动的结果来试图清除这个空白区域。这种快速反馈以前已经在二维显示中实现,但是虚拟现实将这种能力扩展到三维显示环境。2应用我们已经为实时编码和代码审查构建了虚拟现实原型——它们具体展示了使用虚拟现实揭示的好处。我们已经证明,本节提到的好处也可以扩展到其他软件工程活动。所有系统都采用头盔式显示设备(Oculus RiftDevelopment Kit 2)和跳跃运动控制器进行姿态识别。2.1场编码RiftSketch是为虚拟现实而建立的场编码环境,它允许用户使用三库函数库来描述3D场景。RiftSketch为用户提供了一个简单的文本编辑器(见图2),它在另一个虚拟现实世界中浮动在用户面前。当用户在编辑器中输入代码时,他们周围的世界会立即更新,显示由他们的代码指示的3D场景。RiftSketch还使用户能够通过在每帧中执行的回调函数来模拟他们的场景。用户可以在这个代码循环块中操纵3D场景的状态,以向场景中的对象添加行为动作。这种模拟让用户感觉好像他们在一个场景中,而不是2D截屏捕捉到的场景。为了便于键盘交互,我们通过使用固定在虚拟眼镜上的网络摄像机和系统中反射的物体来让真实部分发光,如图1所示。

图1 RiftSketch屏幕截图图1 RiftSketch屏幕截图那棵树是用户已经键入到漂浮的编辑器中的递归算法所生成的。飞翔的虚拟小鸟代表着从Twitter的应用程序接口拖拽过来的twitter信息, 它们也是由客户所键入的代码所生成的1) 反馈:RiftSketch在所写代码及其在虚拟环境中的效果之间, 提供了一个紧密的反馈回路, 使得用各种解决方案、算法以及计算的实验得以快速进行。RiftSketch也是一种颇有前景的学习工具, 因为用户可以立即看到其编程错误, 并无需一个中间的编译步骤就可自行修改-而这一编译步骤可能看上去像是另一种阻碍。当代码描述了一个VR场景时, 这些益处在RiftSketch中都特别明显。因作者之前已经有过体验, 看着完全虚拟的世界在自己输入编码时在周围变化, 真的是一种绝对强有力的迷人体验。2) 手势操控代码:另外, RiftSketch为用户提供了快捷方式以及输入方法, 在其写代码时迅速编辑代码中的数字。键盘快捷方式允许用户以01, 10或者100的因子来增减代码中的数字。集成了跳跃运动控制器, 能够为用户提供一种能力, 通过采用上下的手部动作来操控数字。这使得用户能持续用自己的手来修正一个数字, 并且立即看到它是如何影响到场景的, 使得它比一次键入一个数字的手动方式能更快地进行反馈。3) 用法举例:考虑到如下的情景:空间任务A刚刚对彗星表面进行了探测。10年的飞行之后, 探测器尽管落地不易, 还是降落在了一处不能接收太阳光的位置上。自动遥感探测程序是不能找到一条可行的飞行路径的。作为一个程序员, 您被赋予了任务来升级着陆器的软件, 来将其自身定位在一个坚实的地表上, 而在其电池耗尽以及探测器偏离彗星表面之前, 你还剩下24小时。还好有伴随卫星搜集到了着陆点周围的表面详细信息, 还有遥感探测数据, 准确地显示出着陆器将被怎样定位以及定位在哪里。您用数据更新了模拟程序, 并且用RiftSketch来调查这一情况。在评估的着陆器的选项后, 您重复了可能的解决方案, 首先用手势来操控一个可能的路径以及推力设置, 并且用键盘来定义代码。随着每一个解决方案, 你都在RiftSketch中观察着陆器的动作。你绕着着陆器走, 来检查每一次机动演习后它的位置, 并进一步确认其降落足是紧紧建立在风化层上的, 并且缩小比例, 从轨道角度来核实其新的位置能否在这个一侧高凸的彗星上, 对轨道飞行器维持一个视野。最后, 在RiftSketch进行数十遍的模拟后, 您将程序上报审核。2.2 代码审核IMMERSION展现出了如同代码片段类似于代码气泡的方法, 并且, 像BumpTop一样堆积在地板上, 显示出片段的群体来。这些堆积能够扩展成为一个更具细节的环形来回顾以及做细节的可视化处理。1) 空间推理:审查者开始是在屏幕中央来观看激活的片段的 (参见图3) , 而其他有关的片段都成堆地分布在地板上。审查者采用空间辨识, 通过堆积有多远以及堆积的尺寸等, 来判断堆积物的相关性。审查者能够扫描堆积物的标签, 以及每一处堆积中的片段数量, 来快速辨别每一处堆积是否是真正相关的。IMMERSION根据系统的包装以及颜色代码, 将地板分区—分区是用来显示有多少包装在审查的时候已经被代码改过了。在包装中穿梭时, 我们期望审查者因空间推理的更多使用而能拥有更好的构思模型, 而后能理在审查过程中更好地理解代码。类似的情况是, 我们期望空间推理的增加, 能使审查者在审查之后, 更容易地调出审查细节来。这会使审查者将来在审查同等的编码库的时候, 能提供更多有用的反馈。2) 手势交互:审查者可以做一个抓取动作来选择一个堆积包, 而后可以将手上拉, 把堆积变幻成一个环形片段, 来进行更详细的检查。审查者如今可以读取环形中最为重要的片段, 而且可以水平抹动指尖来让环形旋转, 读取更多其他片段。审查者可以将最为重要的头尾部的环形片段提出来放在屏幕中央, 使之成为激活的片段。如果审查者希望回到之前的方式, 他们可以像清理桌面一样动动手就完成了。开始我们注重的, 是可以通过键盘输入, 来增加对探索—评论的支持, 但我们发现了另外的方式来标志并用旗子标示代码。3) 用法举例:考虑之前的彗星情景, 程序员为着陆器执行了已重新定位的飞行路径。某个审查者带上虚拟现实眼镜并且进入IMMERSION, 确保这一解决方法能够有效运行。它注意到一个边界案例, 它可能会引发一次碰撞, 并建议轻轻地将轨道伴随卫星碰向探测器中, 来避免更大的冲撞。原来的程序员在RIFTSKETCH中执行了此建议, 确保这一刺激动作生效, 并在向审查者递交修正结果时庆祝一番。然而审查者发现一部分的代码在IMMERSION中点亮了。当她走向这一部分时, 她发现这是碰撞检测部分对系统发出的警告-系统是不允许这一代吗在模拟器之外执行的。她意识到, 通过在撞击摧毁系统之前关闭引擎, 她可以允许这一代码的执行。他们上传代码并且着陆器按照期望的那样自行重新定位, 如图2所示。图2 IMMERSION的屏幕截图图2 IMMERSION的屏幕截图审查者在审核代码, 来重新定位着陆器在彗星的降落位置。审查者看到激活的方法, 以及地板上成堆的相关片段, 并且已经将一堆片段扩展成为左侧的片段环形, 来读取这些片段的细节。在上左侧, 显示了一个彗星模型以及着陆器所期望的飞行路径。审查者能在地板上的代码包之间逡巡, 这些个代码包根据此次审查所修改的数量, 都标注颜色代码。GitHub的细节在上右方有显示。3 讨论3.1 模拟虚拟现实 (VR) 为软件工程师打开了一扇门, 可以创造出提升效率并使之前不可能体验成为可能的各种系统。现有的应用, 包括美国航空航天局NASA-他们正在用VR控制一个机械臂, 结果是效率的显著。教育体验项目Titans of Space允许学生们用一种方式体验我们的太阳系, 这种方式使他们感觉到自己真正就挨在太阳身边。未来的研究, 需要在如何为创造这些VR系统的软件工程师们, 创造出更多的工具来上进行。有什么问题是VR软件工程师们需要面对, 可缺乏工具加以解决的?3.2 远程协作多个分布在世界各地的程序员, 能够在一个VR现场变成空间中加入彼此, 来解决如何从引发案例中解决彗星着陆问题。他们应该能提供额外的洞见, 并且能更快地找到解决办法。而后另外会有一组程序员, 在一个VR程序审查环境中加入彼此, 他们能够看到每个人在系统中他们自己那部分里, 对那些堆积的信息所做的注释的基础上, 都在思考什么。3.3 开放性问题(对虚拟现实的) 投入程度。拓展现实的装置, 如谷歌眼镜, 其目标是帮助用户在实体物理世界中, 通过增加信息覆盖来完成任务。拓展现实类产品在寻求在物理现实世界中帮助用户, 而与此同时虚拟现实则谋求对物理现实世界的完全提单。是将用户沉浸在一个完全虚拟环境中有用呢, 还是强化其物理现实世界更有用?输入形式。游戏机台控制器对于导航以及有限动作支持都能运转良好, 但在键盘的文本输入上没法相提并论。但是, 这些个设备都要求用户同时在物理现实和虚拟世界中进行交互。手势识别用物理现实世界来取消交互作用, 但会导致身体劳损。声音识别能够减少这种劳损但可能在互相分享的工作空间中引来尴尬。什么才是用户向虚拟现实VR系统提供输入的最好方式?这是值得我们深思研究的问题。3.4 挑战1) 从物理现实中脱离:戴上VR耳机意味着与物理现实世界的其余部分隔离, 包括协作者。同伴们可能缺乏机会提问, 并且现实的交流被抑制了。此外, VR耳机佩戴者们可能在处于VR环境中时, 与物理现实世界的交流出现问题。耳机上固定的网络摄像头, 可以与物理现实世界保持一些互动, 但是视野却受到了限制, 如图3所示。图3 附在虚拟眼镜RIFT上带网络摄像头的Leap Motion控制器 (左下左) , 虚拟现实VR中的键盘 (左下右) 、索尼PS4虚拟现实耳机 (右上) 图3 附在虚拟眼镜RIFT上带网络摄像头的Leap Motion控制器 (左下左) , 虚拟现实VR中的键盘 (左下右) 、索尼PS4虚拟现实耳机 (右上)2) 3D映射:有些问题没有内在的3D表述, 这种表述使VR的显示成为一种挑战。如同在IMMERSION所见, 2D代码能在虚拟现实VR中显示出来, 可代码本身并没有第三个维度, 因而丢失了3D的表达性。这或应成为有些人所建议的, 能很好地适合于3D隐喻编程的一个区域。3) 技术限制:Oculus Rift Development Kit 2的1080p的分辨率, 使文本阅读的通过率还算良好, 但它需要为多时段会议进行提升。每个用户也都需要略有不同的配置, 这些个配置可以要求适度的建立时间。4 总结二维的开发环境仍然没法充分利用好这些启示, 诸如空间识别、操控以及反馈等等。本文描述了一种愿景, 即软件工程师如何能通过使用新类型的工具而利用好VR—这些个工具能够很好地利用这些启示。描述了现场编码以及代码审查都是如何从VR工具中受益的, 但可以预想到其他的软件工程活动也可以一样从VR中受益。参考文献[1]A Z Henley, S D Fleming.The patchworks code editor:toward faster navigation with less code arranging and fewer navigation mistakes[C]∥Acm Conference on Human Factors in Computing Systems, 2014.New York:ACM, 2014:2511.[2]AFC Machinery.ACM transactions on software engineering and methodology[C]∥Association for Computing Machinery, 2014.New York:CiNii, 2014:540.[3]刘华星, 杨庚.HTML5---下一代Web开发标准研究[J].计算机技术与发展, 2011, 21 (8) :51-54.图3与虚拟现实虚拟现实中的网络摄像头(左下左)、键盘(左下右)和索尼PS4虚拟现实耳机(右上)2) 3D映射(3D映射:有些问题没有内在的3D表达,这个表达让虚拟现实显示成为一个挑战。如沉浸式(INSTALLION)中所见,2D代码可以在虚拟现实虚拟现实中显示,但代码本身没有第三维度,因此失去了3D的表现力。这可能成为一些人建议的非常适合3D隐喻编程的领域。3)技术限制:Oculus Rift开发套件2的1080p分辨率使文本阅读通过率相对较好,但需要针对多会话会议进行改进。每个用户还需要稍微不同的配置,这可能需要一个适中的设置时间。4总结二维开发环境仍然不能充分利用这些启示,例如空之间的识别、操纵和反馈。本文描述了软件工程师如何通过使用新型工具来充分利用虚拟现实的愿景——这些工具可以充分利用这些启示。本文描述了字段编码和代码审查如何从虚拟现实工具中受益,但是预计其他软件工程活动也可以从虚拟现实中受益。参考[1]亨利,弗莱明。补丁程序代码编辑器:以更少的代码排列和导航错误实现更快的导航,[C]∑计算机系统中的人为因素会议,2014年。纽约:ACM,2014:2511。[2]自动售检票机。软件工程和方法学交易,[计算机械协会,2014年。纽约:CiNii,2014:540。[3]刘华星,杨庚。下一代网络开发标准研究[。《计算机技术与发展》,2011,21 (8): 51-54。[4]一只BACC海莉鸟。期望,结果。和现代代码审查的挑战[国际软件工程会议,2013年。纽约:IEEE计算机学会,2013:712。[5]梅塔。动眼神经裂缝开发工具包2[EB/OL]。(14-10-15) [16-07-10]。尤利。编程代码,在虚拟现实下,虚拟现实开发者推出了里夫茨克蚀刻编辑器[EB/OL]。(16-02-13),[16-07-09]。[7]沉浸。触摸技术——专为数字世界[电子商务/其他领域打造]。(16-03-28),[16-07-10]。[8]德·迪里马尔希,斯沃岑德鲁伯,凯迪。实现具有自然用户界面交互的集成开发环境[>,2014 (287) :126。[9]万兰。编程代码,在VRAltspaceVR下开发者推出了RiftSketch编辑器[EB/OL]。(15-04-08),[16-07-09]。http://news.mydrivers.com/1/409/409192.htm.A Bacchelli, C Bird.Expectations, outcomes, and challenges of modern code review[C]∥International Conference on Software Engineering, 2013.New York:IEEE Computer Society, 2013:712.[5]Meta.Grfx.Oculus rift development kit 2[EB/OL]. (14-10-15) [16-07-10].http://www.cnblogs.com/Baesky/p/oculus_first_use.html.[6]Yuri.Programming code, under the VR AltspaceVRdevelopers launched RiftSketch editor[EB/OL]. (16-02-13) , [16-07-09].http://36kr.com/p/5043248.html.[7]immersion.Touch Technology-made for the digitalworld[EB/OL]. (16-03-28) , [16-07-10].http://www.immersion.com.[8]D Delimarschi, G Swartzendruber, H Kagdi.Enabling integrated development environments with natural user interface interactions[J].2014 (287) :126.[9]Wanlan.Programming code, under the VRAltspaceVR developers launched RiftSketch editor[EB/OL]. (15-04-08) , [16-07-09].http://news.mydrivers.com/1/409/409192.htm. [4]