《外文翻译--延长搅拌机:一个触觉创作工具开发.doc》由会员分享,可在线阅读,更多相关《外文翻译--延长搅拌机:一个触觉创作工具开发.doc(21页珍藏版)》请在金锄头文库上搜索。
1、南昌航空大学科技学院学士学位论文毕业设计(论文)外文翻译题目 Extending Blender: Development of a Haptic Authoring Tool延长搅拌机:一个触觉创作工具开发专 业 名 称 机 械 设 计 制 造 及 其 自 动 化班 级 学 号 学 生 姓 名 指 导 教 师 填 表 日 期 2011 年 3 月 11 日延长搅拌机:一个触觉创作工具开发摘要:在本文中,我们目前的工作是拓展一个众所周知的三维图形建模-搅拌机,来支持触觉建模和绘制。这种延长搅拌机命名为HAMLAT(触觉应用标记语言创作工具) 。我们描述修改和添加搅拌器的源代码,其中已使用创造H
2、AMLAT此外,我们提出和讨论设计的决定时所用的发展中的HAMLAT, 也是一个“路线图”的实施 ,其中描述了搅拌器的源代码的改变。最后,我们的结论是讨论我们未来的发展及研究途径。 关键词:触觉,HAM,图形建模,搅拌器, 虚拟环境。 一介绍A. 动机 越来越多的通过触觉的方式在人类-电脑的互动方式的应用造成了对新的工具的巨大的需求,这些新的工具可以帮助新手用户写作和编辑触觉应用。目前,触觉的应用发展过程是一个耗时的经历,它需要编程知识。触觉应用的复杂性,从一个事实,即触觉应用组件(如触觉的空气污染指数,设备,该触觉描写算法等)需要互动图形组件,以实现同步。 此外,一个缺少应用可能性,因为应用
3、是紧耦合到特定的装置必须使用其相应的空气污染指数。因此,设备和空气污染指数的异质性,导致两个研究人员和开发人员分裂和迷失方向。在检查所有需要考虑的事时,有对创作工具明确的需要,可以建立触觉的应用, 也可以隐藏在应用程序建模的编程(如空气污染指数,装置,或虚拟模型) 。 本文介绍了技术发展的触觉应用标记语言创作工具(HAMLAT)。它的用意是解释设计决定用于发展HAMLAT,还提供了执行“路线图”的一个应用,描述该项目的源代码。 B搅拌器HAMLAT是以搅拌器 1 软件套件为基础, 这是一个开放源码的三维建模套件拥有丰富的功能集。它有一个先进的用户界面,它以它的高效率和灵活性,以及它的支援多种档
4、案格式,物理引擎,调制解调器等功能出名。 由于搅拌器的开放式体系结构和支持共同的基础,它被选定为发展ofhamlat平台的首选。搅拌器开放资源的性质,意味着HAMLAT可以轻易地利用其现有的功能和集中讨论相结合的特点,使其成为一个完整的触觉-可视化建模工具,发展为一个三维建模平台,从无到有,需要相当多的发展时间和专门技术,以便达到搅拌机水平的功能,。同时,我们可以利用由从它的源代码到HAMLAT源代码树的合并的变化改善未来的搅拌器HAMLAT建立在现有搅拌器组件,如用户界面和编辑工具,通过加入新组建,其中侧重在一个三维场景用于代表修改和渲染触觉特性的物体。HAMLAT用搅拌器并以此为基础,我们
5、希望建立一个三维触觉建模工具,它具有成熟等特点,并结合搅拌器与ofhaptic渲染的新颖性。 在编写本报告的时候,HAMLAT是基于搅拌器2.43版本的源代码。 C.项目目标如前所述,HAMLAT项目的总体目标是为了产生一个抛光应用软件,它结合了调制解调器图形建模工具的特点与触觉绘制技术。HAMLAT有三维图形建模软件包“外观与感觉”,但是还有另外的功能,例如,作为触觉渲染和触觉直观的描述。这个允许艺术家,建造家,和开发商产生逼真的三维触觉 -可视化虚拟环境。 一个HAMLAT高层次的框图结果,在图1中表明。它说明了在触觉模型的数据流,HAMLAT协助建模者,或应用开发商,在建设触觉 -视觉应
6、用,可存储在一个数据库中供日后由另一触觉的应用检索。由触觉-视觉的应用我们参考任何在视觉上显示三维场景的软件, haptically给一个用户一个虚拟的设置。一个XML文件的格式,所谓HAML 2 ,是用来描述三维场景和储存触觉-视觉环境,通过兴建一建模后播放给最终用户。 传统上,建设触觉 -视觉环境已需要一个强有力的技术和方案的背景。 绘制三维场景的任务是繁琐的。所以在现场触觉性能必须分配给个人,为完成这项任务,目前有几个问题。HAMLAT桥梁,这个差距通过融入haml框架和提供完整的解决方案,发展触觉-视觉应用,无需编程知识。 其余的文件,组织情况如下:在第2部分中,我们目前建议的架构扩展
7、并讨论设计的限制。在第3部分中介绍执行的细节,以及触觉性使内部的搅拌器框架能如何补充和拓展。第4部分我们讨论工作中有关的问题和今后的工作途径。 二编辑和可视化搅拌器的设计理念,是基于三个主要任务:数据存储,编辑和可视化。据遗留的文件 3 ,它沿袭了开发周期为三维建模数据管道可视 - 编辑。一个三维场景代表的是在该搅拌器结构中使用数据结构。该建模者观看现场,进行更改,使用编辑界面直接修改底层的数据结构,然后循环重复。 为了更好地了解这方面的发展周期,考虑在搅拌器中一个三维物体的代表体。一个三维物体可代表一个数组的顶点,其中有举办了作为一个多边形网格。用户可以选择运作的任何数据集。编辑的任务可能包
8、括行动,旋转,称重和翻译顶点,或者从四到三角拓扑结构,也许重新啮合算法,“清理”多余的顶点和变换,。数据可视化使用图形三维渲染这是能够显示的对象作为一个线框或作为一个阴影,固体表面可视化是必要的,就编辑整体而言便见影响,总而言之,这个例子定义设计背后是搅拌器的建筑理念。 在搅拌机,数据是作为一个有组织的一系列名单和相应的数据类型相结合,与项目之间的联系在每份名单中,从简单的结构中创造复杂的场景,这使得数据元素,在每个清单都可以重复使用,从而减少整体的存储需求。举例来说,网格可能与多个现场的物体相连接,但位置和方向可能会改变,而每一个物件和拓扑结构的网格保持不变。说明该组织的数据结构和重用现场的
9、要素是在如图2中所示。一个现场物件连结三个对象,其中每个链接到两个多边形网格。该网格也都有一个共同的物质财产。整个现场呈现的由数个可视化现场的屏幕到一个网络上。 我们采用搅拌器的设计方法,为我们创作工具。数据结构用来代表物体在一个三维场景已扩大到包括该领域的触觉特性(例如,刚度, 阻尼);用户界面组件(例如,按钮面板) 允许建模者改变对象属性而得到更新,包括支持修改触觉性能的一个对象。此外,互动触觉 -视觉渲染已实施,以显示三维场景生动和haptically ,反馈现场有关情况即时提供给建模者或艺术家。 在现在的HAMLAT的版本中,搅拌机的框架的写稿包括如下:* 数据结构代表触觉性能, *
10、编辑界面为了修改触觉性能, * 外部转译为展示及预览启用的场面, * 脚本让场面拟进口/出口以HAMLAT的档案格式。 概述了搅拌器框架的变化,在图3中所示。与HAMLAT有关的组建是灰色的阴影。HAMLAT建立在现有搅拌器子系统上,延长他们是为了为触觉建模。触觉和动觉线索, 显示由于与虚拟物体互动,在通常提供的基础上,几何的网格,无损检测存储在此数据类型。现场的其他部件,如灯光,照相机,或线条不能直观地提供使用力反馈触觉设备,但并不是现在触觉设计的兴趣所在。 增强版的网格数据结构如图4所示。它包含的领域顶点和面对数据,再加上一些特殊的自定义数据领域,允许数据被储存到/来自磁盘和内存。我们已修
11、改这个数据类型,包括一个指针,以mhaptics数据结构,储存触觉性能如刚度,阻尼和摩擦,为网格元素(图5 ) 。 A2.编辑网络数据类型 值得注意的是网络数据类型由一个固定的数据类型,名字叫编辑网络,它在编辑网络时使用,它包含了定点,边缘,和全局网络的面对数据的复件。当用户转到编辑代码时,搅拌机把数据从一个网络复制到一个编辑网络,当编辑结束,那么数据就复制回去。必须注意确保触觉数据结构在复制的过程中保持完整,编辑网络没有转变成包含触觉数据的复件,但是这个可以在未来的版本中改变(如果这个功能被要求的话),这个编辑方式主要应用在修改地质学和地理学网络,不是触觉和图像的拓展的特征。A3.触觉特性在
12、这个部分中,我们简要的讨论触觉特性,这个可能用HAMLAT来进行模型化。建模者在应用触觉渲染了解这些特性和他们分布是重要的。一个坚硬的物体,决定了坚固程度。,例如一块岩石或者一个桌子,都有非常高的坚硬度。软物体,例如橡胶球,是有非常低的硬度。一个物体的这种硬度和软度用在弹跳力公式:当反作用力f呈现在用户面前,计算是用物体的硬度系数Ks(变量名为硬度)和x渗透深度(转移)。硬度系数的范围是在0和1之间。0表示畸变没有抵抗力。而1是最大值,它可以被触觉设备测量到一个物体的抑制力,代表了它对畸变的抵抗力。它通常用公式:Kd是抑制系数(变量名是抑制),并且dx/dy是速度。这个抑制系数范围也是在0和1
13、之间。一系列的 0,1 ,并可能被用来模拟粘性行为的物质。它还增加了稳定性静摩擦(变数名称stjriction )和动态摩擦(变数名称dyjriction )系数是用来摩擦力量的模型,在有经验的情况下, 探索表面的三维对象。静摩擦力在运行时,代理是不能移动超过物体表面的,初步的力量必须用来克服静摩擦。动态摩擦是感觉的举动,在整个表面,与摩擦相反。 摩擦系数也有一个范围【 0,1 】 ,值为0时,表面上的一个三维物体觉得“滑” ,值为1时,感到非常粗糙的。摩擦力通常呈现在一方向上,切向碰撞点的触觉在物体表面。 B 编辑搅拌器使用一组非重叠的窗口,也即是所谓的空间来修改各方面的三维场景和对象。每个
14、空间分成了一套领域和背景。也就是,他们提供功能在选定对象的类型的基础上。例如,如果一个相机选定的嵌板即将展出组件,允许建模者改变摄像机的焦距长度和视角,但如果对象的另一种类型是选定的,这些组件将不会出现。 图6显示屏幕发射按钮 ,它是用来编辑触觉网格的属性的。它包括用户界面面板允许建模改变图形遮光性能的网格,进行简单的重新啮合行为,并修改触觉性能而选择网格。 HAMLAT沿袭了脉络的敏感行为,当搅拌器只显示触觉编辑小组时, 多边形网格对象被选中。在未来的日子,这个小组可能会重复支持触觉建模的其他物体类型 , 例如NURB表面。 搅拌器框架提供了许多用户界面元件(例如,按钮,滑块,弹出式菜单),
15、在可用于编辑的基本数据结构。那个触觉性能的网格对象是编辑的使用滑块,或进入一个浮动值到一个文本框位于毗邻的滑杆。当价值滑块/方块值改变时,触发一个事件,在搅拌器窗口会显示一个独特的识别标志,表明窗分制度。 这项活动是为触觉和HAMLAT代码应称为更新触觉用于当前选定的主题词。 C .触觉视觉渲染搅拌器目前支持的图形绘制场景使用内部渲染或外部渲染(例如, 4 ) 。本着这一精神,触觉渲染所使用的HAMLAT已发展为一个外部渲染。它使用OpenGL和openhaptics工具箱 5 分别执行图形和触觉的渲染。三维场景,正在建模的渲染应用在两个阶段:第一个是图像场景,第二个是触觉。第二个是要求的,因为openhaptics工具包拦截命令传送给OpenGL的管道和使用它们,以显示现场用触觉渲染技术。在此通过触觉性能,使每个网格对象使用得多,在通过同样的方式和颜色,照明所使用的图形呈现给他们,界定这类材料为每个对象节省CPU周期, 照明及图形材料从触觉绘制通过时被排除。图7显示的源代码是用来适用材料性能在触觉绘制通过。那个触觉渲染是独立的从搅拌机框架在它的存在以外的原始源代码。然而,它仍然严重依赖于搅拌器的数据结构和类型。 D脚本搅拌器( bpy )包装,暴露了许多内部数据结构,使内部的Python 脚本引