论文部分内容阅读
对农业生产过程的模拟仿真是一项极其复杂的工作,不仅要对具有不同运动方式的各种农业机械部件、生产过程中数以万计的散粒物料进行动态模拟仿真,更要实时对整个生产运作中颗粒与颗粒以及颗粒与边界之间的相互作用进行力学分析。基于农业生产过程的实际情况,显然采用离散元法对农业仿真系统进行研究是更为合理的。离散元法从微观角度对仿真系统中的每个散粒进行定量分析,不仅缩小了连续介质力学研究中的误差,而且提高了分析精确度,使仿真结果更加接近于生产实际。但是对如此大规模的颗粒进行一一处理,必定会在计算的过程中产生极为巨大量的数字信息,这就需要更为高效地对计算结果进行处理操作。仿真可视化技术不仅可以满足对结果数据进行实时分析的需求,而且更为直观、形象,因而急需对可视化在仿真系统结果处理中的应用进行研究。课题组研发的三维离散元法仿真分析软件利用Open GL以及Visual C++的基础类库MFC实现其可视化仿真系统的相关功能,其中可视化模块要完成两个工作:对几何数据的采集获取以及对模型的绘制。目前,可视化模块在程序中的应用主要有两方面:一方面,由数据库中获取边界几何信息,用于计算前对选取的边界模型进行静态显示;另一方面,由计算结果文件中读取颗粒及边界的几何信息,用于计算后对计算结果进行动态仿真播放。其中对动态播放功能的实现涉及程序计算模块与显示模块的数据交互,这需要大量对文件进行读写操作,显示结果很大程度上会受到数据量的影响,在播放大规模颗粒结果文件时会产生播放闪烁、显示效果不流畅等问题。对此,本文对三维离散元法仿真分析软件可视化实现方法进行了深入研究,并在此基础上对软件可视化模块进行改进:通过简化颗粒文件的读取过程一定程度上优化对大规模数据的动态播放效果;通过启用Open GL双缓存机制减少播放闪烁的情况。虽然三维离散元法仿真分析软件其可视化模块已经可以用于颗粒建模、边界建模以及动态播放计算结果文件,且获得了比较好的仿真效果,但是随着课题组对该软件的不断改进优化,仿真分析功能不断被扩展,有更多的信息需要以可视化的方式在屏幕上显示,有更多更为复杂的视觉效果需要被实现,因此对程序可视化模块的功能扩展是有必要的。本文通过使用Open GL几何建模、变换和矩阵堆栈、颜色和光照处理、颜色混合以及分格化等方法对三维离散元法仿真分析软件可视化模块进行功能添加:添加了用于展示边界偏转方向的全局坐标系oxyz显示,并实现了在播放计算结果文件时显示仿真时间及实际播放时间的功能,使软件可视化模块更具人性化;添加了设置仿真颗粒颜色的功能,使更多的颗粒性质能够以可视化形式显示于可视化窗口中,从而丰富了颗粒仿真显示的效果;添加了边界模型颜色设置以及透明度设置的功能,使仿真边界显示效果更加逼真、美观以及多样。通过对这些功能的添加,三维离散元法仿真分析软件可视化模块得到了较好的扩充,从而能够带给用户更好的观察效果与视觉体验。课题组开发三维离散元法仿真分析软件TDEM的一个重要目的是仿真复杂形状的散粒物料和机械部件的接触碰撞过程,为了摆脱颗粒建模对Pro/E的依赖,课题组开发了基于球体填充的三维非球颗粒建模软件。目前,该软件已经可以根据颗粒顶点及三角形网格面的几何信息完成对不规则非球颗粒的自动球体填充,并且能够很准确地完成对DXF格式扫描文件的读取以及对DXF文件内扫描内容的显示。本文在此基础上,添加了对两种不同格式的STL扫描文件进行读取以及显示的功能,扩充了软件的文件读取功能,使软件更具适应性;添加了操作更为直接的手动球体填充建模方法,大大减少用于填充颗粒的组成球个数,使填充颗粒更适合于计算并增强了用户与系统的交互性。由此,对程序现有的功能模块进行了一定程度上的扩展。最后,对本文所做工作进行了测试。验证了所做的改进对软件大规模数据动态播放效果起到优化作用;验证了所添加功能的正确性与可用性。