论文部分内容阅读
在农业生产领域中,对农机部件和散粒物料之间的运动过程进行仿真模拟是非常复杂的,需要将整个运动时间分割成小的时步,采用时步迭代的方式分析部件与物料之间的碰撞过程,因此采用离散元法对运动过程中的颗粒与颗粒之间、颗粒与边界之间的接触碰撞进行模拟,从而得到并保存颗粒与边界的碰撞信息和运动趋势。但这种方法会衍生出更加庞大的计算数据,而在后续仿真演示时,又需要对每个时步内的数据进行绘制,这就给农机部件数字化设计软件的可视化模块带来更大的压力,因此需要对可视化模块进行深入研究,设计出符合用户需求的仿真演示效果。课题组所研发的基于三维离散元法的农机部件数字化设计软件的可视化模块,在进行离线可视化时,主要是将计算完成后的结果文件数据读出,将读出的每个时步内颗粒与边界的信息绘制到屏幕上,根据时步间信息的更迭模拟出颗粒与边界之间的运动过程。在这期间,需要对结果文件进行大量的数据读取并且这些数据会流入到可视化流水线上,这给可视化流水线带来了一定的负荷,同时也会出现图形渲染的速度跟不上时步更迭的速度,导致的显示效果卡顿、不流畅等现象。对此,本文针对基于三维离散元法的农机部件数字化设计软件的离线可视化功能进行了深入的研究,针对流水线上数据量过大这一问题设计改进方法;通过使用内部单元剔除技术,筛选出处于视野中的数据信息,保留粒子群外壳,通过减少需要渲染的数据信息来优化仿真演示时的播放效果。虽然基于三维离散元法的农机部件数字化设计软件的离线可视化功能较为完善,可以很好的演示出多种模拟效果,但是随着科学研究的不断深入,离线可视化功能已经不能满足一些特定研究的需要,因此本文设计并实现可视化模块的在线可视化功能,又称实时可视化。在线可视化通过对计算中的数据进行跟踪,提取到已经计算完成的时步内的数据,将已经计算好的时步的信息绘制到屏幕上,实现计算与显示的交互处理,使得用户不用等待所有时步计算完成就可以开始对仿真过程进行观察,从而更早的对仿真动态进行分析,完善了可视化功能的同时又节约了科学研究的时间。作为一个成熟的仿真软件,无论是对仿真结果的显示选择在线可视化或离线可视化都是单一的,随着研究的深入,越来越多的辅助性功能应该出现在可视化设置模块来帮助用户进行仿真结果分析。因此本文设计了可视化设置模块的扩展功能,通过调用AVIFile动态链接库完成视频录制功能,方便结果文件的传播与研究;通过设计同种功能互斥逻辑,实现功能菜单下的子功能的折叠伸展操作,增强了软件的实用性;添加了根据颗粒名称控制颗粒颜色设置功能,使得用户对不同种类的颗粒的仿真过程观察更为清晰;添加了根据边界种类控制边界颜色及透明度设置功能,研究人员通过改变复杂边界上组成零件或部件的颜色及透明度,避免了仿真运动演示时视觉上带来的混淆和误差。通过这些功能的添加,使得农机部件数字化软件的可视化模块功能更加完善,给仿真演示带来了更好的观察效果和视觉体验。针对上述工作,本文对基于三维离散元法的农机部件数字化设计软件进行了测试,通过测试验证了离线可视化改进功能对仿真演示效果的优化达到了预期的效果,以及添加的在线可视化功能和辅助功能的正确性与实用性。