图形学作业报告-WenhaoYu.PDF

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形学作业报告-WenhaoYu

图形学作业报告 茶壶倒水的建模与动画 5090379126 虞文豪 目录 概述 3 算法说明 3 N-S 方程3 SPH 方法4 SPH 方法实现5 碰撞检测5 算法实现效果6 程序内容说明 7 程序使用说明 7 概述 我选择完成的是三题中的第二题:茶壶倒水的建模与动画。在实现的算法上使用了Smoothed Particle Hydrodynamics(以下简称SPH)方法求解Navier-Stokes 方程( 以下简称N-S 方程)对水流 进行物理模拟。目前的水流有流体的性质,但是要完全与水逼真还需要一些参数或者算法上 的改进与调整。 导入了一个Maya 制作的杯子作为放水的容器。导入了一个用3ds Max 制作的小房间作为场 景,场景比较简陋,之后几次作业中可能会换成更加复杂的场景。 碰撞检测方面目前只是用了简单的圆柱体计算,之后可以进一步改进为刚体粒子模型来计算 碰撞。 渲染方面添加了简单的光照与桌面的问题,没有对水进行渲染,因此水流是用粒子来表示的。 程序使用C++与OPENGL 开发,使用glut 库提供的窗口来显示。 目前因为粒子数量没有特别多,而且没有进行水流的渲染,再加上使用了多线程,因此可以 一定程度上保持实时性(在我的电脑上跑2000 个粒子大约30FPS),等到之后的作业中加入更 复杂的渲染或是对算法进行了进一步改进之后,可能会需要将动画渲染成视频等。 算法说明 本题使用了 SPH 算法来对水流进行物理模拟。SPH 是一种无网格算法,它由Lucy,Gingold 以及Monaghan 提出,它的核心思想是将流体离散化成粒子,分别对粒子进行属性上的计算 以模拟真实流体的物理特性。算法中有许多数学和流体力学的东西,我只是了解并大致理解 了一下,具体的推导和深入的理解还需要花更多时间。由于 SPH 很复杂,这里只能比较简 单地加以说明,关于SPH 更具体的说明和算法可以在 http://kucg.korea.ac.kr/education/CSCE460/ref/p_Mue03b.pdf 这篇论文中找到,这次作业中的 算法基本就是用了这篇论文中的算法。 N-S 方程 要模拟流体的物理特性,也就是要根据 N-S 方程来进行流体在各个时间点上状态的求解。 N-S 方程本身是个非常复杂而庞大的方程,通过一些流体性质上的简化可以简化方程,在水 流的建模中,可以认为水流是不可压缩的流体,因此在流体模拟的求解过程中主要用到以下 两个方程: (1) (2 ) 其中 为流体在某点的密度,V 为速率, 为流体受到的压力,g 为外力, 为流体的 粘滞系数 第一个方程保证了质量和不变。 第二个方程中, 描述了流体的加速度, 描述了流体的速度场随着速度而移动, 右边的三项分别代表着流体受到的压力,外力以及粘滞力。 SPH 方法 SPH 方法中最核心的方程为 , (3 ) 为空间某点 的流体的属性, , , 为在离 点距离为 处的点的 质量,密度以及相应的流体属性。 称为Smoothing Kernel 函数,它具有全局积分 为1 的性质。 它代表我们可以通过在一个空间中所有离散点被赋予的属性来近似计算出在真实的连续场 下这点的属性,因此我们可以通过这个方程以及它的梯度形式

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档