需要金币:1000 个金币 | 资料包括:完整论文 | ||
转换比率:金额 X 10=金币数量, 例100元=1000金币 | 论文字数:7443 | ||
折扣与优惠:团购最低可5折优惠 - 了解详情 | 论文格式:Word格式(*.doc) |
摘要:随着计算机图形学的发展,真实感渲染逐渐成为了一个热门的话题。其中流体模拟由于其广泛的应用而一直被视为仿真模拟中极为重要的一部分。 本文将详细讲述以光滑粒子流体动力学理论为核心的流体模拟系统的实现。使用C++加上DirectX 11来进行主要的渲染工作,编写效果文件来实现水的各种视觉效果,同时将详细讲解用于水面三维建模的Marching Cube算法的原理和实现方法。本文还将详细讲述开发过程中遇到的种种问题以及解决方案,针对计算量较大的部分提出的优化算法等。
关键词:流体模拟;三维建模;C++;DirectX;水渲染
目录 摘要 Abstract 1.绪论-1 1.1 背景及意义-1 1.2 开发中使用的技术-1 1.2.1 C++语言-1 1.2.2 DirectX-1 1.2.3 CEGUI-2 1.3 主要工作内容-2 1.3.1 粒子系统构建-2 1.3.2 三维建模-2 1.3.3 渲染框架设计-2 1.3.4 UI设计-3 2 相关理论及算法-4 2.1光滑粒子流体动力学理论-4 2.1.1 主要的运算公式-4 2.1.1.1 粒子的加速度-5 2.1.1.2 密度-5 2.1.1.3 压力-5 2.1.1.4 粘稠力-5 2.1.2 计算流程-6 2.1.3 法线的计算-6 2.2 Marching Cube算法-6 2.2.1基本概念-6 2.2.2 算法介绍-6 2.2.3 二维空间解释-7 2.2.4扩展到三维空间-9 2.2.5 算法流程-10 3 具体实现及功能-11 3.1粒子系统-11 3.2 三维表面构建-11 3.3 水渲染-11 4 问题-13 4.1 运行效率低下-13 4.2 墙壁问题-13 4.3 水粒子触碰障碍物运动异常-13 4.4 Marching Cube算法优化问题-13 4.5 Marching Cube 生成表面不全问题-14 4.6渲染水时部分视觉效果实现的问题-14 4.7 UI输入规范化的问题-14 5 项目成果测试-15 5.1公告牌模式下的效果-15 5.2 Marching Cube 生成的表面效果-16 5.3渲染模式下的效果-16 结 论-18 致 谢-20 |