动画自动生成

2024-08-01

动画自动生成(精选6篇)

动画自动生成 篇1

我国最先利用媒体制成动画并放映出来是在电视机出现后的几年内, 而现阶段动画经过了多年的发展, 已经开发出了多种形式, 像是动漫游戏、科学实验、仿真模拟以及动画的电影广告等[1]。动画生成技术在90年代被提出的, 其也就是将具有人工智能的技术运用到动画生成的过程中, 但是当时的动画生成技术还是非常的不成熟, 其动画角色、动画效果都不够真实, 因此到了2003年开发出了一款新版的动画自动生成系统。

1 人工智能在动画中的应用

1.1 通过自然语言指令驱动的动画

⑴自然语言中的Ulysse是可以让用户在使用的时候, 将自然语言在虚拟的自然环境中进行浏览的代理商, 而其包含的项目主要有语法分析器, 也就是对输入的文字进行解析;语义模块, 对输入文字所包含的含义进行了解;语言到虚拟实体的映射器, 也就是手柄的作用, 通过这几项功能就可以让用户在既定的规则里构造出动画, 并在这阶段上建立一个语音识别系统, 方便用户在使用的时候可以自动的将语言输入进去[2]~[3]。

⑵第二个是自然语言中的Person, 该项目是可以让用户对动画的虚拟角色进行人格化, 也就是对动画中的人物配上具有智能化的对话形式, 像是动漫游戏中的NPC的对话形式就是采用自然语言中的Person。

⑶自然语言中的Nautilus, 用户主要是可以通过口头命令的方式, 让用户可以对已经播放过的图片或是影片进行自动回放, 这就像是游戏中的录像, 该项目就是采用Nautilus进行执行的。

⑷自然语言中的Animation from Natural Language Instruetions, 可以说是将上述三种语言进行结合的一种语言, 简称为Anim NL, 运用该种语言可以将模拟动画人物的肢体动作、语言表面以及声音进行结合, 而这一项目包含了知识库中的大部分功能。

1.2 模拟人类对话的动画形象

为了能够使得动画中的人物形象与人类更为接近, 因此对于动画人物上必备的要求, 首先就需要有逼真的人物形象, 而人物形象中就必须包括人类所特有的动作、说话的声调以及面部的基本表情、可以与人类进行交谈的语言能力, 也就是交谈的能力;对于社交能力的认知和感知能力, 一旦有交往请求, 就应当立即的进行处理。而该系统主要包括了命题性的、交互性的, 并将这两方面进行合成, 从而研制出能够与人类进行对话的角色, 最简单的有模拟练习中的提醒, 最难的可以说是目前最受欢迎的《阿凡达》中的角色。

1.3 交互式故事系统

交互式故事系统进行划分, 可以分为两种, 分别是故事图与模拟世界两种类型, 而如果将二者单独列出, 是不能够作为一个独立的交互故事的。交互式故事系统主要是让用户当这个故事的关键人物, 从而通过用户的主观能动性来确定或是取消系统当前的行为, 而后根据系统角色设定, 对角色进行进行控制, 而控制的行为主要包括整个故事的情节或是角色的一系列的动作序列。

1.4 角色语音和面部表情的自动生成

在新版的动画自动生成系统中, 是可以将角色的个性、情感状态以及动作通过Byrne的输入, 可以自动进行完成。

1.5 动态实时摄像机的自动控制

在目前的计算机技术中, 为了能够捕捉到虚拟三维环境中的事件, 而这就需要对摄像师系统与电影摄影知识的双重了解, 并将其进行总结。虽然动画是依靠关键帧来维持的, 但是也是需要有镜头之间的排序和转换的情况。当一组摄像机进行拍摄的时候, 那么就需要了解下一组镜头进行转换的时间以及位置, 这样才能够拍摄出好的拍摄效果, 如果一旦出现了什么问题还可以进行微调。

2 案例分析

为了能够更为直观的对全过程计算机辅助动画自动生成的过程进行了解, 下面本文将以《龟兔赛跑》为例, 将这则故事由该系统最终自动生成动画, 经过粗略的计算, 其主要有五个步骤。⑴用户需要对《龟兔赛跑》整体的故事文本有一个基础的了解, 之后再采用自然语言对其进行叙述;⑵要对《龟兔赛跑》的整体故事情节进行了解, 也就是对每一段的故事情节进行充分的了解;⑶将《龟兔赛跑》整个故事进行划分, 将其作为一个分场景的剧本;⑷将《龟兔赛跑》分为分场景的剧本之后, 对每一个场景的动画角色的设计、背景的涂鸦以及动作的设计进行详细的表述, 并要与每一段的时间吻合;⑸最后一步将《龟兔赛跑》中所有的步骤进行组合, 并在动画素材库以及声音库中将其进行结合, 从而生成一步完整的动画。

摘要:动画片作为一门幻想艺术, 可以十分直观的表述人们的感情, 并将不可能变为可能, 在另一次元中扩展人类的想象力与创造力。现阶段, 制作动画片是采用全过程计算机辅助动画自动生产技术, 并采用自然语言叙述故事的方式, 将漫画配上上述项目, 从而制成一部动画片。本文为了了解全过程计算机辅助动画自动生成过程, 下文将从自然语言理解、故事理解以及动画设计和生成、动画知识库几个方面对该技术进行理解和阐述。

关键词:计算机动画,动画生成,自然语言理解

参考文献

[1]敖丽敏.交互式过程性知识表示与获取及其实现的研究[D].中国农业大学.2009.[1]敖丽敏.交互式过程性知识表示与获取及其实现的研究[D].中国农业大学.2009.

[2]Research on Collision Detection in Certain Missile VirtualMaintenance System[A].第七届国际测试技术研讨会论文集[C].2008.[2]Research on Collision Detection in Certain Missile VirtualMaintenance System[A].第七届国际测试技术研讨会论文集[C].2008.

[3]袁景玉, 沈天行, 孟涛.三维动画人体运动控制方法综述[J].河北工业大学学报.2009 (04) .[3]袁景玉, 沈天行, 孟涛.三维动画人体运动控制方法综述[J].河北工业大学学报.2009 (04) .

动画自动生成 篇2

演示动画

操作步骤

利用Excel“自动筛选”功能,可以轻松地把符合某种条件的数据挑选出来。

普通筛选。我们在“员工基本情况登记表”中,把“职称”为“高级工程师”的人员挑选出来:选中表格中任意一个单元格,执行“数据→筛选→自动筛选”命令,进入“自动筛选”状态(列标题处出现一个下拉按钮),然后按“职称”列右侧的下拉按钮,在随后弹出的下拉列表中,选择“高级工程师”选项,符合条件的数据即刻被挑选出来,

自定义筛选。我们在“员工基本情况登记表”中,把“职称”为“高级”(高级工程师、高级政工师等)的人员挑选出来:在“自动筛选”状态下,按“职称”列右侧的下拉按钮,在随后弹出的下拉列表中,选择“自定义”选项,打开“自定义自动筛选方式”对话框,按左侧方框右边的下拉按钮,在随后弹出的下拉列表中,选择“包含”选项,然后在右边的方框中输入“高级”字符,确定返回,符合条件的数据同样被挑选出来。

提示

动画自动生成 篇3

关键词:三维动画,Maya,表达式

0 引言

Maya是业界公认的三维动画制作软件,我国的三维动漫基地普遍使用了这一软件。它强大的角色动画、动力学、毛发等功能为动画制作者提供了极大的便利。我们知道,目前动画的制作无论是物体动画、还是人物角色动画都采用的是关键帧编辑方式或运动捕捉方式。尤其是第一种方式已经成为动画业的不二法门。对于一些重复性的动画,如球体的弹跳等,Maya可以用重复循环的命令来实现。但日常生活中,除了角色的基本动作之外,还有一些随机的运动,例如人的眨眼动作、飞机飞行过程中的振动、汽车行驶中的颠簸、花瓣在水面的飘浮等,不能用简单机械的重复动画处理。本文探讨的是如何用Maya的表达式功能生成有趣的自动动画,为动画师节省大量时间,并增强动画的自然效果。

1 Maya的表达式功能

Maya的表达式(Expression)功能的作用是向Maya传达指令,从而控制对象的属性随着时间变化而产生变化。对象的基本属性有三个轴向的位移(translate)、旋转(rotate)、缩放(scale)和可见性(visibility)等。要注意的是,只有可以设置关键帧并且没有被锁定的对象属性才能用表达式可以设置动画。

Maya Expression有如下特点:

(1)表达式含有Maya全局变量,如:time(计时器)、frame(动画帧)等。(2)语法规则与Maya的脚本语言MEL的语法规则一致。(3)一般表达式是全局有效,在任意时刻都起作用,除非对time添加条件判断。(4)表达式执行方式是解释执行,速度不快,尤其是在场景中对象很多的情况下。(5)表达式中所使用的对象名称与表达式关系密切,修改对象名称后,表达式会失效。

要为动画场景中的某个对象设置表达式动画,可先选择动画对象,然后选择Window/Animation/Expression Editor打开表达式窗口。窗口下方的文本窗就是用来输入表达式语句的。表达式常常是很简单的一行或几行代码,就可以产生很有趣的动画效果。

2 几个表达式动画典型例子

在Maya中,三维物体的translateY属性控制着物体的空间位置高度,假设要为一个球体Ball设置在空中上下浮动的动画,可以在表达式窗口中找到Ball的translateY属性,并且在输入框中键入如下代码:

这里time是一个内置函数,它以秒为单位返回系统计时器的值,sin(time)用来以时间变量为基准,返回一个按照正弦曲线变化的数值,赋给球体的高度位移参数。从而使球体随着时间的变化而上下运动。

表达式也可以用来链接不同对象的属性,即一个对象的某一个属性变化引起其它对象一个或多个属性变化。

一个典型的例子是创建钟表指针的动画。假设钟表的三个指针分别被命名为:secondHand(秒针),minuteHand(分针),hourHand(时针),并且已经将其旋转中心调整到钟表中心位置,旋转轴为Z。同样,我们可以利用Maya的内建函数time来实现这一功能。

首先从秒针开始。我们知道秒针每秒钟转动6度,

根据三个对象的角度变化关系,我们可以将分针和时针的转动角度分别设置为:

这样,当播放动画预览时,就会看到三个指针分别以既定的速度转动。

另外一个典型的例子是用汽车车身的位移动作来控制车轮的转动。如图所示:我们希望当动画师选择车身沿着汽车行驶方向移动时,车轮能够自动旋转,而不需要动画师逐一为车轮设置关键帧。

这里的关键所在是将用汽车车身的移动引发车轮的转动动作,也就是要将汽车行驶的距离数据换算成车轮转动的角度值,我们可以利用半径、周长、角度以及距离之间的关系来解决这个问题。假设汽车车身命名为cheshen,其中一个车轮对象命名为chelun01,车轮半径为r,汽车开动的方向为x轴。则可以选择车轮,进入表达式窗口,在列表中选择Chelun01.rotateZ这个属性,键入如下代码:

这样,我们只要给车身制作前后移动动画,车轮就会随之自动旋转。有趣的是,如果将汽车沿x轴向负向拖动,车轮也会随之倒转,动画效果非常自然。

此外,Maya中还有几个特殊的函数和运算符,可以用在表达式中,是动画更加有趣。例如:noise函数用来产生燥波型动画,余数运算符%可以用来控制动作的时间间隔。下面这个表达式使用余数运算符%来控制粒子对象balloonShap的色彩属性rgbPP改变的时间。Frame是内置全局变量,数值为当前的动画帧号,当Maya动画帧频率设置每秒24帧时,frame%24==0表示的是每隔一秒钟。所以,这个表达式运行的效果就是每隔一秒钟,粒子系统balloonShape重新用sphrand()函数生成一次随机颜色。

3 结论

可以看出,表达式功能对于生成简单重复的自动动画非常有用,应用得当,可以增加动画效果的丰富性和有趣性,同时,也省去了动画师手动设置关键帧动画的麻烦。需要注意的是,对于同一个物体的同一个属性,只能用一个表达式进行动画设置,而同一个表达式却可以赋予一个物体的不同属性或其它物体的属性。此外,还要注意,影响用keys(关键帧)、set driven key(设置驱动关键)、constraint(束缚)、motion path(运动路径)等动画功能已经做了动画设置的物体属性,不能再使用表达式功能,否则Maya就会提示出错信息。

参考文献

[1](美)Tom Meade,Shinsaku Arima.Maya完全学习手册(The Complete Reference)[M].董梁,高文婷译.清华大学出版社:504-510.

[2]David Gould.Complete Maya Programming:An Extensive Guide MEL and C++API[M].北京:电子工业出版社.

[3]汤晓山.计算机三维动画[M].北京:清华大学出版社,2007.

[4]夏航.MAYA软件中使用MEL脚本设计粒子碰撞[J].中国现代教育装备.2010.105(17):31-34.

[5]罗汉.Maya MEL动画编程从入门到精通[M].北京:兵器工业出版社,2005.

动画自动生成 篇4

1.新建文档。

2.在文档中插入一个两列表格。

3.在A1单元格中键入要建立索引的文字。

4.在B1单元格中键入第一列中文字的索引项。其中,以“:”分隔,还可以添加次索引项和三级索引项。

提示:并排打开新建文档和要编制索引的文档,将文本从后者复制到前者表格的左列,可以快速、准确地创建索引文档。

5.按上述步骤继续添加其他索引文字和索引项,

6.保存索引文件。

7.打开要编制索引的文档。

8.执行“插入”→“引用”→“索引和目录”→“索引”选项卡,单击“自动标记”按钮,在“打开索引自动标记文件”对话框中选择要使用的索引文件,单击“打开”按钮,Word在整篇文档中搜索索引文件第一列中的文字的确切位置,使用第二列中的文本作为索引项标记,全部完成后,状态栏中将显示标记索引项的数目。

注意:如果某一文本在一个段落中重复出现多次,Word只对其在此段落中的首个匹配项作标记。

具体操作的动画演示过程如下:

动画自动生成 篇5

关键词:虚拟装配,仿真动画,快速生成,装配路径

0引言

在一个产品的生产环节中,装配是个很重要的节点。装配的工作效率和工作质量对产品的制造周期和产品的质量都有着极大的影响。随着数控机床的广泛应用,装配工作却仍是以人为主,主要依赖于工作人员的技艺水平。因此,装配质量又成了提高产品精度的瓶颈环节,利用计算机进行装配工艺设计成了现代制造系统计算机应用的难点。提高装配的工作效率和工作质量,降低装配成本,提高装配的规范化程度是虚拟装配的重要任务[1]。

本文所研究的用于虚拟装配培训的虚拟装配仿真动画的快速生成技术在保证建模软件强大的装配仿真优势的情况下,针对VRML动画编码制作过程进行分析总结,最终在CAD软件装配仿真开发环境下使用插件式开发平台的方式实现了VRML动画生成,大大提高了机械产品虚拟装配仿真动画的开发与应用范围。

1系统平台的总体设计

1.1系统平台的功能架构

根据VRML动画的开发需要,本文所述的虚拟装配培训仿真动画生成平台总共分为三大功能模块,三维模型导出、虚拟动画定义、虚拟动画导出。 如图1所示。三维模型导出是通过二次开发获取零件模型在整个机械装配体中的三维关系,并根据模型结构树录入零部件间的装配关系信息,并自动生成虚拟场景三维模型。虚拟动画定义是通过可视化操作定义或输入运动参数等信息,制作机械产品的VRML仿真动画。

1.2系统平台的流程设计

针对机械设备的VRML动画开发进行调研,总结了制作的一般过程,根据实际存在的问题及需求确立课题研究的总体思路,制定如图2所示的开发设计流程图。首先,CAD软件中建立模型并导入; 其次,将CAD系统中运动仿真关键参数转换成VRML场景中的参数,实现场景衔接; 然后,将转换后的参数填入标准格式代码中,实现了VRML运动仿真代码生成; 最后,将VRML运动仿真动画代码从生成系统中导出,成为一个. wrl文件。

2装配仿真动画制作的装配路径动画原理与碰撞检查

2.1装配路径动画原理

虚拟场景中的装配运动是有其物理运动规律的,多是以平移、旋转为主,以及既有平移又有旋转的运动,因此,装配运动可以看作是一系列具有确定运动规律的运动段的总和,即:

这里的相邻运动段mi与mi + 1之间的转折点就是运动关键点。为了便于分析与制作动画,本文将装配运动从一个关键点到另一个关键点之间的任何一种运动均简化为平动与转动或平动加转动的合成,才能适用于装配运动的实现[3]。以螺栓螺帽的装配为例,图3中螺帽从P0位置到预定装配位置P3要发生了三次变换,P0到P1位置是一次平移变换,P1到P2是旋转变换,P2到P3是平移变换,共确定出四个关键点。

根据用户和虚拟环境的交互方式,装配路径生成有两种方式: 用户预先指定装配路径的关键点,装配路径以离散点的形式进行定义与记录,通过离散点插值产生连续的装配路径; 将输入设备( 如鼠标、 激光笔、操纵杆等) 的运动与部件的运动关联,用户通过虚拟环境交互,直接控制装配路径[4]。在虚拟装配仿真动画的开发过程中,主要通过前者来生成装配路径,首先指定各部件在空间若干关键点处的平移、旋转、缩放的变化量,然后将这些数据连同模型一起导出,以VRML格式文件存储。装配路径随模型加载到场景中,用户在场景中选择要装配的部件,部件就沿装配路径运动,实现装配仿真[5]。

如果只记录关键点位置,还不足以精确描述装配的细节,所以在演示过程中采用插值法细化关键点之间的位移变化,以图3关键点为例,在“P0 → P1”的路径段设置装配时间后,就会作匀速直线运动,同理在“P1→P2”的路径段作匀速旋转运动。通过插值法运算就能使用户更流畅地观看整个装配过程,不会有跳跃感。

2.2碰撞检查

碰撞检测用于监测两对象的接触关系,以及何时、何处形成碰撞,根据机械设备物理外形的复杂性和检测精度,计算两几何模型间的相互位置。因此对简单模型例如平面与球状物体的判断比较容易, 而对自由曲 面等复杂 结构碰撞 所需的计 算量较大。

目前常用的碰撞检测算法有四种[6]: 几何分析法、扫描法、包围盒法、空间分解法。在VRML中Collision节点的碰撞检测实际上采用的是包围盒法。VRML利用Collision节点简单地实现了碰撞检测,当一个给定的节点经过某些变换( 例如被平移、 旋转、缩放等) 时,测定是否会遭遇以另一个节点形式存在的障碍物,通过ECMAScript接口,利用Collidee和Collision对象实现VRML环境下物体之间的碰撞检测。前者作为被变换的节点的代理物,包含有变换矩阵等相关参数,承载了变换矩阵的参数和其它相关数据; 后者描述了在一次碰撞的情况下, 和另一个节点相撞的一个节点的要点[7],存储有每一个待检测是否产生碰撞的表面的位置,法线,面的序号以及路径等信息。具体的属性以及成员函数如表1 - 2所示。

3虚拟装配仿真动画的快速生成技术的实现

3.1基于模板的代码生成模块的流程

基于模板的代码生成模块的流程如图4所示。 实现生成的VRML代码包括四部分: 模型节点代码、动画原型节点PROTO、动画代码和动画连续播放脚本代码。模型节点代码中包含了模型描述信息; 动画原型节点定义了动画的参数和内部的逻辑运算关系,在此,定义一个生成模块使用的模板,来完成原型节点的封装; 数据定义文件是通过键码定义或者对话框输入的形式,对动画参数设定,由于该部分参数数据量不是很大,所以,在程序实现中,并没有采用数据库单独存放,而是直接定义了一个矩阵存放; 动画代码也就是将动画原型节点输入参数进行实例化,生成了一步装配动画的动画代码; 动画连续播放脚本代码是指制作虚拟装配仿真动画时, 动画是按照装配步骤来制作的,每一步的装配对应着一步动画,在每步动画之间需要实现连续播放,这就需要生成动画连续播放脚本代码。动画连续播放脚本代码是根据每一步动画节点引用以及每步动画的持续时间来生成的。

写出代码文件功能最终将模型节点代码、动画原型节点PROTO、动画代码、动画连续播放脚本代码整合到一个VRML文件中。具体的整合方法是: 通过函数creat VRML( ) 新建VRML文档,然后通过参数赋值的方式将模型节点代码、动画原型节点PROTO、动画代码、动画连续播放脚本代码分别赋给四个文本参数,将这四个参数的内容写入新建的VRML文档。

3.2虚拟装配仿真动画的快速生成的实现

3.2.1最小运动单元装配仿真动画生成的实现

生成模板中对应的变量实际上在Solidworks运动仿真中都具有一个对应参数,生成一步装配仿真动画的过程,实际上就是将对应的参数赋予给模板中的变量的过程。其对应关系如表3所示。

由此可知,生成程序抛去赋予的过程,还必须要有获取Solidworks中对应参数的功能,以实现鼠标选取的零部件包含空间位姿信息的变换矩阵的功能,其代码实现如下:

在实际开发过程中,坐标属性会出现偏差,究其原因,是Solidworks软件与VRML的空间坐标系的不同,这有必要实现两者坐标系的统一,然后进行赋值生成。为此,设计一个输入界面来完成,如图5所示。

3.2.2由Solidworks向VRML场景坐标转换及完整装配仿真动画生成

Solidworks环境下,用卡氏右手立体坐标系统描述空间位置,三维模型相对于世界坐标系原点的位置和方向可以用一个包含16个元素的4 × 4阶矩阵表示。如图6所示,从变换功能上可将此4阶方阵分为四个子矩阵,其中左上角的3 × 3矩阵可产生比例、旋转等变换; 左下方三个ti变量分别产生沿x轴、y轴、z轴的平移变换; 右下角的s产生全局比例变换; 右侧pi可实现投影变换。

本课题研究的是机械产品的虚拟动画,针对其中的刚性物体而言,运动形式主要有两种形式: 平移和旋转,绝大多数的运动都是以这两种运动形式复合而成。位于坐标( x,y,z) 的几何模型,平移到原点,并绕过坐标原点的任意倾斜轴线旋转 θ 角时,其变换矩阵为:

其中,θ 代表零件在装配体中绕任意轴旋转的角度, n1,n2,n3为该轴的方向余弦,x,y,z分别为该零件的在空间中的位置。

在VRML场景中通过利用Solidworks API函数获取矩阵中每个元素的值,并通过Vrml Pad编辑器的API函数接受所有的值,从而获得虚拟场景中所需要的translation和rotation的值。部分代码如下:

这样,就把Solidworks三维场景中三维模型的位置关系,转换成VRML虚拟场景中识别的参数, 实现了两者坐标变换方式的统一。

单个零部件装配的过程,是由数个最小运动单元组成的,他们之间需要有脚本文件链接起来,才能使得装配仿真动画可以连贯地运行下去。

连续播放脚本实际上是一种逻辑上的关联顺序,可以实现上一步最小运动单元动画运行之后跳转到下一步动画。这种逻辑上的关系,使得完成该步最小运动单元装配动画的编辑后,点击下一步 ( 如图5所示) ,生成程序将自动在该步动画代码后面追加连续播放脚本,并给对应变量赋值。通过对单个零部件装配过程分解出的最小运动单元装配仿真动画进行串联,可以得出单个零部件的完整装配仿真动画。

4机械手虚拟装配仿真动画生成实例应用

根据虚拟装配仿真动画生成的理论,结合机械手的虚拟装配动画的生成过程,验证该理论的可行性。首先,用Solidworks打开定义约束关系的机械手的三维模型,运行“vrml动画制作”模块,系统会自动通过遍历装配体的形式把机械手的零件的名称按照一定的规则列在界面中,以方便虚拟装配动画的制作,用户可以点击相应的零件进行该零件装配动画制作时相关参数的设置,最后确定生成虚拟装配动画文件。具体操作如图7所示。

5结束语

网格计算在动画生成中的应用 篇6

关键词:网格计算,动画生成,监控

1 介绍

随着信息技术的发展, 大量的数据需要被处理。单台计算机不再能满足处理这么大量数据处理的需要。因此, 许多解决方案被提出, 其中一个就是网格并行计算。网格计算是一种管理计算机集合以实现共同任务的技术。与超级计算机相比, 网格技术是松散耦合的, 并且使用网格管理工具包, 很容易构建具有强计算能力的可扩展和安全的网格。网格技术的另一个优点是经济实惠。例如, 公司可以在自己的机器中实现其网格基础架构, 并在机器空闲时向其分配任务。

本文设计了一个用于动画生成的网格架构。第2节将介绍设计目标, 第3节将讨论网格计算结构设计细节, 然后第4节将描述硬件配置及讨论实验结果, 最后在第5节进行总结。

2 设计目标

基于具有一定数量的计算机节点的系统设计, 把pov格式文件存储在系统中的每台计算机里。每台计算机能够从pov文件生成高清晰度图像, 而生成的图像将对网格中的所有计算机可见。在生成图像之后, 任何计算机应该能够将图像逐帧转换为高清晰度动画。但在这种情况下, 在图像或者动画生成期间, CPU和内存资源将会不足。为了解决这个问题, 可通过在该系统中使用网格计算, 并且可以通过添加多个服务器节点以减少CPU和存储器的占用率, 以实现加速处理数据的目标。其中, 网格上的每个节点都应该安装Globus Toolkit工具包。

3 网格计算结构设计

3.1 可扩展性

Globus工具包为网格管理提供了一些组件。Globus资源分配和管理GRAM是使得用户能够定位、提交、监视和取消远程作业的组件之一。此外, 监控和发现服务MDS可提供有关节点的状态和可用性的信息, Grid管理器可以使用这些信息来选择使用资源。

当前网格资源管理有其弱点。公共采用的架构是2层层次资源管理。然而, 在大规模网格网络中使用该架构, 一些资源将变得不可访问。此外, 使用2层架构使得网络QoS较差。

在新的框架中, 我们提供分层资源管理器。资源管理器有三种类型: (1) 管理一个特定资源的个人资源管理器 (IRM) ; (2) 管理集群中的资源的集群资源管理器 (CRM) ; (3) 网格资源管理器 (GRM) , 用于管理整个网格网络中的资源。在4层网格网络中, IRM用在最低层级1中, 中间层采用CRM, 在顶层框架使用GRM进行资源管理。

3.2 安全性

网格的安全性通过以下手段维护: (1) 防火墙:部署防火墙以保护网格免受恶意攻击。防火墙通过检查数据包的源IP地址和目的IP地址来管理网络。恶意和可疑数据包将被防火墙从网关外部过滤。防火墙可以限制从Internet到网格的访问, 它还可以限制从网格计算系统到外部Internet的访问尝试。 (2) Globus工具包:Globus工具包适用于我们的企业动画生成网格系统的设计。它提供了一个称为“Globus安全基础设施” (GSI) 的安全标准和模块。Globus安全基础设施在网格计算环境中的计算机之间提供了秘密的、防篡改的、可委托的通信支持。我们使用非对称加密RSA用于GSI以实现安全和可认证的通信。 (3) 证书:网格上的每个用户和服务都有一个已识别的证书。证书包含主题名称、公钥、证明公钥属于主题的证书颁发机构 (CA) 和CA的数字签名的信息。 (4) 相互认证:GSI使用安全套接字层 (SSL) 进行相互认证。SSL使用1024和2048位密钥长度的RSA算法。当两个单元的网格相互通信时, 他们将首先验证对方的第三方CA。在双重验证成功之后, 然后建立连接。 (5) 密码通信:缺省情况下, GSI不保证双方之间的加密通信。如果请求机密通信, GSI可以提供用于加密和解密的共享密钥。对于我们网格的设计, GSI的这两个特性都用于保护节点和服务器之间的通信。

3.3 外部集成

在我们的实验网格系统中, 需要允许集成外部资源。为了解决这个问题, 我们部署了开放网格服务架构OGSA。OGSA通过分布式异构和动态网格环境提供服务和资源的集成, 无论是在外部资源共享或服务提供方面。我们的设计有一些要求: (1) 全局名称空间:为了容易地访问外部数据和资源, 网格系统应当能够在不考虑位置或复制的安全约束下透明地与其他节点交互。 (2) 元数据服务:我们必须认识到调用和跟踪外部资源是很重要的。我们需要访问和管理跨管理域的实体元数据的权限。 (3) 场地自治性:获取资源的机制需要符合地方控制和政策。 (4) 资源使用数据:这是在网格网络上集成和交换外部资源使用数据的机制和模式。

3.4 监控

数据收集和分布机制的尺度是非常重要的。一个监测机制应建立以监测网格系统的当前性能。当pov文件的大小, 或者动画的质量增加时, 网格系统监控机制应该能够检测相应每个节点的性能。因此, 服务器将能够注意到潜在的资源缺乏并确定节点的数量。通常, 以下特性性能监视信息是系统或程序产生的数据的最重要的部分。

4 硬件配置及实验结果

在我们的实验网格环境中, 我们部署五台计算机, 包括一个服务器和四个客户端节点组成网格网络。在服务器端, 我们部署了英特尔至强服务器。这样的处理器可以满足动画和POV射线软件实现的计算。4GB DDR3内存RAM可为网格计算设备提供高吞吐量。西部数据2TB硬盘为30分钟的动画存储提供足够的空间。AMD HD5630还提供足够的图处理。对于客户端, 主要工作是网格计算, 因此我们上面部署的设备满足要求。

通过对动画的生成演算得到的实验结果, 我们发现4节点下比2节点或1点所消耗的计算时间有所减少, 同时CPU占用率也有所减少, 可见多节点对动画演算是有作用的。

5 结论

并行计算正在成为当代计算机科学中流行和重要的概念。在网格计算的环境中, 如何有效地监视节点信息和应用性能是网格计算中的一个难点问题。本文介绍了一种基于Globus toolkit的网格计算系统组成及共同的动画演算, 并介绍了网格技术研究和设计。设计了基于多节点和多级分布式结构的运算模型。

未来我们的想法是实现自动计算节点选择算法, 并将其集成到我们的集群和网格计算平台中。每个站点中的计算节点被选择为实时提供的运算信息, 软件包还可以针对计算节点的不同速度处理器, 意味着哪个所选计算节点应当执行什么计算在异构集群和网格协定环境中。

参考文献

[1]I.A.Klimonov, V.D.Korneev, V.M.Sveshnikov.Parallelization technologies for solving three-dimensional boundary value problems on quasi-structured grids using the cpu+gpu hybrid computing environment[J].Numerical Methods and Programming, Advanced Computing, 2016, (17) :65-71.

[2]S.Iturriaga, S.Nesmachnow, F.Luna, E.Alba.A parallel local search in cpu/gpu for scheduling independent tasks on large heterogeneous computing systems[J].Journal of Supercomputing, 2015, 71 (2) :648-672.

上一篇:机械设计与安全设计下一篇:认证基本流程