关键词:
QGraphicsView
地质绘图系统
多线程技术
GPU
Hilbert-R树
多层结构
摘要:
地质图形是对地质概貌的一种直观的描述,是信息可视化发展过程中的一个重要的研究课题,被广泛应用于地质相关领域。随着地质图形的应用越来越广泛,相关行业对地质图形的绘制和编辑的效率提出了更高的要求,同时也要求相关的地质绘图系统具有高重用性、高扩展性和跨平台性,因此对地质图形快速绘制方法、地质图形快速编辑方法的研究和地质绘图系统的研制拥有重要的意义和实用价值。针对目前应用较为广泛地质绘图系统软件的不可跨平台问题,以及地质勘探行业对地质绘图系统跨平台要求,本文选择Qt作为基础开发平台。但是直接基于Qt的QGraphicsView图形体系实现地质图形的绘制和编辑存在效率不足的问题,因此本文通过对QGraphicsView的图形绘制和图形编辑这两种关键技术进行解析,并对其进行改进,提出高效的地质图形绘制方法和编辑方法,并基于改进后的快速地质图形绘制方法和编辑方法完成本文的快速地质绘图系统的设计与实现。因此本文的主要工作和贡献:***图形体系解析。本文对QGraphicsView图形体系的解析主要分为两个方面:图形绘制方法和图形编辑方法。虽然Qt是开源软件,但是QGraphicsView的图形绘制和编辑方法原理未公开,因此本文通过对其源码进行分析来得到图形绘制和编辑的实现原理,同时仿真测试其性能,得到直接基于QGraphicsView图形体系实现的图形绘制和编辑的不足。2.提出了地质图形快速绘制方法:基于多线程的双缓冲图形绘制方法和基于GPU的等值线快速绘制方法。地质图形存在结构复杂、数据量大的特点,如果直接基于QGraphicsView图形体系实现地质图形的绘制,地质图形的绘制效率不能满足行业的要求,因此为了提高地质图形的绘制效率,本文依据多线程技术的特点,提出了基于多线程的双缓冲的地质图形绘制方法,另外,针对等值线这一特殊的地质图形,根据等值线的特点和GPGPU计算特点,本文提出了基于GPU的等值线快速绘制方法,提高等值线的绘制效率。3.提出了基于多线程的地质图形快速编辑方法。根据前面对QGraphicsView图形体系的图形编辑方法解析可知,如果直接基于QGraphicsView体系的图形编辑方法实现地质图形的编辑,地质图形的编辑效率不能满足行业的要求,因此为了提高地质图形的编辑效率,本文将多线程技术应用到图形编辑方法中,并采用Hilbert R树对图元进行有效的管理,同时改进编辑过程中更新机制,提出了基于多线程的地质图形快速编辑方法,满足高效、流畅的编辑的要求。4.设计并实现了快速地质绘图系统。因为跨平台性的要求和用户界面设计的便利性,我们对地质绘图系统的开发是在Qt的环境下进行的。本文的快速地质绘图系统的整体架构设计是基于层次结构思想,模块化设计思想和面向对象的设计思想来设计的,最后将本文的地质图形快速绘制方法和地质图形快速编辑方法在对应的模块中实现,完成整个快速地质绘图系统的设计和实现。最后,本文实现的快速地质绘图系统是在石油勘探行业的具体生产中进行测试的,通过在实际应用中的结果能够看出:基于本文的地质图形绘制方法可以快速地绘制各种地质图形,并且绘制出来的地质图形的精度完全能够满足石油勘探行业的需求;另外,基于本文的地质图形快速编辑方法可以为用户提供快速且流畅的编辑操作,这样有利于使用者对绘制的图形进行修饰和更改。