本文内容来自“图学研究”公众号,经原作者同意全文转载。
其他人转载请征得原作者同意。

计算机图形学是图学学科的杰出代表与引领者,几乎所有领域都需要,作为基础,或当做工具。面对新的理论、方法乃至硬件日新月异的发展,有些东西还是需要静下心来思考的。
认为现在对计算机图形学的学科定位是不准确的。给出了一个计算机图形学的教学框架和基本教学内容。讨论了计算机图形学的学科发展。
所谓学科定位,是指一个学科在学术体系中的位置和价值,包括学科的性质、发展方向、特点等,这是学科建设必须明确的。学科定位,不但涉及到学科的发展方向,而且涉及到学以致用的问题。
根据2009我国国家标准《学科分类与代码》GB/T 13745-2009中的名词解释,有关图的学科则分散在机械、计算机、信息与系统、电子、地球、测绘等各个领域的三级学科中(表1)。例如:“工程与技术科学基础学科(410)”下的“工程图学(41060)”学科;在“计算机科学技术(520)”的“计算机应用(52060)”下的三级学科“计算机图形学(5206030)”等。

其中,最高的是“工程图学(41060)”,属于二级学科。“计算机图形学(5206030)”属于三级学科,在一级学科“计算机科学技术(520)”的二级学科“计算机应用(52060)”下。
放在三级学科中的“计算机图形学”的定位显然是不合适的。
首先,“计算机图形学”的分类不对。它本身并不是一种独立的“应用”,所以不应列在“计算机应用”下。它的作用是科学研究、工程技术的科学基础、研究基础、工程基础和应用基础。它是涉及计算机(图形显示、程序语言、数据结构和交互技术等)、数学(向量、矩阵、变换和几何计算等)、物理学(运动、光学及颜色等)以及美学(布局、色彩等)等多学科的一个交叉,是众多计算机应用的基础与支撑。
其次,“计算机图形学”的学科“级别”太低。工程图学、计算机图形学、计算机图像学都应该是“图学”大学科下的二级学科,在“图学”一级学科还未建立之前,它至少可以放在一级学科“工程与技术科学基础学科(410)”下,与工程图学平列,列入二级学科。
最后,“计算机图形学”应属于基础学科,理科性质。计算图形学的理论、方法、技术本质上属于“计算”,而不是属于“计算机”,只是使用计算机作为工具而已。“使用”与“属于”是两个完全不同的概念,现在作家写书也用计算机,但不会去命名一个什么“计算机文学”。
只有学科的定位正确、清晰、精准,学科才能正常发展。需要给“计算机图形学”一个准确的学科定位,更高的学科地位。
作为一门课程,“计算机图形学”则需要更多的理论课时和实践时间。
晰学科内容是一个课程教学目标与教学要求的基础,也是编写教材的基础。
1)内涵分析
数字化时代是图形/图像时代,它的主要认知方式是视觉形象方式。人与计算机的联系越来越依赖于图形图像。研究图形图像的科学叫“图学”。图学是研究形和图的表示、表现以及互相关系的科学,目标是图、核心是形、本质是几何,最根本的理论基础是几何学。
图学的基本内容应该包含以下几个方面:造型理论与方法、由形→图的理论与方法、图的处理理论与方法、由图→形的理论与方法、以及图的传输理论与方法等,这些理论、方法和技术会借助于其他学科或是学科交叉。
从表现的视角理解图形(线图)和图像(点图)都只是具有线型、宽度、颜色等属性信息的点、线等基本图元的不同组合。计算机科学与技术的发展使图形与图像的区别逐渐被模糊化,例如在计算机屏幕上,展现在人们面前的,不管是图形,还是图像,都是由离散的像素组成的画面(图)。因此,在计算机语境下用“图”来统称“图形”与“图像”是合适的。
形是图之源。“形”是客观与虚拟世界的表示和构造,“图”是形在画面上展现,图的本质是表达形。属性上“形是表示,是输入,图是展现、是输出”。图由形而来,是形的载体、是形之表现,形将图形与图像从源头上统一。
在计算机中,形与图均由几何描述,这里的几何是点、线、面等,常被称为“几何元”,不同的几何元依照一定的拓扑关系构造成不同的场景,在空间构造型;通过投影在平面显示图,此时,点、线常被称为“图元”,不同属性图元的组合构造了所有的图形或图像。
计算机图形学研究的首先是图形/图像的生成,被冠以一个“绘制”这个词。为了更好地阐述绘制的理论、方法和技术,必须研究“造型”,由形而得图。
形的构造与图的形成的本质都是几何定义、构造、度量和显示,因此图学处理的主要对象是几何,主要工作是几何计算。例如光栅计算、裁剪计算、消隐计算、光照计算以及各种几何模型的生成、曲线曲面的造型等等。
一个让人纠结的问题是,计算机图形学有多个维度的不统一,因为形、图、计算三者的维度是不统一的,所以有:问题空间与计算空间不统一,思维空间与计算空间不统一。形是二维或三维的、图是二维的、计算是一维的!长期以来人们习惯的、基于代数的数计算一直隐含着“一维计算处理二维、三维问题”这样一个矛盾。一般的计算都是采用数计算机制,这使得对形的计算过程变得有点复杂:“形→数”-“数计算”-“数→形”。这样,人的大量工作就会花在“形→数”和“数→形”的转换上,这不符合人的思维习惯。因此在计算机图形学中,需要更注重对形的计算理论、计算方法、乃至计算机制的研究。
计算机图形学是多个学科的交叉。学好计算机图形学课程不仅能将计算机科学算法、数据结构、数据库、程序设计、交互技术等课程融会贯通,还将数学(几何计算、近似计算、拓扑结构等)、物理(运动、光学及颜色等)、美学(色彩等)等理论紧密地结合起来。
2)总体架构
Rogers认为计算机图形学必须考虑“图的表示机理、图的预处理、图的最终输出及如何与用户交互的问题”等4个问题,前两个问题实际上是几何的表示和创建问题,第二个问题是几何的绘制,最后是交互问题。
Miller认为计算机图形学和造型依赖于点和向量的数学运算,应使用向量几何分析去简化推导。所以计算机图形学的基本问题是几何问题,几何表示与几何计算。
根据上述对图与图学新的认识,计算机图形学的基本架构如下。
图形,其实可分成“图”和“形”。形是图之源,是图之根本,图的基础;图是形的载体,是形的表现、形的视觉表达,从计算机的角度讲,形是表示,是输入;图是展现,是输出。
常规说的图形与图像,本质上只是具有线型、宽度、颜色等属性信息的图元素(图元,含点)的组合。因此,图形与图像以及工程图等,可以由“图”去统一表述,抽象图的本质可以概括为:
图=图元+属性
在计算机中,形被称为模型,它的根本是几何。在计算机图形学中也可采用“几何(geometry)”一词替代“模型(model)”。几何可以理解为几何模型、几何创建、几何运算等,有更宽泛的含义。而模型还可用作其他表述,如光照模型、纹理模型等,非几何类。
计算机图形学主要研究两个问题:如何在计算机中“表示”和“表现”出多彩的客观世界。这里的“表示”,是如何将客观世界放到计算机中去——几何的定义与建模,可以用“造型”一词统一表述之;而“表现”,是如何将计算机中抽象的几何用一种形象的(静态或动态的图形/图像)方式表现出来——几何的视觉实现,可以用“绘制”一词统一表述之。因此可以简单地说:
计算机图形学=造型+绘制。
造型负责形的表示与构建,绘制负责形的展现和输出。从宏观上讲,造型构造模型,绘制展示模型;从微观上讲,造型决定点,绘制显示点。两者的基础是几何计算。
计算机图形学中主要是对形的计算,因此应该尽量用几何的方法去处理几何问题,综合利用数学、计算机的理论去构建几何计算的理论体系,特别要考虑几何与画法几何理论与方法在几何计算中的作用,协助去解决几何奇异这个几何计算中的关键问题,提高计算的稳定性。
交互式图形学可以提供图形通信手段,是人机交互的主要工具。
可由“基础”、“绘制”、“造型”和“交互”等4方面构建计算机图形学新架
图1给出了一个计算机图形学的总体框架,它表示计算机图形学的基础、绘制、造型和交互等4个方面的内容及逻辑关系。

图1 计算机图形学的内容及逻辑关系
数学基础包括向量、矩阵、齐次坐标和几何变换等,是计算机图形学中几何与绘制的工具,真实感图形生成过程中有大量的法向计算及直线与平面及各种曲面的计算,曲线曲面的构造与光顺更需要较丰富的数学知识等。
几何变换包括同维变换与降维变换,是计算机图形学中数学知识应用的典型代表,几何建模时的二维与三维几何变换,绘制时的三维到二维的投影变换和二维空间的窗口和视图变换等。
计算机科学中的数据结构、算法以及显示技术是计算机图形学的实施平台。
二维几何包括点、直线和圆/弧等基本几何,以及经曲线拟合及双圆弧逼近后描述的曲线等。二维几何的复杂组合构成任意平面图形,点是一个特殊的二维几何,具有属性(如颜色、亮度等)的点的组合构成图像。处理二维几何的理论与算法(如典型的布尔运算)是图形学的基础,也是工程系统(如CAD)的理论基础。
三维几何包括空间的直线、平面、曲线、曲面以及由它们的组合构造的表面或实体。一些三维几何可以通过二维几何及其组合(图形)由简单的平移、旋转等扫掠造型方法构造,也可根据三维几何间的布尔运算等三维造型技术形成更为复杂的三维几何物体。
三维几何经透视、轴轴侧等投影变换后在平面上形成图形。
上述工作可简单地划入造型类。
三维几何通过两条途径输出画面,一是通过线消隐计算得到矢量图形,二是经过光照计算(和颜色模型)的面消隐计算输出图像画面。
二维几何及其衍生的图形通过光栅化和裁剪算法以图像形式显示到画面上。
上述工作可以归入绘制类。
交互技术(Interaction)应该是计算机图形学的重要部分,也是计算机图形学相对独立的一部分,它的发展不仅反映了计算机技术从初级到高级的发展,也体现了计算机图形学在计算机软、硬件发展过程中的推动作用和发展历程。
人机交互工程属于专门的学科,不是本书所能讨论的。但是人机交互中最主要的是图形界面和图形交互,交互式图形学的研究是人机交互的关键。
3)基本内容
下面是计算机图形学(何援军,机械工业出版社,第3版)安排的基本内容。
计算机图形学最基础、最本质的是什么?作为一门课程,它的基本任务是什么?作为一本教材,它需要包含哪些最基本的内容?科学的发展十分迅速,一些方法与技术可能随硬件的更新而发展,但是它们的基础与那些特定硬件、网络协议以及一些短暂的事物并不相关。
一本计算机图形学的教材需要回答的最基本问题有两个:
在宏观上,绘制一个计算机图形学的清晰框架与认知体系,回答“计算机图形学是什么?”;
在微观上,精致编织、准确表述计算机图形学具体而细节的知识点,回答“计算机图形学有什么?”。
(1)图与图学的认知
对图与图学总体上的定位、定义的认知和对计算机图形学的计算基础的认识两个方面。
从“形”的角度去认识与表述图与图学:世界由形构造,形由图在画面上显示,因此,形是图之源,图是形的载体,图学就是研究【形→图】和【图→形】之间的转换。在这个整体上去分析图形、图像和工程图的本质属性和他们的共性,给出统一的图学之定位和定义:
图学是以图为对象,研究在将形演绎到图的过程中,关于图的表达、产生、处理与传播的理论、技术与应用的科学。
全局性地考虑计算机图形学、计算机图像学、工程图学在科学上的同一性,以及他们在学科上的分工。在这个总定义下,计算机图形学的学科地位将得到加强,计算机图形学的根本任务更为明确。在“第1章 导论”中,给出了这个学科的基本内容及逻辑关系。
加强了对图学计算基础的阐述,专门增加了“第2章 计算基础”。阐述了图学计算的内涵,分析了几何与几何计算在图学中的地位和作用,指出图学最根本的理论基础是几何学,它的计算基础是几何计算。介绍了一种基于几何问题几何化的“形计算”机制,寻求一种合适的几何计算方法与机制,使它更有利于形的表述、图的生成。它补充常规的“数计算”机制,可以从更宏观的角度去构建算法框架,使图学计算的过程更加结构化、直观化、简单化。
(2)教材的组织
向读者提供一本科学的、浅显易懂的计算机图形学教材。努力使理论更系统、更统一,实施更规范、更简单。在基本理论的叙述上更宏观、更条理化,在实施部分则更可实践、更资源化。
基本理论的叙述方面,从形的角度去统一、去阐述、去研究、去发展图学的基础理论、基本方法与典型算法,明晰图学的计算基础和应用基础。
从构造的角度阐述模型的几何品质,认识几何计算在计算机图形学中的地位和作用的根本性。
从几何奇异是造成几何造型系统不稳定性的本源入手,给出处理几何奇异的基本原则。
教材的实践方面有了较多的增加,一是增加算法的实施描述,二是为了教师上课需要,也是为学生的方便,在本书最后的附录中给出了一系列的教学资源。
教材包括绪论(1章)、4篇正文(15章)和4个附录。每章的最后均有一个小结,列出本章的基础理论和知识要点,并附加了一些习题、思考题和课程设计题等。

在章节的次序上,按照“基础-绘制-造型-交互”4篇的次序编排。绘制是关于图的内容,例如光栅计算、裁剪计算、消隐计算和光照计算等,是计算机图形学公认的、也是最基本的内容,是必须的。造型是关于形的内容,例如二、三维造型、曲线曲面和曲线拟合等,是服务于绘制的,教学范围与深度更自由一些。
编制一个完整的代码,并实现它,可能是对理论和算法认知的最高境界,教材中给出了一些经典算法的代码,便于读者能够从这些算法的实施过程中更深入地理解那些经典算法的原理。有些原理上看起来很复杂,实施时却很简单,而有些看上去很简单的原理,实施时却并非易事。
作为一本教材,注重的还是应该在理论上的阐述,不可能将这些算法都展开出来。想对书中算法的理论作深入了解的读者,可以参考作者的另一本专著《几何计算》(何援军,高等教育出版社)。
《几何计算》详细给出了300余个常用几何算法的理论、原理、方法和源代码,这些算法几乎在计算机图形学中都会用到。它与本教材的思想体系是一致的,所述的算法简洁、稳定、实用。该书已于2013年3月由高等教育出版社出版。
为了教师教学和读者应用的方便,本书给出了4个附录,作为本书的教学资源。
教学建议书按照36学时教学+18学时课程设计的教学内容与时间安排,教师可根据所教专业与实际需求自行增删相关内容。
计算机图形学作业与试题库的题目是教程每章后面所给题目的综合。教师可以从中选择一些题目供平时布置作业或在课程结束时形成试卷,也可以阶段性的布置课程设计。学生则可以预先安排自己感兴趣的题目作为项目进行训练。
课程设计指导书帮助读者在一个交互系统总体框架下选择性地实现其中的一些算法题或者稍微难一些的课程设计题。在课程设计题的前面参考性地给出了该题目的“难度系数”,有些题目甚至可以作为研究题。这样的安排,可以满足不同层次的学校、专业及学生的需求。
这些教学资源的安排希望不仅有利于教师教学的方便,也可以协助教师和学生在一个总体架构下进行有条不紊的、累进性的工作,形成自己有特色的课程资源或工作资源。积跬步以至千里,积小流以成江海。
三、学科发展
前面已经指出,计算机图形学是众多计算机应用的基础与支撑,是科学研究、工程技术的科学基础、研究基础、工程基础和应用基础。
一门学科必然涉及到科学研究,好的教材也需要科研的支撑。
1)科学研究
在科学研究方面,目前在图形学界有一些倾向:重“虚拟”研究,轻“现实”研究;重“视觉”研究,轻“实体”研究;可视化、虚拟现实、混合现实、大数据可视分析方面的研究较多,一直搞到“元宇宙”,进入了一个虚拟世界,回不到地球了。
从计算机图形学的知识领域讲,就是重“绘制”,轻“造型”。只讲了最基本的造型方法,复杂的造型理论和方法需要科研的支持。计算机图形学与工业界关系最密切的学科是CAD/CAM,例如,工业软件的实体布尔运算这类硬骨头,需要沉下心,默默无闻,敢坐冷板凳十年、乃至数十年。不积跬步,无以至千里;不积小流,无以成江海。
人说“画鬼容易画人难”。过分偏重于宏观的“显示度”,少考虑微观的“精准”度,少顾及实际应用,更多重视社会化的宣传。这种现象的出现与导向有关、与考核机制有关、……。
呼吁国家多支持“精准”计算,例如工业计算、基础计算。更多重视“现实”问题的研究。
发表论文是最初的一步,软件工程化还需要花大量的工作,软件的实施到实际应用更是一个漫长的历程。
2)学科关系
要处理好同类学科间的关系。与工程图学、图像处理等同类学科要有个粗略的分工。现在一些工程图学课程讲了计算机图形学的造型内容(利用CAD软件),而计算机图形学又去讲图像融合的内容。
用“图学”统一这三者应该是合适的。
另外,所谓“计算机图形学”,这里的“计算机”应该是计算机早期诞生时为了在计算机上显示图形图像的要求而提出的名字,现在用计算机作为工具的学科很多。而且,这里“计算机图形学”中“计算机”的实质应该是“计算”。图形学、工程图学、图像处理,都会用到计算机,都需要“计算”。因此,用“图形学”替代“计算机图形学”也是一种选择。
2022年2月21日于上海