学位论文 > 优秀研究生学位论文题录展示

基于OpenGL的离散粒子系统仿真的设计与实现

作 者: 胡英芳
导 师: 江顺亮
学 校: 南昌大学
专 业: 计算机
关键词: OpenGL GLUT 粒子系统 光滑粒子法 仿真
分类号: TP391.41
类 型: 硕士论文
年 份: 2010年
下 载: 140次
引 用: 0次
阅 读: 论文下载
 

内容摘要


离散粒子系统包括物理的离散粒子系统和虚拟的离散粒子系统,物理的离散粒子系统是指有大量颗粒构成的系统。虚拟的离散粒子系统,就是把连续的介质简化为大量粒子而形成的粒子系统。由于粒子系统一般包含大量的粒子,高效地计算和显示技术显得尤为重要。本文采用的离散粒子系统是用光滑粒子法模拟流体运动的粒子系统,该方法具有无网格及拉格朗日性质。本文使用的图形标准是OpenGLGLUT工具包,模拟的实例是池中的造浪过程。光滑粒子法模拟流体运动现在是研究热点,这方面做的比较好且有开放源代码的是Fluids v.l(2008年发布),我们的工作就是在这基础上进行的。Fluids v.l采用显示列表来实现粒子的显示,本文将详细分析离散粒子显示系统的各个模块及其用到的显示技术,并对它进行了一些改进。本文将从GLUT开始,分析如何在GLUT的框架下开发显示系统,然后介绍用光滑粒子法对流体进行模拟的整个流程。对于显示模块,本文将分析系统中的显示列表技术、软阴影的实现和其用到的shadow map技术、系统中为加快显示速度使用的显卡拓展功能、及将阴影帧绑定到帧缓存对象FBO(Frame Buffer Object)上的帧缓存技术。Fluids v.l采用球模型和显示列表来实现粒子的显示,它的局限是用相同的单一球模型来显示每个粒子,而且球模型是由相当数量的三角形构成。但实际的离散粒子系统,粒子的尺寸是不一致的,用不同精度的模型来显示不同粒子更为合理。但如果采用不同的球模型来显示每个粒子,Fluids v.l的性能将有数量级的下降。本文从两个方面来改进粒子的显示:一,用多个显示列表来显示不同大小的粒子模型;二,用更少的三角形来表示一个球体,而显示效果没有降低。

全文目录


摘要  3-4
ABSTRACT  4-8
第1章 绪论  8-13
  1.1 引言  8-9
  1.2 光滑粒子动力学方法(SPH)  9-11
  1.3 OpenGL的发展和应用  11-12
  1.4 论文的内容和结构  12-13
第2章 GLUT技术  13-23
  2.1 OpenGL体系  13-14
  2.2 OpenGL的功能  14-15
  2.3 GLUT类库的产生及其功能  15-16
    2.3.1 OpenGL与GLUT  15
    2.3.2 GLUT基本功能  15-16
  2.4 GLUT基本结构  16-18
    2.4.1 GLUT的初始化  16
    2.4.2 创建显示窗口  16-17
    2.4.3 设置"事件"回调函数  17
    2.4.4 窗口消息的检查  17-18
  2.5 GLUT对键盘控制的实现  18
  2.6 利用GLUT类库进行绘制  18-23
    2.6.1 GLUT的安装  18-19
    2.6.2 用GLUT实现3D动态效果  19-23
第3章 离散粒子系统:流体流动的光滑粒子动力学  23-28
  3.1 计算流体动力学方法  24
  3.2 光滑粒子动力学(SPH)法  24-28
    3.2.1 核函数的选择  25-26
    3.2.2 SPH的粒子力的计算  26
    3.2.3 SPH的计算过程  26-28
第4章 离散粒子系统显示的实现  28-41
  4.1 离散粒子系统的常用模块  28-30
    4.1.1 粒子初始化模块  28
    4.1.2 粒子的支持域搜索模块  28-29
    4.1.3 时间积分  29-30
    4.1.4 边界处理和推进模块  30
  4.2 系统的GLUT框架  30-33
    4.2.1 窗体创建模块  30-31
    4.2.2 显示模块  31
    4.2.3 窗口改变处理模块  31-32
    4.2.4 鼠标键盘事件模块  32-33
  4.3 粒子阴影模块  33-41
    4.3.1 软阴影显示  33-34
    4.3.2 Shadow map技术  34
    4.3.3 使用一般纹理对象实现Shadow map  34-37
    4.3.4 使用帧缓存对象实现shadow map  37-41
第5章 离散粒子显示的改进  41-68
  5.1 GLUT的画球函数  41-43
    5.1.1 glutSolidShpere函数  41-42
    5.1.2 模拟glutSolidShpere函数  42-43
  5.2 使用MSC绘制球体  43-45
  5.3 绘制网格  45-51
  5.4 实现MSC接口  51-54
  5.5 加入帧率测量模块  54-55
  5.6 实现自适应性的粒子显示系统  55-56
  5.7 使用显示列表加强显示效果  56-58
  5.8 实验及结果分析  58-68
结束语  68-69
致谢  69-70
参考文献  70-73

相似论文

  1. 液力减速器制动性能及用于飞机拦阻的仿真研究,TH137.331
  2. 基于陀螺和星敏感器的卫星姿态确定研究,V448.2
  3. 空间交会对接控制方法的研究,V526
  4. 船用舵机电液伺服单元单神经元PID控制,U666.152
  5. 碾压混凝土拱坝温度应力仿真分析与分缝设计研究,TV642.2
  6. 基于精细积分法的电力系统动态电压稳定仿真研究,TM712
  7. 开关磁阻发电机供电系统仿真分析,TM31
  8. 电动车用复合结构永磁同步电机系统的仿真研究,TM341
  9. HID灯整流效应的研究,TM923.32
  10. 导弹虚拟试验可视化技术研究,TP391.9
  11. 空中目标与背景的红外图像仿真技术研究,TP391.41
  12. 基于物理模型的真实感流体实时仿真技术,TP391.41
  13. 星载高光谱传感器模拟仿真系统研究,TP391.9
  14. 仿真系统模型验证方法和工具研究,TP391.9
  15. 基于逼真度的仿真系统评估研究,TP391.9
  16. 复杂仿真系统VV&A工作流技术研究,TP391.9
  17. 人脑解剖结构图谱软件的设计与实现,TP391.41
  18. 基于神经网络的水厂投药预测控制研究,TP273.1
  19. 红外成像目标模拟电阻阵电控系统研制,TJ765.4
  20. 大气层内动能拦截弹姿态控制规律设计,TJ765.23
  21. 高光谱遥感场景模型仿真研究,TP72

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 信息处理(信息加工) > 模式识别与装置 > 图像识别及其装置
© 2012 www.xueweilunwen.com