您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 群体动画中的运动控制---姚巍
群体动画中的运动控制计算机及信息工程学院模式识别与智能系统姚巍0830703013群体动画中的运动控制一、论文的选题依据,本课题在国内外的研究动态二、课题在理论或实际应用方面的意义、价值以及可能达到的水平三、本人对此课题开展研究的设想,拟解决哪些重点问题论文的选题依据三维群体动画的主要内容主要是对人或动物的群体行为进行模拟,如人群和兽群等。目前三维群体动画在影视,公共安全甚至是游戏领域都有广泛的应用。关于群体动画中个体及群体的运动控制是目前群体动画研究中的主要内容。在这些研究中,一个主要的方向就是找到一种方法将用户交互和群体中自主行为进行有机的结合,这就要求既要有相应的模型简化算法,又要有相对简化又不失真实性的运动计算方法。目前,群体动画运动控制中最主要的研究方向就是简化在模拟群体运动和行为时的计算量,并且找到一种易于用户进行控制的方法。群体动画的主要研究内容•问题定义:应用方向和功能的定义专用还是通用•建模:形体建模和动作库建模如何感知、如何响应•运动模拟:机械运动、路径规划•渲染:群组的渲染输出图像处理,硬件加速,基于层次细节的LOD算法国内外的研究动态•1987Reynoldsflockingbehaviors:1.定义群体动画中每个个体都要满足的三个基本规则,即靠近、对齐和碰撞避免。2.群体动画分为基于粒子系统和基于自主智能体的两种•1999Reynolds《SteeringBehaviors》:第一次提出了群体动画的三层模型。国内外的研究动态群组的控制层级国内外的研究动态•自下而上个体依靠自身的判断来决定自己的行为。个体通过对其周围环境的感知(碰撞物及目标等)与其他个体或环境之间自主进行交互。群体的特征就是由通过这些交互表现出来,而不是由用户指定。•自上而下个体依靠用户的意图来决定自己的行为。而用户则通过指定整个群体的全局意图间接完成对个体的控制。典型的方法就是矢量场。群组的控制行为策略国内外的研究动态•自下而上1.基于心理学的模型。2.基于蚁群算法的群体自主模型。•自上而下1.基于矢量场的算法。2.基于粒子群的群体动画算法。关键技术及论文的主要研究内容•群体动画的关键技术•交互控制•路径规划•碰撞检测和碰撞避免关键技术•场景划分•交互控制•路径规划•碰撞检测和碰撞避免•建模和渲染交互控制•动画师(即用户)和虚拟场景的交互用户可以通过直观的方式与场景进行实时的交互:1.通过图形界面,用户只要几个简单的输入就可以控制整个群组。2.场景对用户控制的响应是实时的。需要修改的时候不用从头开始建立群组模型。•群组中个体间以及个体与场景的交互个体具有一定的自主性,可以通过交互确定自身的行为动作。路径规划•静态路径规划整个场景信息完全可知,通过搜索完成全局的路径规划。•动态路径规划场景信息通过个体感知获得,根据获得的信息选择路径。碰撞检测和碰撞避免•引力和斥力•在路径规划时候就消除碰撞课题在理论或实际应用方面的意义、价值现在还没有一种成熟的算法,可以将自上而下和自下而上两种方法进行有机的结合。本次课题的主要研究内容就是针对该问题,通过设置优先级的方式,在基于自主智能体的群体动画模型中加入用户的交互控制。这种方法既能提高对群体运动控制的效率,又能让用户参与,保证模拟过程不失真实性,从而大大减少了动画师的劳动量和开发成本,又可以满足各种具体应用的要求。基于这些特点,本次研究还致力于开发出一个通用的群体动画模型,可以满足各种的应用要求。这样系统既能方便满足动画师的各种要求,又可以针对不同问题进行重复开发,具有一定的实际应用价值。研究设想•群体的模型的建立•群体运动矢量的计算•个体运动矢量的计算•碰撞检测和避免•群体队形的变换群体动画体系结构群体的模型的建立主要由用户控制,指定每个个体的初始位置,并且将若干个体定义为一个群体,对于每个个体,在计算其运动矢量时要考虑到其与其所在群体之间的关系。而对于个体的渲染模型以及三维场景模型采用3DMAX进行建立,并且在载入时通过与顶点无关的LOD算法进行简化。群体运动矢量的计算根据用户输入的目标,采用A*算法寻找群体的运动路径,通过A*算法不断扩展群体达到目标前所经过的节点,并且通过三次的Hermite插值生成运动路径曲线。在生成了路径曲线之后,每一帧动画渲染之前再通过计算群体在该点处运动路径曲线的切向位置,即为该帧群体的运动矢量。个体运动矢量的计算首先检查每个队形边缘的个体与场景间的关系,在检测每个相邻个体间的距离关系,根据距离生成个体的运动速率。该速率大小与距离成反比,且该速率的大小就是该个体的运动矢量的长度。其方向在没有用户输入时则与群体的运动矢量基本一致,只是为了体现个体差异,通过对每个个体根据其所处的空间位置生成一个很小随机矢量来显示偏差。在有用户输入的情况下,则对上述生成的矢量乘以用户事先设定的权值加上用户输入的矢量。对每个个体实行上述的整个过程之后就得到了个体的运动矢量。碰撞检测和避免对于群体和场景中的碰撞检测,由于要响应用户输入,所以采取动态的碰撞检测法。具体实现为每次响应完用户输入都重新执行一次A*算法,在算法执行的过程中就完成了群体与场景的碰撞检测。而个体间的碰撞检测,则通过引力与斥力法进行碰撞避免。在生成个体运动向量的时候,靠近的相邻个体间,运动速率变小并远离,而远离的则加速并靠拢。路径规划群体队形的变换群体的初始队形由用户决定,并且根据靠拢规则,在运动过程中并不发生变化。只有当群体与场景间的碰撞避免,无法在A*算法运算阶段完成时,才进行队形变换。每检测到一次队形变换,就要停止A*算法,并且变换队形形状,再执行A*算法,满足了碰撞避免的要求后,再次停止A*算法,恢复队形,再重新执行。拟解决的重点问题(1)碰撞检测和避免的效率问题。(2)用户输入控制和个体自主控制的关系。(3)真实感渲染问题。工作计划,技术路线,实验方案,预期结果1.工作计划与技术路线:(1)研究关于一般动画的运动规划问题以及群体动画中常用的运动控制方法。(2)参考一些现有的群体动画模型,找到一个合理的建模方式,简化问题的规模,提高解决问题的效率,而对于自己的改进方面则重点进行处理和实现。(3)基于VisualC++平台,用OpenGL设计一个初步的原型,并在此原型上尝试各种设想,初步实现上述的方案,并在实际应用中,根据所遇到的问题不断进行总结和改进。(4)不断实践,在实践中完善该原型。工作计划,技术路线,实验方案,预期结果2.实验方案:(1)选择编程实验工具:VisualC++6.0。(2)利用3DMAX对场景和个体进行建模。场景保存为3ds格式,而个体则保存为md2动画格式。(3)利用三次Hermite插值和随机数法生产运动矢量场。(4)用四叉树法对场景进行划分。(5)定义一个具体的运用场景,对完成的系统进行测试和实验。(6)有计划地撰写实验报告。(7)软硬件配置:操作系统WindowsXP、编程工具VisualC++6.0、建模工具3DMAX8.0。工作计划,技术路线,实验方案,预期结果3.预期结果:完成对于群体动画模型的建立,该模型同时具有自主性并且可以实时的响应用户的需求。能够快速方便的实现用户对群体动画的开发,并且能够相对真实地模拟群体的运动情况。首先通过人工智能的A*算法和矢量插值法自主地生成群体和个体的运动矢量,并且能够在自主运动过程中实时响应用户的输入,体现用户对群体的控制。在完成了整个运动控制后,还要能通过实现建立好的三维模型进行渲染输出。预计工作量及进度安排(1)2008年9月——2009年12月广泛查阅相关资料,了解三维群体动画运动控制的国内外研究现状,三维动画运动控制方面的基础知识,练习使用OpenGL进行编程,完成开题报告。(2)2010年1月——2010年4月深入研究具体的运动路径规划算法以及交互控制的方法。(3)2010年5月——2010年8月根据开题报告中所提出的预期结果编写程序完成实验原型。(4)2010年9月——2010年10月进行实验,完善原型。(5)2010年11月——2010年12月论文初稿。(6)2011年1月——2011年4月修改论文。(7)2011年5月论文定稿,参加答辩。谢谢~
本文标题:群体动画中的运动控制---姚巍
链接地址:https://www.777doc.com/doc-3534727 .html