新工科背景下“计算机图形学”的教学设计和探讨

2021-03-10 01:51熊丽荣秦绪佳
智能物联技术 2021年3期
关键词:计算机图形学图形学工科

汤 颖,熊丽荣,秦绪佳

(浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)

0 引言

随着大数据、云计算和人工智能等新兴技术的飞速发展, 工程领域面临前所未有的挑战和变革。当前新一轮产业革命能否成功的根本在于新兴产业人才培养能否到位。 有专家指出,相对于传统的工科人才, 未来新兴产业需要的是工程实践能力强、创新能力强、具备家国情怀有担当的高素质复合型“新工科”人才[1]。 为应对新兴工程领域的发展需求,推动产业升级和经济模式的转变,教育部提出了“新工科”建设要求,推动人才培养模式等方面的改革,鼓励高校积极开展相关专业的“新工科”研究与实践[2-3]。

“新工科”包含与计算机科学与技术相关的各专业。 “计算机图形学”是计算机科学领域中的一个重要且实用的学科,它是随着计算机硬件特别是图形显示设备的发展而逐渐产生发展起来的。在计算机中,用图形表达各种信息。由于其容量大、直观方便,更符合人们观察了解事物运动规律的习惯,因而计算机图形学目前在工业、商业、军事、教育和影视娱乐等各个领域得到了广泛应用, 已成为计算机科学中发展最快、影响最大的学科之一,并在应用中日益显示出其重要性和不可替代性。 近十年来, 随着计算机图形处理芯片性能的快速提升,计算机图形学得到了飞速发展,与之相关的计算机图形技术已经成为学术界和产业界争相研究的热点。

“新工科”环境下计算机相关专业类人才具有两大特点:一是要求很强的工程实践能力;二是具备很强的创新研发能力。 也就是要求培养的人才具备最新产业技术方面的开发能力和科研创新能力[4]。

“计算机图形学”课程的理论性、实践性和综合性都很强,对学生的程序设计与开发能力、基础数理能力和计算思维能力都有较高的要求。对高校的“计算机图形学”课程进行“新工科”建设实践,特别需要面向“新工科”人才要求培养工程实践能力强、创新能力强的高素质人才[5-6]。 此外,加强和改进大学生思想政治教育是贯彻落实“新工科”理念的必然要求,也是提高人才培养质量的有力保障。 因此本文探讨如何设计课程实验提高学生动手实践和创新能力,同时设计课程思政教育培养学生的家国情怀。通过对“计算机图形学”课程教学的改革和实践,不仅可增强计算机图形学相关人才适应产业升级的能力,也可以为其他课程与学科方向的“新工科”建设提供样例和思路[7]。

1 基于可编程GPU 的课程实验设计

传统的“计算机图形学”在培养学生动手实践环节通常采用固定图形流水线来设计图形实验,即采用OpenGL1.0(3D 图形API)来训练学生底层的图形编程能力。 随着图形处理单元GPU(Graphics Processing Unit)技术的发展,现今图形产业界和学术界已经越来越多地采用可编程图形绘制流水线来进行3D 图形的编程。 同时,随着机器学习的发展, 大量的学习训练过程需要用到GPU 进行并行加速,从而减少训练时间。 因此在实验中引入GPU让学生基于可编程图形硬件实现图形底层的功能和算法,不仅能提高学生对于算法的理解,同时还能培养学生基于GPU 的编程能力, 使得学生毕业后具备产业技术开发或科学研究上要求的底层图形硬件编程能力。

GPU 支持高并行计算, 与支持顺序计算的CPU 相比特别适合于处理具有高度并行结构的图形数据或机器学习算法,被大量应用于各种并行计算应用中。图1 给出了GPU 的流水线结构,其中本课程主要学习如何使用顶点着色器(vertex shader)和片元着色器(fragment shader)来进行编程。 课程实验主要针对计算机图形学中的三维几何变换、三维光照明计算和纹理映射。其中三维几何变换实验主要学习基于顶点着色器的编程,三维光照明计算和纹理映射实验主要学习基于片元着色器的编程。

图1 可编程GPU 流水线Figure 1 Programmable GPU pipeline

三个实验共享一个实验场景, 设置为三个球体,即太阳、地球和月亮。三维几何变换实验实现在线框图绘制效果下的自转和公转的层次几何变换;三维光照明计算实验计算三个球体的三维实体光照效果(含漫反射和镜面反射);纹理映射实验将太阳、地球和月亮的纹理映射到三个球体表面,同时保留光照效果。 上述三个实验完成,即实现了带有纹理和光照的太阳系星球,同时支持星系内球体的自转和公转运动。 通过这一个场景,学生可以逐步掌握GPU 编程的核心内容, 且最终渲染的场景让学生很有成就感,培养了3D 图形编程的兴趣。

下面我们介绍下三个实验包含的核心内容。

1.1 三维几何变换实验

实验要求:要求学生在Sun_Earth 程序(该程序包含两个球体:太阳和地球,地球可以自转和公转)的基础上添加月球,实现月球的自转和月球绕地球公转的效果。

顶点着色器核心代码:

1.2 三维光照明计算实验

实验要求:在上述三维几何变换的基础上实现三维光照效果。

片元着色器核心代码:

1.3 纹理映射实验

实验要求:在上述光照明代码的基础上添加纹理映射效果。

片元着色器核心代码:

上述三个实验的结果如图2 所示,图2a)为以几何线框图模式绘制的太阳系效果;图2b)为太阳系的三维光照绘制效果;图2c)为带纹理和光照效果的太阳系。

2 课程隐性思政元素设计和探讨

在“计算机图形学”课程的教学中需要通过隐性教育融入思政元素[8]。 教师在授课过程中不可能直接向学生传授思想政治内容,这样会显得生硬且效果不佳。 教师需要对教学内容进行分析和挖掘,将思政内容自然地融合到专业课内容的讲解中,使学生在学习专业知识的同时,也自然而然地接受了思想教育。

结合计算机图形学的教学内容,下面给出如何在教学中培养学生的工匠精神和精益求精做事习惯的具体教学案例。

第1 节给出的基于太阳系几何变换和绘制的GPU 图形实验一共三个,一环扣一环,后一个实验基于前一个实验的效果来继续做。从图2 中可以看到,三个实验的图形真实感随着几何、光照和纹理等图形算法引入而逐步加强。 在此案例中,可以采用启发式教学法,在一开始给出我们最终的目标效果,然后在教学的不同阶段让学生对比当前绘制效果与目标效果的差距, 引导学生回答还需要一步步加上哪些效果才可以达到最终效果。 这样可以由浅入深一步步引导学生学习并完成图形的真实感绘制,从而也逐步让学生感受到“工匠精神”的意义所在,即从最基础的开始,一步步加入新的内容,每步都认真踏实地完成,最终就可以绘制出具有类似星系星体运动交互效果的真实感图形。这个案例让学生明白只有具备踏踏实实的“工匠精神”才能实现有成就感的3D 效果,如果中间某一环节马虎应付,后面的效果也会打折扣,无法实现理想的绘制效果。

图2 太阳系绘制和变换实验效果图Figure 2 Rendering of the solar system and the effect of the transformation experiment

此外,计算机图形学中的光照明计算有基于顶点插值的和基于像素的这两种不同的计算方式。前者计算量较小,但是效果不太好;而后者计算量大,但是绘制效果好。 如图3 所示,图3a)是基于顶点插值的三维绘制效果,图3b)是基于像素的phong shading 光照效果。

图3 不同着色方式下的光照明效果对比Figure 3 Comparison of lighting effects under different shading methods

此案例可以采用对比教学法,先让学生实现基于顶点插值的光照明效果,然后提问这个效果是不是最好和是不是还可以提升, 通过让学生主动思考,让他们从实例效果中理解基于顶点的光照在几何不连续的表面会产生光照不连续的效果。然后提问如何生成光照连续光滑的结果,在学生给出各种方案后,引入基于像素的光照明计算方法。 最后对比这两种光照明效果,可以发现后者光照效果比前者有了显著提升。这个案例在于激发学生养成精益求精的做事习惯, 不要满足于眼前已有的效果,要不断发现可以提升的空间,并积极思考和给出解决方法。

3 结语

本文主要讨论了“新工科”背景下“计算机图形学”课程在课内实验和思政教学方面的设计。 首先结合业界最新的可编程图形硬件给出了基于GPU的三个逐步加强真实感绘制效果的课程实验,通过基于图形硬件GPU 的课程实验可以有效锻炼学生图形硬件的底层开发能力,让学生的技能更好地与业界的新技术匹配。 进一步,讨论了如何在“新工科”的背景下开展隐性思政教育,通过两个案例说明如何结合教学内容向学生传授“工匠精神”和“精益求精”的做事习惯。 上述教学探索可以有效提升“计算机图形学”课程的教学效果,激发学生的学习热情和能动性,也为高校“新工科”课程建设提供了有益的经验。

猜你喜欢
计算机图形学图形学工科
新工科下创新型人才培养的探索
新工科背景下项目推动式教学模式的探索
计算机图形学与图形图像处理技术
用面向科学思维的教学方法改进计算机图形学课程教学
三维投影变换的MATLAB实现
工科概率统计教材中引入Matlab工具的探讨
突出实践需求的GIS专业《计算机图形学》课程优化改革
工科研究生教学模式的思考与创新
第7届国际图象图形学学术会议
非计算机专业计算机图形学教学改革初探