当前位置:首页 >> 机械/仪表 >>

机械英文文献翻译


机械英文文献翻译-延长搅拌机 HAVE'2007 - IEEE International Workshop on Haptic Audio Visual Environments and their Applications Ottawa, Canada 12-14 October 2007 Extending Blender: Development of a Hap

tic Authoring Tool Sheldon Andrews', Mohamad Eid2, Atif Alamri2, and Abdulmotaleb El Saddik2 Multimedia Communications Research Laboratory - MCRLab School ofInformation Technology and Engineering - University ofOttawa Ottawa, Ontario, KIN 6N5, Canada 'sandrO71]@site. uottawa. ca, 2 teid, atifW abed] @ mcrlab. uottawa. Ca Abstract -In this paper, we present our work to extend a well known 3D graphic modeler - Blender - to support haptic modeling and rendering. The extension tool is named HAMLAT (Haptic Application Markup Language Authoring Tool). We describe the modifications and additions to the Blender source code which have been used to create HAMLAT Furthermore, we present and discuss the design decisions used when developing HAMLAT, and also an implementation "road map" which describes the changes to the Blender source code. Finally, we conclude with discussion of our future development and research avenues. Keywords - Haptics, HAML, Graphic Modelers, Blender, Virtual Environments. I. INTRODUCTION A. Motivation The increasing adoption of haptic modality in human-computer interaction paradigms has led to a huge demand for new tools that help novice users to author and edit haptic applications. Currently, the haptic application development process is a time consuming experience that requires programming expertise. The complexity of haptic applications development rises from the fact that the haptic application components (such as the haptic API, the device, the haptic rendering algorithms, etc.) need to interact with the graphic components in order to achieve synchronicity. Additionally, there is a lack of application portability as the application is tightly coupled to a specific device that necessitates the use of its corresponding API. Therefore, device and API heterogeneity lead to the fragmentation and disorientation of both researchers and developers. In view of all these considerations, there is a clear need for an authoring tool that can build haptic applications while hiding programming details from the application modeler (such as API, device, or virtual model). This paper describes the technical development of the Haptic Application Markup Language Authoring Tool (HAMLAT). It is intended to explain the design decisions used for developing HAMLAT and also provides an implementation "road map", describing the source code of the project. B. Blender HAMLAT is based on the Blender [1] software suite, which is an open-source 3D modeling package with a rich feature set. It has a sophisticated user interface which is noted for its efficiency and flexibility, as well as its supports for multiple file formats, physics engine, modem computer graphic rendering and many other features. Because of Blender's open architecture and supportive community base, it was selected as the platform of choice for development of HAMLAT. The open-source nature of Blender means HAMLAT can easily leverage its existing functionality and focus on integrating haptic features which make it a complete hapto-visual modeling tool, since developing a 3D modeling platform from scratch requires considerable development time and expertise in order to reach the level of www.lwfree.com code into the HAMLAT

source tree. HAMLAT builds on existing Blender components, such as the user-interface and editing tools, by adding new components which focus on the representation, modification, and rendering of haptic properties of objectsin a 3D scene. By using Blender as the basis for HAMLAT, we hope to develop a 3D haptic modeling tool which has the maturity and features of Blender combined with the novelty of haptic rendering. At the time of writing, HAMLAT is based on Blender version 2.43 source code. C. Project Goals As previously stated, the overall goal for the HAMLAT project is to produce a polished software application which combines the features of a modem graphic modeling tool with haptic rendering techniques. HAMLAT has the "look and feel" of a 3D graphical modeling package, but with the addition of features such as haptic rendering and haptic property descriptors. This allows artists, modelers, and developers to generate realistic 3D hapto-visual virtual environments. A high-level block diagram of HAMLAT is shown in Figure 1. It illustrates the flow of data in the haptic modeling. HAMLAT assists the modeler, or application developer, in building hapto-visual applications which may be stored in a database for later retrieval by another haptic application. By hapto-visual application we refer to any software which displays a 3D scene both visually and haptically to a user in a virtual setting. An XML file format, called HAML [2], is used to describe the 3D scenes and store the hapto-visual environments built by a modeler for later playback to an end user. Traditionally, building hapto-visual environments has required a strong technical and programming background. The task of haptically rendering a 3D scene is tedious 1108since haptic properties must be assigned to individual objects in the scene and currently there are few high-level tools for accomplishing this task. HAMLAT bridges this gap by integrating into the HAML framework and delivering a complete solution for development of hapto- visual applications requiring no programming knowledge. The remainder of the paper is organized as follows: in Section 2, we present the proposed architecture extensions and discuss design constraints. Section 3 describes the implementation details and how haptic properties are added and rendered within the Blender framework. In Section 4 we discuss related issues and future work avenues. II. SYSTEM OVERVIEW AND ARCHITECTURE The Blender design philosophy is based on three main tasks: data storage, editing, and visualization. According to the legacy documentation [3], it follows a data- visualize-edit development cycle for the 3D modeling pipe line. A 3D scene is represented using data structures within the Blender architecture. The modeler views the scene, makes changes using the editing interface which directly modifies the underlying data structures, and then the cycle repeats. To better understand this development cycle, consider the representation of a 3D object in Blender. A 3D object may be represented by an array of vertices which have been organized as a polygonal mesh. Users may choose to operate on any subset of this data set. Editing tasks may include operations to rotate, scale, and translate the vertices, or perhaps a re-meshing algorithm to "cleanup" redundant vertices and transform from a quad to a triangle topology. The data is visualized using a graphical 3D renderer which is capable of displaying the object as a wireframe or as a shaded, solid surface. The visualization is necessary in order to see the effects of editing on the data. In a nutshell, this example defines the design philosophy behind Blender's architecture.

In Blender, data is organized as a series of lists and base data types are combined with links between items in each list, creating complex scenes from simple structures. This allows data elements in each list to be reused, thus reducing the overall storage requirements. For example, a mesh may be linked by multiple scene objects, but the position and orientation may change for each object and the topology of the mesh remains the same. A diagram illustrating the organization of data structures and reuse of scene elements is shown in Figure 2. A scene object links to three objects, each of which link to two polygonal meshes. The meshes also share a common material property. The entire scene is rendered on one of several screens, which visualizes the scene. We adopt the Blender design approach for our authoring tool. The data structures which are used to represent objects in a 3D scene have been augmented to include fields for haptic properties (e.g., stiffness, damping); user interface components (e.g., button panels) which allow the modeler to change object properties have also been updated to include support for modifying the haptic properties of an object. Additionally, an interactive hapto-visual renderer has been implemented to display the 3D scene graphically and haptically, providing the modeler or artist with immediate feedback about the changes they make to the scene. in the current version of the HAMLAT. the modifications to the Blender framework include: data structures for representing haptic properties,

an editing interface for modifying haptic properties, an external renderer for displaying and previewing haptically enabled scenes, scripts which allow scenes to be imported/exported in the HAML file format. A class diagram outlining the changes to the Blender ramework is shown in Figure 3. Components which are ertinent to HAMLAT are shaded in gray. HAMLAT builds on existing Blender sub-systems by extending them or haptic modeling purposes. Data structures for representing object geometry and graphical rendering areaugmented to include field which encompass the tactile properties necessary for haptic rendering. To allow the user to modify haptic properties GUI Components are integrated as part of the Blender editing panels. The operations triggered by these components operate directly on the d ata structures used for representing hatic cues and may be considered part of the editing step of the Blender design cycle. Similarly to the built-in graphical renderer, HAMLAT uses a custom rendlerer for displaying 3Ds scenes grphcal and haptcall, an is ineedn of the Blender renderer. This component is developed independently since haptical and graphical rendering must be performed simultaneously and synchronously. A simulation loop is used to update haptic rendering forces at a rate which maintains stability and quality. A detailed discussion of the implementation of these classes and their connectivity is given in the next section. III IMLIEMENTATION A Data Structure A.1 Mesh Data Type Blender uses many different data structures to represent the various types of objects in a 3D scene a vertices; a lamp contains colour and intensity values; and camera a object contains intrinsic viewing parameters. The Mesh data structure iS used by the Blender inframework to describe a polygonal mesh object. It iS of particular interest for hapic rendering since many solid objects in a 3D scene may be represented using this type of data structure. The tactile and kinesthetic cues, which are displayed due to interaction

with virtual objects, are typically rendered based on the geometry of the mesh. Hptic rendering is

performed based primary on data stored in this data type. Other scene components such as lamps, cameras, or lines are not intuitively rendered using force feedback haptic devices and are therefore not of current interest for haptic rendering. An augmented version of the Mesh data structure is shown in Figure 4. It contains fields for vertex and face data, plus some special custom data fields which allow data to be stored to/retrieved from disk and memory. We have modified this data type to include a pointer to a MHaptics data structure, which stores haptic properties such as stiffness, damping, and friction for the mesh elements (Figure 5). A.2 Edit Mesh Data Type It should be noted that the Mesh data type has a comPlimentary data structure, called EditMesh, which is used when editing mesh data. It holds a copy of the vertex, edge ,and face data for a polygonal mesh. when the user switches to editing mode, the Blender copies the data from a Mesh into an EditMesh and when editing is complete the data is copied back. Care must be taken to ensure that the hapic property data structure remains intact during the copy sequence. The EditMesh data structure has not been modified to contain a copy of the hapic property data ,but this may properties in edit mode is required). The editing mode is mainly used to modify mesh topology and geometry, not the haptic and graphical rendering characteristics, A.3 Haptic Properties In this section we'll briefly discuss the haptic properties which may currently be modeled using HAMLAT. It is important for the modeler to understand these properties and their basis for use in haptic rendering. The stiffness of an object defines how resistant it is to deformation by some applied force. Hard objects, such as a rock or table, have very high stiffness; soft objects, such as rubber ball, have low stiffness. The hardness-softness of an object is typically rendered using th spring-force equation: Where the force feedback vector f which is displayed to the user is computed using ks the stiffness coefficient (variable name stiffness)for the object and x the penetration depth (displacement) of the haptic proxy into an object. The stiffness coefficient has a range of [0,1], where 0 represents no resistance to deformation and 1 represents the maximum stiffness which may be rendered by the haptic device. The damping of an object defines its resistance to the rate of deformation due to some applied force. It is typically rendered using the force equation:

Where kd is the damping coefficient (variable name}MHaptics; damping) anddepdt is the velocity ofthe haptic proxy as it;penetrates an object. The damping coefficient also has a range of [0,1] and may be used to model viscous behaviour of a material. It also increases the stability of the hapticrendering loop fordstiffmaterials. The static friction (variable name stjriction) and dynamic friction (variable name dyjriction) coefficient are used to model the frictional forces experienced whilee xploring the surface of a 3D object. Static friction is experienced when the proxy is not moving over the object's surface, and an initial force must be used to overcome static friction. Dynamic friction is felt when the proxy moves across the surface, rubbing against it. Frictional coefficients also have a range of /0,1], with a value of 0 making the surface of a 3D object feel "slippery" and a value of 1 making the object feel very rough. Frictional forces are typically rendered in a direction tangential to the collision point of the hapticproxy at an object's surface. B. Editing Blender uses a set of non-overlapping windows called

spaces to modify various aspects of the 3D scene and its objects. Each space is divided into a set of areas andpanels which are context aware. That is, they provide functionality based on the selected object type. For example, if a camera is selected the panel will display components which allow the modeler to change the focal length and viewing angle of the camera, but these components will not appear if an object of another type is selected. Figure 6 shows a screen shot of the button space which is used to edit properties for a haptic mesh. It includes user-interface panels which allow a modeler to change the graphical shading properties of the mesh, perform simple re-meshing operations, and to modify the haptic properties of the selected mesh. HAMLAT follows the context-sensitive behavior of Blender by only displaying the haptic editing panel when a polygonal mesh object is selected. In the future, this panel may be duplicated to support haptic modeling for other object types, such as NURB surfaces. The Blender framework offers many user-interface components (e.g., buttons, sliders, pop-up menus) which may be used to edit the underlying data structures. The haptic properties for mesh objects are editable using sliders or by entering a float value into a text box located adjacent to the slider. When the value of the slider/text box is changed, it triggers an event in the Blender window sub-system. A unique identifier that the event is for the haptic property panel and the HAMLAT code should be called to update haptic properties for the currently selected mesh. C Hapto-Visual Rendering Blender currently support graphical rendering of scenes using an internal render or an external renderer (e.g., [4]). In this spirit, the haptic renderer used by HAMLAT has been developed as an exteral renderer. It uses the OpenGL and OpenHaptics toolkit [5] to perform graphic and hapic rendering ,respectively. The 3D scene which is being modeled is rendered using two passes: the first pass render the scene graphically, and the second pass renders it haptically. The second pass is required because the OpenHaptics toolkit intercepts commands send to the OpenGL pipeline and uses them to display the scene using haptic rendering techniques. In this pass, the haptic properties of each mesh object are used much in the same way color and lighting are used by graphical rendering they define the type of material for each object. To save CPU cycles, the lighting and graphical material properties are excluded from the haptic rendering pass. Figure 7 shows source code which is used to apply the material properties during the haptic rendering pass. The haptic renderer is independent from the Blender framework in that it exists outside the original source code. However, it is still heavily dependent on Blender data structures and types. D. Scripting The Blender Python (BPy) wrapper exposes many of the internal data structures, giving the internal Python scripting engine may access them. Similar to the data structures used for representing mesh objects in the native Blender framework, wrappers allow user defined scripts to access and modify the elements in a 3D scene. The hapic properties of a mesh object may be accessed through the Mesh wrapper class. A haptics attribute has been added to each of these classes and accessed through the Python scripting system. Figure 8 shows Python code to read the haptic properties from a mesh object and export to a file. Similar code is used to import/export HAML scenes from/to files. An import script allows 3D scenes to be read from a HAML file and reproduced in the HAMLAT application; export script allows 3D scenes to be written to a HAML file, including haptic properties, and used in other

HAML applications. The BPy wrappers also expose the Blender windowing system. Figure 9 shows a panel which appears when the user exports a 3D scene to the HAML file format. It allows the user to specify supplementary information about the application such as a description, target hardware, and system requirements. These are fields defined by the HAML specification [2] and are included with the authored scene as part of the HAML file format. User-interface components displayed on this panel are easily extended to agree with the future revisions of HAML. The current version of HAMLAT shows that a unified modeling tool for graphics and haptics is possible. Promisingly, the features for modeling haptic properties have been integrated seamlessly into the Blender framework, which indicates it was a good choice as a platform for development of this tool. Blender's modular architecture will make future additions to its framework very straightforward. Currently, HAMLAT supports basic functionality for modeling and rendering hapto-visual applications. Scenes may be created, edited, previewed, and exported as part of a database for use in by other hapto-visual applications, such as the HAML player [6]. However, there is room for growth and in there are many more ways we can continue leveraging existing Blender functionality. As per future work ,we plan to extend HAMLAT TO include support for other haptic platforms and devices.Currently, only the PHANTOM series of devices is supported since the interactive renderer is dependent on the OpenHaptics toolkit [5]. such as Chai3D or Haptik may be used to perform rendering. These libraries support force rendering for a large range of haptic hardware. Fortunately, due to the modularity of our implementation, only the interactive haptic rendering component need be altered for these changes. In addition to support multiple hardware platforms, a user interface component which allows the selection and configuration of haptic devices will be important. Most likely, this will be added as part of the user preferences panel in Blender. Adding support for haptic devices as part of editing asks is also a planned feature. This will allow the odeler to modify the shape, location, and other properties on in-scene objects. For example, the sculptingo de in Blender allows a user to manipulate the geometryf a 3D object using a natural interface, similar to eshaping a piece of clay. HAMLAT will build on this echnology by allowing the modeler to manipulate the irtual clay using high DOF haptic interfaces. REFERENCES [1] Blender organization, "Blender official website,"http.//www.lwfree.cn September 2007. [2] F. R. El-Far, M. Eid, M. Orozco, A. El Saddik, "Haptic Application Meta-Language," DS-RT, Malaga, Spain, 2006. con [3] Blender Organization, "Blender Architecture," berGrasp http://www.lwfree.com , September 2007 [4] YafRay, "Free Raytracing for the Masses," http://www.lwfree.com, September 2007. [5] SensAble Technologies, Inc. "OpenHaptics Toolkit,"http://www.lwfree.cn,September 2007. [6] M. Eid, M. Mansour, R. Iglesias, A. El Saddik. "A DeviceIndependent Haptic Player," IEEE Intl. Conference on VirtualEnvironments, Human-Computer Interfaces, and Measurement Systems (VECIMS 2007), Italy, 2007. In order to support otherd evices, a cross-platform library

[7] F. Conti, F. Barbagli, D. Morris, C. Sewell, "CHAI: An Open-Source Library for the Rapid Development of Haptic Scenes,"Demo paper atIEEE WorldHaptics, Pisa, Italy, March 2005.

摘要-在本文中,我们目前的工作是拓展一个众所周知的三维图形建模-搅拌机,来支持触觉建模和绘制。 这种延长搅拌机命名为 HAMLAT(触觉应用标记语言创作工具) 。我们描述修改和添加搅拌器的源代码, 其中已使用创造 HAMLAT 此外,我们提出和讨论设计的决定时所用的发展中的 HAMLAT, 也是一个“路线 图”的实施 ,其中描述了搅拌器的源代码的改变。最后,我们的结论是讨论我们未来的发展及研究途径。 关键词-触觉,HAM,图形建模,搅拌器, 虚拟环境。 一.介绍 A. 动机 越来越多的通过触觉的方式在人类-电脑的互动方式的应用造成了对新的工具的巨大的需求,这些新的工 具可以帮助新手用户写作和编辑触觉应用。目前,触觉的应用发展过程是一个耗时的经历,它需要编程知 识。触觉应用的复杂性,从一个事实,即触觉应用组件(如触觉的空气污染指数,设备,该触觉描写算法 等)需要互动图形组件,以实现同步。 此外,一个缺少应用可能性,因为应用是紧耦合到特定的装置必须使用其相应的空气污染指数。因此,设 备和空气污染指数的异质性,导致两个研究人员和开发人员分裂和迷失方向。在检查所有需要考虑的事时, 有对创作工具明确的需要,可以建立触觉的应用, 也可以隐藏在应用程序建模的编程(如空气污染指数, 装置,或虚拟模型) 。 本文介绍了技术发展的触觉应用标记语言创作工具(HAMLAT) 。它的用意是解释设计决定用于发展 HAMLAT,还提供了执行“路线图”的一个应用,描述该项目的源代码。 B 搅拌器 HAMLAT 是以搅拌器[ 1 ]软件套件为基础, 这是一个开放源码的三维建模套件拥有丰富的功能集。它有一 个先进的用户界面,它以它的高效率和灵活性,以及它的支援多种档案格式,物理引擎,调制解调器等功 能出名。 由于搅拌器的开放式体系结构和支持共同的基础,它被选定为发展 ofhamlat 平台的首选。搅拌器开放资源 的性质,意味着 HAMLAT 可以轻易地利用其现有的功能和集中讨论相结合的特点,使其成为一个完整的触 觉-可视化建模工具,发展为一个三维建模平台,从无到有,需要相当多的发展时间和专门技术,以便达到 搅拌机水平的功能, 。同时,我们可以利用由从它的源代码到 HAMLAT 源代码树的合并的变化改善未来的 搅拌器 HAMLAT 建立在现有搅拌器组件,如用户界面和编辑工具,通过加入新组建,其中侧重在一个三维场景用 于代表修改和渲染触觉特性的物体。HAMLAT 用搅拌器并以此为基础,我们希望建立一个三维触觉建模工 具,它具有成熟等特点,并结合搅拌器与 ofhaptic 渲染的新颖性。 在编写本报告的时候,HAMLAT 是基于搅拌器 2.43 版本的源代码。 C.项目目标 如前所述,HAMLAT 项目的总体目标是为了产生一个抛光应用软件,它结合了调制解调器图形建模工具的 特点与触觉绘制技术。HAMLAT 有三维图形建模软件包“外观与感觉”,但是还有另外的功能,例如,作为 触觉渲染和触觉直观的描述。这个允许艺术家,建造家,和开发商产生逼真的三维触觉 -可视化虚拟环境。 一个 HAMLAT 高层次的框图结果,在图 1 中表明。它说明了在触觉模型的数据流,HAMLAT 协助建模者, 或应用开发商,在建设触觉 -视觉应用,可存储在一个数据库中供日后由另一触觉的应用检索。由触觉-视 觉的应用我们参考任何在视觉上显示三维场景的软件, haptically 给一个用户一个虚拟的设置。一个 XML 文件的格式,所谓 HAML[ 2 ] ,是用来描述三维场景和储存触觉-视觉环境,通过兴建一建模后播放给最终

用户。 传统上,建设触觉 -视觉环境已需要一个强有力的技术和方案的背景。 绘制三维场景的任务是繁琐的。所 以在现场触觉性能必须分配给个人,为完成这项任务,目前有几个问题。HAMLAT 桥梁,这个差距通过融 入 haml 框架和提供完整的解决方案,发展触觉-视觉应用,无需编程知识。 其余的文件,组织情况如下:在第 2 部分中,我们目前建议的架构扩展并讨论设计的限制。在第 3 部分中 介绍执行的细节,以及触觉性使内部的搅拌器框架能如何补充和拓展。第 4 部分我们讨论工作中有关的问 题和今后的工作途径。 二.编辑和可视化 搅拌器的设计理念,是基于三个主要任务:数据存储,编辑和可视化。据遗留的文件[ 3 ] ,它沿袭了开发 周期为三维建模数据管道可视 - 编辑。一个三维场景代表的是在该搅拌器结构中使用数据结构。该建模者 观看现场,进行更改,使用编辑界面直接修改底层的数据结构,然后循环重复。 为了更好地了解这方面的发展周期,考虑在搅拌器中一个三维物体的代表体。一个三维物体可代表一个数 组的顶点,其中有举办了作为一个多边形网格。用户可以选择运作的任何数据集。编辑的任务可能包括行 动,旋转,称重和翻译顶点,或者从四到三角拓扑结构,也许重新啮合算法,“清理”多余的顶点和变换, 。 数据可视化使用图形三维渲染这是能够显示的对象作为一个线框或作为一个阴影,固体表面可视化是必要 的,就编辑整体而言便见影响,总而言之,这个例子定义设计背后是搅拌器的建筑理念。 在搅拌机,数据是作为一个有组织的一系列名单和相应的数据类型相结合,与项目之间的联系在每份名单 中,从简单的结构中创造复杂的场景,这使得数据元素,在每个清单都可以重复使用,从而减少整体的存 储需求。举例来说,网格可能与多个现场的物体相连接,但 位置和方向可能会改变,而每一个物件和拓扑结构的网格保持不变。说明该组织的数据结构和重用现场的 要素是在如图 2 中所示。一个现场物件连结三个对象,其中每个链接到两个多边形网格。该网格也都有一 个共同的物质财产。整个现场呈现的由数个可视化现场的屏幕到一个网络上。 我们采用搅拌器的设计方法,为我们创作工具。数据结构用来代表物体在一个三维场景已扩大到包括该领 域的触觉特性(例如,刚度, 阻尼) ;用户界面组件(例如,按钮面板) 允许建模者改变对象属性而得到更新,包括支持修改触觉性能的一个对象。此外,互动触觉 -视觉渲染已 实施,以显示三维场景生动和 haptically ,反馈现场有关情况即时提供给建模者或艺术家。 在现在的 HAMLAT 的版本中,搅拌机的框架的写稿包括如下: * 数据结构代表触觉性能, * 编辑界面为了修改触觉性能, * 外部转译为展示及预览启用的场面, * 脚本让场面拟进口/出口以 HAMLAT 的档案格式。 概述了搅拌器框架的变化,在图 3 中所示。与 HAMLAT 有关的组建是灰色的阴影。HAMLAT 建立在现有 搅拌器子系统上,延长他们是为了为触觉建模。触觉和动觉线索, 显示由于与虚拟物体互动,在通常提供 的基础上,几何的网格,无损检测存储在此数据类型。现场的其他部件,如灯光,照相机,或线条不能直 观地提供使用力反馈触觉设备,但并不是现在触觉设计的兴趣所在。 增强版的网格数据结构如图 4 所示。它包含的领域顶点和面对数据,再加上一些特殊的自定义数据领域, 允许数据被储存到/来自磁盘和内存。我们已修改这个数据类型,包括一个指针,以 mhaptics 数据结构, 储存触觉性能如刚度,阻尼和摩擦,为网格元素(图 5 ) 。

A2.编辑网络数据类型 值得注意的是网络数据类型由一个固定的数据类型,名字叫编辑网络,它在编辑网络时使用,它包含了 定点,边缘,和全局网络的面对数据的复件。当用户转到编辑代码时,搅拌机把数据从一个网络复制到一 个编辑网络,当编辑结束,那么数据就复制回去。

必须注意确保触觉数据结构在复制的过程中保持完整,编辑网络没有转变成包含触觉数据的复件,但是这 个可以在未来的版本中改变(如果这个功能被要求的话) ,这个编辑方式主要应用在修改地质学和地理学网 络,不是触觉和图像的拓展的特征。 A3.触觉特性 在这个部分中,我们简要的讨论触觉特性,这个可能用 HAMLAT 来进行模型化。建模者在应用触觉渲染了 解这些特性和他们分布是重要的。 一个坚硬的物体,决定了坚固程度。 ,例如一块岩石或者一个桌子,都有非常高的坚硬度。软物体,例如橡 胶球,是有非常低的硬度。一个物体的这种硬度当反作用力 f 呈现在用户面前,计算是用物体的硬度系数 Ks(变量名为硬度)和 x 渗透深度(转移) 。硬度系数的范围是在 0 和 1 之间。0 表示畸变没有抵抗力。而 1 是最大值,它可以被触觉设备测量到一个物体的抑制力,代表了它对畸变的抵抗力。它通常用公式: Kd 是抑制系数 (变量名是抑制)并且 dx/dy 是速度。 , 这个抑制系数范围也是在 0 和 1 之间。 一系列的[ 0,1 ] , 并可能被用来模拟粘性行为的物质。它还增加了稳定性静摩擦(变数名称 stjriction )和动态摩擦(变数名 称 dyjriction )系数是用来摩擦力量的模型,在有经验的情况下, 探索表面的三维对象。 静摩擦力在运行时,代理是不能移动超过物体表面的,初步的力量必须用来克服静摩擦。动态摩擦是感觉 的举动,在整个表面,与摩擦相反。 摩擦系数也有一个范围【 0,1 】 ,值为 0 时,表面上的一个三维物 体觉得“滑” ,值为 1 时,感到非常粗糙的。摩擦力通常呈现在一方向上,切向碰撞点的触觉在物体表面。 B 编辑搅拌器使用一组非重叠的窗口,也即是所谓的空间来修改各方面的三维场景和对象。每个空间分成 了一套领域和背景。也就是,他们提供功能在选定对象的类型的基础上。例如,如果一个相机选定的嵌板 即将展出组件,允许建模者改变摄像机的焦距长度和视角,但如果对象的另一种类型是选定的,这些组件 将不会出现。 图 6 显示屏幕发射按钮 ,它是用来编辑触觉网格的属性的。它包括用户界面面板允许建模改变图形遮光性 能的网格,进行简单的重新啮合行为,并修改触觉性能而选择网格。 HAMLAT 沿袭了脉络的敏感行为,当搅拌器只显示触觉编辑小组时, 多边形网格对象被选中。在未来的 日子,这个小组可能会重复支持触觉建模的其他物体类型 , 例如 NURB 表面。 搅拌器框架提供了许多用户界面元件(例如,按钮,滑块,弹出式菜单) ,在可用于编辑的基本数据结构。 那个触觉性能的网格对象是编辑的使用滑块,或进入一个浮动值到一个文本框位于毗邻的滑杆。当价值滑 块/方块值改变时,触发一个事件,在搅拌器窗口会显示一个独特的识别标志,表明窗分制度。 这项活动 是为触觉和 HAMLAT 代码应称为更新触觉用于当前选定的主题词。 C .触觉视觉渲染 搅拌器目前支持的图形绘制场景使用内部渲染或外部渲染(例如, [ 4 ] ) 。本着这一精神,触觉渲染所 使用的 HAMLAT 已发展为一个外部渲染。它使用 OpenGL 和 openhaptics 工具箱[ 5 ]分别执行图形和触觉 的渲染。 三维场景,正在建模的渲染应用在两个阶段:第一个是图像场景,第二个是触觉。第二个是要求的,因为 openhaptics 工具包拦截命令传送给 OpenGL 的管道和使用它们,以显示现场用触觉渲染技术。在此通过 触觉性能,使每个网格对象使用得多,在通过同样的方式和颜色,照明所使用的图形呈现给他们,界定这 类材料为每个对象节省 CPU 周期, 照明及图形材料从触觉绘制通过时被排除。图 7 显示的源代码是用来 适用材料性能在触觉绘制通过。那个触觉渲染是独立的从搅拌机框架在它的存在以外的原始源代码。然而, 它仍然严重依赖于搅拌器的数据结构和类型。 D 脚本 搅拌器( bpy )包装,暴露了许多内部数据结构,使内部的 Python 脚本引擎可能访问它们类似的数据结 构,用于代表网格物体在这个搅拌器的框架内包装,一个三维场景让用户定义的脚本访问和修改的内容。 一个网格物体的触觉特性可以通过网络包装来达到已添加到每个这些阶段和通过访问的 Python 脚本系 统。图 8 显示原码来读取触觉性能,从网格对象和出口到一个文件。类似的代码是用来进口/ 出口 HAML 场景从到档案。

在 HAMLAT 的应用,脚本允许从 haml 文件中读和转载进口的三维场景, 出口脚本,允许三维场景要写入 到一个 HAML 文件中,并且应用在另一个 HAML 应用中 该 bpy 封套也揭露搅拌器窗制度。图 9 显示了小组时,会出现用户出口三维场景向 haml 档案格式。它允 许用户指定的补充资料关于应用程序, 如描述, 目标硬件和系统需求。 这些都是领域所定的 haml 规格[ 2 ] , 并已列入与执笔的现场,作为部分的 haml 档案格式。 用户界面组件上显示的这个小组很容易扩展到未来 修改的 HAML。 目前,HAMLAT 支持基本功能建模和绘制触觉 -视觉应用。场景可以创建,编辑,预览,和出口的部分一 个数据库,以便使用在其他触觉-视觉应用。不过,还有很多方法,能够让我们继续利用现有的搅拌器的功 能。 作为今后的工作中,我们的扩展计划,以 HAMLAT 包括支持其他触觉平台和设备。 目前,HAMLAT 一系列的设备是支持自互动渲染,是依赖于该 openhaptics 工具箱[ 5 ] 。为了支持其他设 备,跨平台的图书馆,如 chai3d 或 haptik 可能被用来执行渲染。这些图书馆支持绘制大范围的触觉硬件。 所幸的是,由于我们执行中模块化,只有互动触觉渲染需要改变。 此外,支持多种硬件平台, 用户界面 组件,使选拔和配置触觉设备将是重要的。多数的可能,这将是,增加一条,作为用户使用部分编好程序 在搅拌器中。 加入支持触觉设备的一部分,编辑任务也是有计划的功能。这将方便建模修改形状,位置。 和其他在现场的对象。举例来说,多选择方式在搅拌允许用户操纵地理的三维物体用自然的界面,类似重 塑一块粘土。HAMLAT 将在此基础上让建模操纵接口。


相关文章:
机械可靠性英文文献及翻译
机械可靠性英文文献翻译_机械/仪表_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档机械可靠性英文文献翻译_机械/仪表_工程科技_专业资料。Mechanical ...
机械加工中英文资料外文翻译文献
机械加工中英文资料外文翻译文献 机械加工中英文资料外文翻译文献 机械加工介绍 作为产生形状的一种加工方法, 机械加工是所有制造过程中最普遍使用的而且是最 重要的...
机械类毕业论文 外文翻译
机械类毕业论文 外文翻译_工学_高等教育_教育专区。机械论文翻译 三江学院 毕业设计(论文)外文资料翻译院 专系业 机械工程学院 机械设计制造及其自动化(模具设计...
机械类英文文献+翻译)
机械英文文献+翻译)_机械/仪表_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 机械英文文献+翻译)_机械/仪表_工程科技_专业资料。英文翻译...
机械外文翻译_中英文
机械毕业英语论文翻译5000... 13页 免费 英文翻译(机械类) 9页 免费 机械设计与制造毕业设计论... 9页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功...
机械外文翻译中英文
机械外文翻译中英文_机械/仪表_工程科技_专业资料。机械外文翻译中英文 机床 模具 机械 材料翻译: 翻译:英文原文 Definitions and Terminology of Vibration vibration...
机械类两篇外文翻译
15页 20财富值 机械外文翻译(毕业设计用... 6页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
机械英文参考文献及翻译
机械英文参考文献翻译_电力/水利_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 机械英文参考文献翻译_电力/水利_工程科技_专业资料。Abstract: With ...
机械外文翻译
机械外文翻译_机械/仪表_工程科技_专业资料。机械外文翻译外文资料 Herbert W. Yankee Manufacturing Processes [M] Prentice-Hall Inc., 1979 Medium-Production Lath...
更多相关标签:
机械类外文文献及翻译 | 机械设计英文参考文献 | 机械英文文献 | 机械类英文参考文献 | 机械英文论文文献 | 机械手英文文献 | 机械类英文文献 | 机械英文参考文献 |