浅谈国内图形学教育现状

最近参加了一些线上图形学教育方面的专题研讨会,一些国内做的比较好的公司以及科研机构的研究人员分享了许多相关的内容,让人受益颇多。结合各位专家的分享,以及自己在图形学领域学习研究的一些心得体会,我决定用这篇博客,来简略谈谈我对目前国内图形学教育的一些认识。希望通过这篇博客,对有志于投身图形学领域的同学与工程师,提供一些粗浅的帮助,起到一点抛砖引玉的作用。

1. 什么是图形学

要谈图形学的教育问题,首先要回归到基本定义,弄清楚什么是图形学。非常让人惊奇的是,如果你去跟一个计算机领域以外的人谈什么是图形学,对方很可能连一个模糊的概念都没有的。即使是计算机领域内的人,或许他知道CG三维动画,游戏,电影特效等相关技术在一定程度上代表了图形学,但是也很难说出这些技术的基础是什么。可想而知,对于一个非从业人员,或是希望学习图形学的学生,如果想掌握这些技术,并且搞清楚背后的理论基础,其难度有多高。这也是我在研究生时代,刚开始接触图形学时面对的问题,即仅仅知道图形学很酷,能做很多酷炫的效果,但是完全不清楚图形学到底是一门什么样的学问。

事实上,即使我已经从事图形学领域的研究工作超过6年的时间,使用过各种引擎和开源项目完成过多个科研以及工程任务,我仍然不敢说我对图形学是充分了解的。我认为精确定义图形学绝非易事。百度百科对计算机图形学的定义是:计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理算法。这个定义在我看来,是不能真正表达出图形学完整的意义的。

这里,给出一个基于我粗浅理解的图形学定义: 利用现代计算技术,解决几何,渲染以及模拟问题的工程科学。利用现代计算技术,指的就是CG中的“C”,即Computer。其实在现代计算技术尚未出现之前,在一些传统的领域,如工业设计与制造,大家都是用手工制图和人工计算的方法来完成工作。而这些相关的技术分属于物理,数学,工程设计等不同的领域。直到现代计算技术出现,这些传统问题能够通过“C”来高效的完成,进而发展出一门独立的图形学。因此,图形学必然是基于现代计算技术的发展而提出的,用以解决工程科学的问题。而这些工程问题,又大致可以分为几何,渲染和模拟几个类别。了解了图形学的定义,接下来就可以谈一下如何学习图形学了。

2. 如何学习图形学

按照图形学定义,首先需要掌握的就是现代计算技术。简单的说,在成为一个图形学专家之前,你要学会编程,成为一个程序猿。相信很多同学是从OpenGL红宝书,NEHE线上教程或者learnOpenGL博客开始学习图形学的。OpenGL是一个很好的工具,可以快速的帮助你建立一个初步的图形学概念。通过学习如何表示三角形,如何编写shader,实现对显卡渲染管线的控制来完成显示,如何映射纹理,如何控制光照等等,让你用尽可能短的时间上手图形学。经过一个完整的OpenGL课程学习,结合你掌握的编程语言,数据结构以及计算机系统,硬件体系等基础知识,你就具备了和图形学紧密相关的现代计算技术了。这是图形学学习的第一步。

学习图形学真正困难的是第二步,即学习几何,渲染与模拟的问题模型,并利用现代计算技术求解。图形学是一个非常典型的交叉学科。如果你不具备基础的数学几何分析知识,不了解物理学经典的力学方程和光学原理,不知道如何求解微分方程与有限元分析问题,不理解线性代数在实际工程中的应用,那么你根本没有机会实现图形学技术的进阶提升,更不要谈设计原创的求解方法。拿我博士阶段主攻的几何方向为例,我自学了微分几何,黎曼几何,共形几何,泛函分析,代数拓扑学,群论等课程。仅仅是搞清楚这些数学说的是什么东西,就已经让我不堪重负。花了好几年的功夫,我也仅仅是建立了一些非常初步的概念,勉强能够用一些相对简单的工具,来设计一些容易实现的方法,做一点研究。这也仅仅是基础。大量的相关工作,具体算法实现上的技巧以及主流的技术路线,都要通过大量的文献阅读和实践来积累。要知道,以上只是图形学的一个方向。其他两个方向,渲染与模拟,所涉及的大量的应用数学与物理知识,其学习的难度,一点也不亚于几何领域。由此可以知道,学习图形学,最重要的点是要有学习交叉学科的意识,要认识到图形学绝不仅仅是用用OpenGL,写一点可视化的程序那样。这门学科的背后是成体系的数学与物理知识。要想学好图形学,掌握数学和物理的基本概念是非常重要的。

3. 图形学教育现状

目前,很多高校在本科阶段都开设了图形学专业课程。总体来说,学科专业建设还是呈现一种积极发展的状态。但是,不得不承认的是,目前通行的课程设计还是集中在图形学学习的第一步,即教授学生如何使用开源工具包实现基础的可视化编程,或者如何使用一款渲染引擎。我认为,这种课程设置是不能满足图形学教育的要求的。因为,这样的课程完全没有涉及到几何,渲染以及模拟相关的理论知识。可以这样说,目前的图形学课程教会学生的是一种使用工具的方法,而不是工具背后的原理。这样的课程,也许能够教育一些专业的工程人员如何使用图形学工具,但是很难培养出能够设计图形学工具,以致设计原创算法的人才。

也许对学生在本科生阶段学习复杂的理论知识有些不切实际,但是需求端是不会迁就别人的。游戏以及影视特效公司希望招聘到能够对商业引擎进行深度定制与二次开发的工程师,研究生阶段的导师希望学生在进组后,能够快速的建立可执行的原创算法模型,以解决科研问题,发表论文与专利。那么,如果你在本科阶段没有接受过系统的图形学理论教育,你在进入新的学习阶段或者进入工业领域后,恐怕还是要去补课,或者不得不换一个相对容易的领域。非常遗憾的是,我看到大量优秀的同学,在经过一些挫折后,最后决定放弃图形学研究,转而进入其他方向。这对于图形学的学科发展来说,是非常不利的。

4. 如何改善图形学教育

要想改善图形学教育中的问题,我认为应该从产业入手。美国之所以具有强大的图形学研发与应用能力,是和先进成熟的产业密不可分的。包括动作捕捉,实时渲染等先进的图形学技术,都是因为影视游戏产业的需求而提出,并通过逐步迭代加以完善的。产业驱动为相关领域的从业者提供了丰厚的回报,同时提出了要求。这样,需求端可以向供给端提供良好的正反馈,即让大学与专业的教育机构明白,工业界需要什么样的技术和人才。相应的,我认为目前国内的图形学教育缺乏产业层面的反馈。我们还在教授老版本的图形学知识,学生不能学到最新的图形学研究问题是什么,需求是什么,什么样的知识是已经解决的,什么样的问题还是开放性的等等。学生学不到有价值的,可以实践的图形学知识,不知道学了图形学之后能做什么,那自然就没有办法坚持下去。

从产业入手,我认为提高图形学的教育质量,可以做好以下两件事:第一,鼓励图形学领域的老师进入工业界建立合作,或接受专业培训,学习最新的需求,掌握前沿的图形学领域动态信息。通过老师专利能力的提升,以补充课堂上图形学领域教育的单调且老旧的知识体系。这样,对于那些有志于投身图形学领域的同学,起码能够获得一个信息的窗口,让他们知道如果想要进一步的学习图形学的前沿知识,应当从何处着手。第二,鼓励工业界的商业公司,在高校建立联合实验室,由专家牵头,直接指导大学生,研究生从事图形学算法设计以及编程工作,获得一手的锻炼机会。图形学是一门实践要求很强的学科,需要大量的交叉领域知识。如果没有需求牵引,一般初学者是很难坚持学下来的。但是,图形学又是一门如此充满魅力的学科。如果能够让学生知道掌握图形学能够做到哪些有意义的事情,并能够直接应用于日常生活,这对初学者来说将是一个非常大的鼓励。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿老甘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值