APP下载

计 算 机 图 形 学 实 验 教 学 平 台 构 建

2019-05-24

实验室研究与探索 2019年4期
关键词:图形学可视化病害

王 振 武

(中国矿业大学(北京) 机电与信息工程学院, 北京 100083)

0 引 言

计算机图形学是研究怎样利用计算机表示、生成、处理和显示图形的原理、算法、方法和技术的一门学科[1],它是计算机科学中发展最活跃、应用最广泛的分支之一,在计算机视觉[2]、科学计算可视化[3]、虚拟/增强现实[4]等领域有着广泛的应用。传统的计算机图形学实验教学方式是根据课程教学大纲的要求,对计算机图形学相关算法进行编程实现与分析验证,缺乏一体化的实验平台作为支撑,更没有与学生的专业背景和行业特色进行深入融合,这使得学生对该课程的学习仅停留在对算法原理的理解层面,导致理论和行业实践严重脱节,这种教学方式已经不能适应现代教学的要求。随着高等教育内涵式发展的不断深入,特色化的人才培养模式对计算机图形学课程的实验教学方法提出了更高的要求。2012年教育部颁布了《教育部关于全面提高高等教育质量的若干意见》[5],明确提出要“促进高校办出特色,加强农林、水利、地矿、石油等行业高校建设,突出学科专业特色和行业特色”,同年,教育部颁布的《教育信息化十年发展规划(2011-2020年)》[6]中进一步强调 “要推进高等教育精品课程、教学实验平台等信息化建设”,2015年国务院办公厅颁布的《关于深化高等学校创新创业教育改革的实施意见》[7]中指出:要“探索建立跨院系、跨学科、跨专业交叉培养创新创业人才的新机制,促进人才培养由学科专业单一型向多学科融合型转变。”,2017年中共中央办公厅和国务院办公厅进一步颁布了《关于深化教育体制机制改革的意见》[8],意见进一步明确:“不同类型的高等学校要探索适应自身特点的培养模式,着重培养适应社会需要的创新型、复合型、应用型人才”。我校是一所矿业特色鲜明的全国重点大学,培养的学生主要面向矿业主战场,随着数字矿山和智能矿山技术的快速发展,可视化技术在矿山中得到了越来越广泛的应用,作为可视化技术的基础课程,如何有针对性地为矿业类高校学生开展计算机图形学的实验教学是值得深入研究的问题。

1 计算机图形学课程特点及实验教学存在的问题

文献[9-14]中对计算机图形学课程的实验教学方法进行了有益的探索,但不可否认的是,计算机图形学的实验教学仍然是该课程教学中的难点问题,这与计算机图形学的课程特点是紧密相关的。① 计算机图形学课程的学习门槛高。该课程是多学科交叉的综合性课程,要求学生具备较强的数学基础和编程能力,学生要提前掌握线性代数、矩阵理论、空间解析几何、算法与数据结构、计算机程序设计语言等先修课程。② 计算机图形学的内容抽象枯燥。该课程的主要内容包括基本图元的绘制、二维及三维变换和观察、以及真实感图形绘制技术等,课堂教学以讲授各部分内容的算法为主,部分算法原理较为复杂。③ 对学生的算法设计和编程能力要求高。计算机图形学课程讲授的是图形表示、生成、处理和显示的基本原理和算法,不但要求学生对编程语言熟练掌握,而且要对数据结构知识进行综合应用,计算机图形学的单个算法实现不容易,各部分内容融会贯通更加困难。

与计算机图形学的特点紧密相关,目前该课程的实验教学存在如下主要问题。① 实验教学内容的设置缺乏实践性和创新性。计算机图形学的验证性实验项目多侧重于对算法的简单实现,与实际应用问题关联不大,而设计性和综合性的实验项目由于实现复杂、难度过大,学生容易产生畏难情绪,实验教学效果往往不好。② 实验教学内容缺乏行业应用背景。实验内容的设计缺乏针对性和系统性,没有面向某一行业的具体问题进行系统性的设计和应用,很难激发出学生的学习兴趣和主动性。由于计算机图形学的课程特点和上述问题,学生对计算机图形学内容的理解是“碎片化”的,很难将其基本原理与相关应用领域建立起联系,更谈不上站在工程应用的角度分析和思考计算机图形学原理与可视化技术的内在关联。

针对这些问题,笔者在长期的计算机图形学教学工作中不断思考和探索,构建了面向矿业类高校的计算机图形学实验教学平台。该平台提供了计算机图形学验证性、设计性和综合性实验项目的开发框架,学生可较为方便地在该平台上实现计算机图形学知识的综合应用,另外,该平台面向矿业类高校学生提供了地下病害信息三维可视化和地层数据三维可视化两个实验教学子系统,以便学生深入理解和掌握计算机图形学基本原理如何与矿业行业应用相结合。

2 面向矿业类高校的计算机图形学实验教学平台构建

由于数字矿山和智能矿山的快速发展,我校不仅计算机科学与技术专业要必修计算机图形学课程,测绘工程等专业也要求学习该课程。为了更有针对性地开展计算机图形学的实验教学工作,构建了面向矿业高校的计算机图形学实验教学平台。

2.1 计算机图形学实验教学内容与平台框架简介

本课程采用的教材为作者自编教材[15],该教材除了讲解图形学基本算法原理外,还采用C语言和OpenGL对绝大部分算法进行了编程实现,这大大降低了学生的学习难度。本课程的实验内容包括:OpenGL编程基础及实验环境的配置、基本图元绘制、二维图形填充算法、二维变换和二维裁剪、三维几何变换和投影变换、真实感图形绘制及课程综合设计性实验等,具体内容如表1所示。在这些实验内容中,验证性实验针对的是计算机图形学的单个算法或操作,相对较好实现,而综合性和设计性的实验内容十分复杂,如果没有实验平台的支撑仅凭学生的个人能力很难短时间完成,也达不到对计算机图形学基本知识进行融会贯通、综合运用的目的,这部分内容也一直是计算机图形学实验教学中的难点问题。

表1 计算机图形学课程实验项目

计算机图形学实验教学平台的框架如图1所示,该平台采用MFC和C++语言编程实现,遵循MVC设计模式,由表示层、逻辑控制层、服务访问层和资源层组成。表示层封装了平台常用的各种操作窗口和二维/三维显示视图,所有计算机图形学实验教学内容都可在二维/三维视图中展示运行结果,平台的通用功能及操作被封装到不同窗口中;逻辑控制层实现了平台的主要业务逻辑,与“地下病害信息三维可视化”和“地层数据三维可视化”实验教学子系统相关的数据处理算法被封装在算法调度容器中,如克里金(Kriging)插值算法、不规则三角网(Irregular Triangulation Network, TIN)算法、粒子群优化(Particle Swarm Optimization,PSO)算法等。

图1 面向矿业类高校的“计算机图形学”实验教学平台框架图

在整个实验平台中,计算机图形学的实验内容被限定在“渲染引擎容器”“自定义工具包容器”“管理容器”和“数据类型容器”中实现,如图1所示的红色标注部分。例如,学生可通过实现“自定义工具包”中的“轨迹球”功能使用鼠标交互性地完成图形的平移、旋转、缩放等变换,可在“数学计算工具包”模块中实现常见的数学计算(如矩阵运算操作等)功能,在“数据类型容器”中可实现基本图元的类型定义,在“基本图元工具包”模块中实现基本图形(点、直线、圆弧、面等)的生成及填充,曲线和曲面以及真实感图形绘制技术等功能可封装在“渲染引擎容器”中实现。服务访问层实现了“地下病害信息三维可视化”和“地层数据三维可视化”实验教学子系统中相关数据类型的定义和封装,及其数据的输入和输出操作功能,而资源层则实现了对探地雷达(Ground Penetrating Radar, GPR)数据(“地下病害信息三维可视化”实验教学子系统的基础数据)、地层数据及处理结果数据的存储和管理。由于该实验平台实现了地下病害信息和地层数据的“输入→预处理→交互性操作→可视化显示→结果输出”的完整流程,使得学生可以更加深刻地理解计算机图形学基本原理和行业可视化应用的内在关联,达到融会贯通、学以致用的目的。另外,由于平台将计算机图形学的实验内容限定在“逻辑控制层”和“服务访问层”的特定模块中实现(其他功能由平台提供),大大降低了学生的实验难度,同时也激发了学生浓厚的学习兴趣。

2.2 “地下病害信息三维可视化”实验教学子系统

城市道路地下空洞、积水等病害容易引起道路的坍塌,这不但严重影响到人民的生命和财产安全,而且对地下基础设施(如通信或排水设施)也造成了严重威胁。基于探地雷达探测数据,“地下病害信息三维可视化”实验教学子系统可完成对GPR数据的读取、预处理、病害信息的交互性拾取以及二维/三维可视化展示等功能。如图2所示,平台封装了对GPR数据的读取和克里金插值预处理功能,可以采用普通克里金和基于PSO算法优化的克里金等算法对GPR测线数据进行插值处理,在X、Y和Z轴方向的插值点数量可以灵活定义。

图2 克里金插值预处理界面

如图3所示,预处理的数据在Z轴方向上包含6层,每层为6×6的正方形数据,该数据可以分别在二维视图和三维视图中显示,并利用“轨迹球”实现交互式的平移、旋转、缩放等几何变换(对应实验4和5的内容)。学生可在每层地质数据上绘制封闭式的圆、椭圆和多边形,以及开放式的折线段等来拾取地下病害信息(对应实验2的内容),平台支持同时在每层地质数据上拾取多种病害信息,如图4所示。

图3 预处理后数据的三维可视化

图4 可视化拾取病害信息

在6层地质数据上分别绘制拾取线后(见图5),学生可选定所有或部分层实现三维病害体的建模及可视化显示,如图6所示。为了更形象地展示病害体信息,学生可以综合运用光照模型、透明处理技术、纹理映射和颜色模型等真实感绘制技术(对应实验6的内容),也可以实现对病害体的交互式平移、旋转、缩放等操作(对应实验5的内容),进而从不同角度观察三维病害信息,如图7所示。

图5 所有层的病害信息拾取线显示

图6 三维病害信息可视化

图7 三维病害信息平移、旋转后可视化

为了观察病害信息的影响范围,学生也可以实现三维病害体向各坐标平面的二维投影,并用不同颜色填充显示(对应实验3的内容),如图8所示。

2.3 “地层数据三维可视化”实验教学子系统

“地层数据三维可视化”实验教学子系统可实现对地层数据、井位数据、测井数据、井斜数据及断层数据的输入、建模及二维和三维可视化操作。学生可以实现不同地层数据的全部或部分显示,可在地层数据上绘制边界(对应实验2的内容),如图9所示。

图8 XOY平面二维投影及填充

图9 地层信息二维显示及绘制边界

基于该实验教学平台,学生可以部分或全部地显示井位数据、测井数据及断层数据(对应实验2的内容),可为不同类型的数据设置不同颜色进行区分显示(见图10),也可以采用真实感图形绘制技术对层面数据及井位、测井和断层数据进行综合地三维可视化(对应实验6的内容),如图11所示。

图10 井位、测井及断层信息显示

学生也可对地层数据可实现三维平移、旋转和缩放等操作(对应实验5的内容),也可以全部或部分地显示地层数据,如图12所示。基于开发的计算机图形学实验教学平台,学生不但可以单独实现验证性实验项目,而且通过“地下病害信息三维可视化”和“地层数据三维可视化”两个实验教学子系统,可以深入全面地理解如何将计算机图形学基本原理应用到地下病害信息和地层数据的三维可视化工作中,在教学过程中受到了学生的普遍好评,实践证明基于开发的实验平台进行“计算机图形学”的实验教学是行之有效的。

图11 地层信息三维显示

图12 对地层数据实现平移和旋转等操作

3 结 语

一直以来,由于缺乏合适的教学平台,计算机图形学的实验教学效果往往差强人意。高等教育的内涵式发展,要求人才培养要由学科专业单一型向多学科融合型转变,高等学校要探索适应自身特点的培养模式。本文面向矿业类高校构建了“计算机图形学”实验教学平台,将图形学的基本原理融入到矿业行业相关应用的可视化工作中 ,不但激发了学生的学习兴趣,而且深化了学生对计算机图形学基本原理的理解,教学实践证明了该平台的有效性。

猜你喜欢

图形学可视化病害
基于CiteSpace的足三里穴研究可视化分析
早春养羊需防六大病害
思维可视化
小麦常见三种病害咋防治
葡萄病害周年防治历
果树休眠期咋防病害
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
突出实践需求的GIS专业《计算机图形学》课程优化改革
第7届国际图象图形学学术会议