APP下载

基于三维图像采集设备的《图形学》实例化教学探索

2016-11-19童立靖

中国科技纵横 2016年4期
关键词:计算机图形学图形学三维建模

【摘 要】在计算机图形学的教学中,三维物体的创建、变换、绘制是学生理解的难点,本文通过采用三维图像采集设备,对三维目标物进行了数字化与捕捉、多边形网格建模、纹理映射、三维仿射变换、三维观察等内容,使同学们能对三维图形学的难点内容进行更为深入的理解,基于三维图像采集设备对三维计算机图形学内容进行了实例化教学探索。

【关键词】实例化教学 计算机图形学 三维建模

1 引言

目前《计算机图形学》是许多高校开设的多媒体系列课程之一,许多的《计算机图形学》课本都涉及了三维物体的数字化与捕捉、立体视图的形成、多边形网格建模、纹理映射、三维物体的仿射变换、三维场景的绘制、三维观察等内容,但目前多数的教材主要是一些理论的讲解,缺乏一些具体的实例,特别是缺少一些学生能看得见的、就在身边的、实实在在的实物实例,因而,学生学起来,缺乏足够力度的信服感,缺乏一些概念间联系的理解,对一些方法与原理,特别是对一些变换公式,理解不够深入,因此,我们觉得进行实例化教学很有必要的。

在计算机学科的教学实践中,实例化教学方法在《操作系统》、《C++程序设计》、《Java程序设计》等课程中,已有一些相关的应用介绍[1][2][3]。在图形学的教学方面,有些学者所研究考虑的是辅助软件的选择[4],有些学者考虑的是算法的演示[5],或者是对互联网辅助作用的引入[6],但在图形学方面的实例化教学方法,特别是对三维点云的采集与绘制方面,还有待进一步探索。

2 实例化教学

在我校本年度的教育教学改革与课程建设活动中,我们进行了“基于三维图像采集设备的《图形学》实例化教学探索”的课题研究,通过这一课题,丰富了我校《计算机图形学》中关于点云与纹理的实例,让学生能切实看到一个具体的三维点云与模型,及其纹理信息,以及他们间的映射。通过实例化教学,让学生更为深刻的理解计算机图形学的知识,使得理论更能被学生信服与接受,同时大大提高了同学们对图形学的学习热情与兴趣。

在本节后面的几个部分,我们将分为三维物体的数字化与捕捉、多边形网格建模、纹理映射、三维仿射变换、三维观察五个方面来分别介绍我们的实例化教学方法。

2.1 三维物体的数字化与捕捉

一般在《计算机图形学》的第一章会介绍三维物体的数字化与捕捉的过程与大致的深度成像原理。例如,我们在讲述基于结构光法获取深度图像的时候,会告诉同学们结构光法是一种借助三角原理,直接获取深度信息,从而得到深度图像的方法,是通过借助于照明中的几何信息的帮助来提取对象的几何信息的。更进一步说是摄像机、光源、与被观察物排成一个三角形,光源产生的一系列光斑或激光线条投射到对象表面,通过摄像机对这些光斑或光线条的信息采集,来对光斑或光线条进行计算,从而获取对象物体的三维模型。但同学们会不是很明白这样的设备到底是如何工作的。所以我们使用了Kinect、EVA、Spider等三维扫描仪,如图1所示,对三维物体进行数字化与捕捉,讲解了Kinect与EVA、Spider成像原理的不同,使同学们看到了用于三维成像的光斑与激光网格,对三维物体的数字化与捕捉过程能有一个清晰的了解。

2.2 多边形网格建模

多边形网格就是一组“面”或“多边形”的集合,这些多边形共同构成了一个物体的表面。在计算机图形学中,球面,圆柱,圆锥即是这样的面的平滑逼近形状。在网格建模时,可以采用三角形、四边形、多边形等。我们在讲述这一部分内容时,给出了实际的三维扫描模型捕捉的点云图像以及其对应的网格图像,告诉同学们它们的对应关系,以及它们是如何共同组成了一个三维立体模型。图2是以图书为实例进行多边形网格建模,图2(a)给出了图书一角的点云图像,图2(b)为它所对应的三角形网格模型。

2.3 纹理映射

为了使三维网格模型看起来更加真实,我们需要给三维网格模型添加纹理,例如砖块纹理或木材纹理。纹理的通常做法是被印在或环绕在网格模型的表面。同学们对具体什么是纹理,它与数字图像处理课程中所谈的纹理有什么不同,纹理是从哪里来的,纹理是如何附着在三维网格模型上的等问题比较困惑,我们利用图1中所示的三维扫描仪,对图书实例进行扫描,并给同学们展示了扫描所得的纹理图像,并利用计算机程序把纹理图像的各像素附着在图(2)b所示的三维网格模型上,得到了经过纹理映射后的三维图书模型图像,如图3所示。使得同学对前面提出的问题有了较为明晰的理解。图3(a)是以图2中图书模型实例的纹理图像,图3(b)为针对三角形网格模型映射纹理后的三维图像。

2.4 三维仿射变换

对应于二维或三维模型,我们有时想对目标对象实现的尺寸、朝向和位置更加灵活的控制。包括对物体的缩放、平移、旋转、错切等,因此,我们会使用强有效的仿射变换。对于二维图形的仿射变换,同学还好理解,但对于三维物体的仿射变换,OpenGL又是如何实现的呢?为了说清楚这一点,我们通过图(1)所示三维扫描仪,扫描了一些三维模型的实例,编写了仿射变换的相关程序,通过程序告诉同学们,许多图像平台(包括OpenGL )都提供一个图形管道,我们可以把三维模型的各个点都发送给图形管道,在图形管道上进行一系列操作,通过处理每一个点,就可以产生一个新的仿射变换后的图像。例如,图4为对图3进行纹理映射后的三维模型进行仿射变换的实例,其中,图4(a) 为针对图3(B)三维图书模型的缩小实例,图4(b)为针对图3(B) 图书三维模型缩小并平移的实例。

2.5 三维观察

三维观察是计算机图形学教学中的一个重点,通常我们把摄像机放在空间里的某点,在这位置上观察三维空间,这个三维空间称为视景体( View Volume ),是金字塔形状的一部分,那个观察点我们称为视点。视点不同,得到的三维观察结果也不同。在进行教学过程中,我们需要向同学讲清楚平行投影与透视投影的区别,以及如何进行视点位置的设定,如何进行透视变换等。通过一些实例,能够更为直观地显示不同视点位置下,三维透视变换的不同结果。比如,图5为对图3进行纹理映射后的三维模型,在不同视点下的观察结果。图5(a) 为视点在下左边情况下的三维观察结果,图5(b)为视点在中间下方位置时的三维观察结果。

3 结语

本课题的研究内容是面对《计算机图形学》课程,研究如何利用实验室现有的三维扫描与采集设备,进行三维图形图像的采集,并对课程内容进行实例化教学,以期提高教学效果。本课题的研究目标是让学生们能够通过实际采集的三维图形图像,感觉《计算机图形学》课程所教授的内容是实实在在的,所讲述的三维图形处理方法是十分具体的。通过采集实际物体的三维模型,展示了它的点云数据、多边形网格建模方法、文件存储格式、仿射变换方法、以及三维绘制、进行纹理映射等方法,对《计算机图形学》课程所讲述的内容进行了具体的映射与验证,进行了其特色为以实例为先导、以实例为印证的实例化教学探索。

致谢

本课题为北方工业大学2015年度教育教学改革课题成果----“基于三维图像采集设备的《图形学》实例化教学探索”,受到北方工业大学2015年度教育教学改革和课程建设项目的资助,在此鸣谢。

参考文献:

[1]冯丽萍,曹建芳.《操作系统》课程中抽象知识的实例化教学研究[J]. 当代教育实践与教学研究,2015,(8):16.

[2]黄晶晶,段波.实例教学法在《C++程序设计》课堂教学中的应用初探[J].软件工程师,2015,(1):25-27.

[3]高贤强,吴刚,陈立平.《Java程序设计》课程教学模式探索与研究[J].现代计算机,2013,(30):28-31.

[4]梁丽香,龙虎. MATLAB软件在计算机图形学教学中的应用[J].信息与电脑(理论版),2015,(10):113-114.

[5]张朝,许孟炜,郭秀娟,金川皓.计算机图形学算法演示系统的设计与实现[J].计算机教育,2015(19):77-79.

[6]王颖,张晓蕾. GIS专业计算机图形学教学中应用WebQuest方法研究[J]. 教育教学论坛,2015,(2):165-166.

基金项目:北方工业大学2015年度教育教学改革和课程建设基金项目

作者简介:童立靖(1972—),男,学历:博士,职称:副教授,研究方向:计算机图形学,数字图像处理。

猜你喜欢

计算机图形学图形学三维建模
农用风力发电机叶片设计
计算机图形学与图形图像处理技术
用面向科学思维的教学方法改进计算机图形学课程教学
数控仿真系统三维建模技术研究
基于GIS的网络三维系统的构建及应用
第7届国际图象图形学学术会议
非计算机专业计算机图形学教学改革初探
《计算机图形学基础教程》(第2版)