什么是计算机图形学 (2026)

重新理解计算机图形学:三维表达与计算的协同设计

刘利刚

安徽省图形计算与感知交互重点实验室

中国科学技术大学

http://staff.ustc.edu.cn/~lgliu

 

【前言】 十三年前(2013年),笔者刚来科大工作,时常有本科学生来询问计算机图形学Computer Graphics,简称CG)是做什么的。为帮助还未接触计算机图形学领域的学生了解该学科方向,笔者特撰写了一篇《什么是计算机图形学?》的科普小文,介绍计算机图形学到底研究什么:包括几何建模、真实感渲染、动画、人机交互等几个经典方向(详细可见笔者在科大开设的CG本科课程-有录屏历届CG暑期课程-有录屏);且在长期的教学及指导研究生的过程中,发展出一套快速入门计算机图形学的有效方法(详细可见《如何自学计算机图形学?》)。十多年来,该文在网络上具有持续性的访问量,且有大量的转载(比如超星慕课博客园高校实验室等)和引用,在百度、谷歌等搜索引擎通过文名搜索一直处于顶部条目。

 

如今,十多年过去了,随着人工智能的快速发展,这个学科发生了巨大的变化

 

今天,如果你打开SIGGRAPHICCVCVPRNeurIPS等国际会议,会发现许多论文已经很难简单地归类为计算机图形学(CG计算机视觉(CV机器人(Robots,还是人工智能(AINeRF3D Gaussian Splatting、可微渲染、可微物理仿真、大语言模型、智能体、世界模型、具身智能等概念涌现而出,这些方向不断交叉融合,彼此之间的界限越来越模糊。

 

于是,这几年很多本科学生又常会来询问:既然大模型能生成更逼真的图像和视频,那么还有必要学习CG的渲染方法吗?既然AICV、机器人都在研究三维世界,那么CG还有存在的必要吗?

 

这是一个值得认真回答的问题。而要回答这个问题,我们也许需要重新思考一个更基本的问题:计算机到底应该如何表达和计算这个世界?

 

另一方面,在业界的各种研讨会上,经常遇到有人问三维世界是否有统一的表达(Representation这类问题。笔者曾多次解释到,三维世界没有统一的表达,需要根据不同的任务来设计(Design不同的三维表达和计算方法,笔者称之为三维表达与计算的协同设计(Co-Design of 3D Representation and Computation

 

【注】Representation在不同的领域里的中文翻译有所不同,数学领域经常翻译为表示(比如函数表示、参数表示、表示论),CV/AI领域经常翻译为表征(比如隐空间表征、表征学习)。在本文中,笔者更偏向翻译为表达,这更体现了CG领域研究的主要内容,就是研究三维数字世界如何描述、如何组织、如何结构化?

 

本文是笔者对2013科普小文《什么是计算机图形学?》的 范式升级,包括对AI时代下CG新范式的粗浅理解,个人的知识范围和认知能力也是有限的,值得进一步的学习和交流。如有不当之处,还请读者谅解指正。

 

一、            计算范式

从计算范式的角度来看,计算机中的任何任务,本质上都可以理解为一个从输入到输出的计算过程。这个过程包含两个部分:如何表达(Representation+ 如何计算(Computation)。二者共同决定了一个系统能够完成什么任务、计算效率如何,以及适用于哪些场景。

表达并不是孤立存在的。同一种表达,配合不同的计算方法,可能产生完全不同的能力;反过来,一种计算方法也往往需要特定的表达才能发挥作用。

 

1.       数学抽象:Y = f (X)

最简单的数学抽象就是一个函数或映射:

Y = f (X )

其中,

         X:表达

         f:计算

         Y:最终得到的结果。

因此,真正完成任务的并不是X或者f中的任何一个,而是二者组成的整体(表达+计算):

         (X, f)

这意味着,脱离具体任务和计算方法,单独去评判一个表达 X 的优劣,是没有意义的。一种表达是否好,必须看它是否适合所要完成的任务以及相应的计算方法 f

例如:

l  图像识别:X是图像,f是识别算法,Y是识别结果;

l  自动驾驶:X 可以是摄像头、激光雷达等感知到的环境信息,f 是决策与控制算法,Y 是车辆的转向、加速、减速等行为;

l  几何计算:如果任务是判断一个点位于几何体内部还是外部,隐函数表达可能非常方便;如果任务是精确的工程设计和制造,B-RepNURBS等边界表达可能更加合适;如果任务是进行交互式编辑,又可能需要参数化特征或CSG的表达。

 

2.       复杂计算:复合函数

现实中的任务通常并不是一个简单的函数就能完成的。例如,一张照片,可能要依次经历颜色空间变换、特征提取、目标检测、三维重建、场景理解等多个过程。因此,一个复杂任务往往可以看成多个子计算的组合:

f = fnf3f2f1

f (X) = fn (…f3 (f2 (f1 (X))))

这里,每一个子函数都可以理解为一次表达变换:输入的一种表达经过计算后,变成另一种中间表达,再交给下一步计算。

这种表达计算新的表达再计算的过程,其实贯穿了整个计算机科学。如果其中的每一个子函数都是神经网络,那么把这些函数层层组合起来,就形成了我们今天熟悉的深度神经网络(详见笔者的科普小文《什么是深度学习?》)。

 

3.       可微计算:逆向优化

在很多问题中,我们还希望反过来:已知一些期望结果,能不能自动调整表达或者计算方法,使最终结果越来越接近目标?例如,我们已经有大量观察数据:

(Xi, Yi)

希望找到一个函数f,使得:

f (X) ≈ Y

这就是数学上的函数拟合问题(机器学习中称为监督学习)。

如果计算过程是可微的(Differentiable),就可以利用微积分中复合函数的链式法则来计算结果对各个参数的影响,再利用这些梯度逐步调整参数,使误差不断减小。这就是深度学习能够通过反向传播进行训练的重要基础。

因此,可微计算的核心思想,就是让一个正向的计算过程能够提供反向的优化信息。

这在CG中同样非常重要。例如:

l  光线追踪如果能够计算输出图像对场景参数(几何、材质、光照、相机)的梯度,就是可微渲染;

l  物理仿真如果能够计算结果对材料、形状或外力等参数的梯度,就是可微仿真;

l  如果希望把CAD设计与CAE分析连接起来,并根据CAE仿真结果自动修改CAD模型,也需要整个计算链条能够有效地传递梯度。

而一个复杂计算由多个环节组成时,梯度通常需要沿着整个计算链条反向传播。如果某个环节无法提供有效的梯度(比如不可微或需要人工干预),就可能成为自动优化的断点。例如,CAD模型转换过程中如果存在需要人工干预的脏几何修复,就很难形成一个完整的、自动可优化的CAD-CAE计算链,则就很难做到CAD/CE一体化(本文后面会详细介绍)。

 

4.       端到端:隐藏中间过程

还有一种近年来非常重要的计算范式,就是端到端(End-to-EndE2E)计算。如上所述,传统方法往往把一个复杂任务拆成多个子任务:

X f1 f2 f3 Y

而端到端方法希望直接学习:

XfY

也就是说,不再人为设计中间的那些步骤,而是让一个大的函数(只要函数的表达能力足够强)直接从输入到输出。

现代人工智能中的许多大模型,都在大量采用这种思想。但这里有一个值得注意的问题:把中间过程隐藏起来,并不意味着中间过程不存在。它只是从人工设计的显式计算变成了模型内部学习到的隐式计算。因此,端到端方法虽然能够大幅降低人工设计中间步骤的成本,但也可能牺牲一部分可解释性、可控性以及对中间表达的直接操作能力。

这也再次回到了本文的核心问题:究竟应该把什么表达出来?什么交给计算?什么由人设计?什么让机器学习?

Y = f (X),到复杂函数的组合,再到可微计算和端到端学习,我们看到的其实是同一个基本思想的不断发展:计算系统,本质上就是表达计算的协同设计。

接下来我们将看到,CG几十年的发展,很大程度上正是一部不断设计新的三维表达、新的计算方法,以及探索二者如何协同工作的历史。事实上,类似的过程也存在于CVAI等其他领域;只是与二维图像等相对规则的表达相比,CG面对的三维世界更加复杂和多样,不同任务往往需要不同的几何、外观、物理等表达及相应的计算方法。这也使得CG形成了众多的研究分支(比如建模、渲染、仿真、动画等)。这些不同的三维表达与计算方式,以及它们之间的关系,正是本文要进一步讨论的内容。

 

二、            从渲染说起:计算机图形学的重要分支

【注:本节内容主要摘自于今年2月初笔者的一个学术报告《3D表达的发展与应用》。】

经典的计算机图形学教材通常将CG定义为:利用计算机生成、处理和显示图形的学科。这里所说的图形,就是我们在电脑屏幕上看到的图像。因此,如果从传统CG(本文也称之为狭义CG)来看,它最核心的任务就是:给定一个数字化的世界,计算出我们应该看到的图像。这个过程就叫作渲染Rendering),这里 X 是场景表达,f 是渲染计算方法,Y 就是希望得到的图像或其中的某个像素颜色。

 

1.       几种不同的渲染计算方式

从实现技术的角度来看:同样是一张图像,我们并不只有一种生成方法。过去几十年的CG,发展出了许多不同的场景表达和渲染方法。近年来,随着NeRF3D Gaussian Splatting (3DGS)以及生成式人工智能的发展,生成一张图像的方式更是发生了很大的变化。下面,我们不妨从世界如何表达,以及图像如何计算出来,即 (X, f) 是一起设计的,这个角度,看看这些不同的方法究竟有什么不同。

 

(1)     第一种方式:面表达 + 面渲染(基于物理的渲染方程)

这是计算机图形学最经典的方式。假设我们要生成一幅房间的图像。首先,我们需要把这个房间在计算机中建立起来:桌子是什么形状?是什么材质?墙在哪里?镜子怎样反光?灯在哪里?

通常,我们会用实体的边界表示物体的几何形状,比如网格曲面(Mesh)或隐式曲面;再用纹理和材质描述物体表面如何与光发生作用,比如用BRDF描述表面对不同方向入射光和出射光的反射特性;同时还需要描述场景中的光源以及观察者的位置。

有了这些信息,我们就可以根据光传播的物理规律(渲染方程),计算从场景到相机的光线传播过程,最终得到每个像素应该呈现什么颜色。这就是经典的基于物理的渲染(Physically Based Rendering, PBR)。其中最著名的一类方法就是光线追踪(Ray Tracing)。它通过追踪光线与场景中物体之间的相互作用,求解渲染方程,从而计算像素颜色得到图像。

当然,这种计算会非常昂贵。过去几十年,计算机图形学围绕如何更快、更准确地计算渲染结果,发展出了大量加速算法或并行算法,例如光栅化、光线追踪、基于蒙特卡洛采样的路径追踪(Path Tracing)、缓存计算以及AI加速等各种方法。

随着GPU不断发展,特别是专门用于光线追踪的硬件单元(RT Core)以及AI加速硬件(Tensor Core)的出现,过去需要很长时间才能完成的离线光线追踪计算过程,如今也逐渐走向实时化。

 

(2)     第二种方式:体表达 + 体渲染(基于物理的体渲染方程)

在第一种方式中,我们主要关心物体的表面。但现实世界中有很多物体,光线并不是只在表面发生作用。例如:玉石、蜡烛、牛奶、大理石、皮肤、烟雾和云。当光进入这些物体以后,会在物体内部发生散射、吸收、反射等复杂的相互作用。

这时,仅仅描述物体的表面就不够了。我们需要把物体内部也表达出来。例如,可以把物体内部所占据的空间划分成许多小体素(Voxel),每个体素记录相应的密度、颜色以及材料属性(反射率、散射率、吸收率)等信息。然后,通过体渲染(Volume Rendering)或者更加完整的参与介质光传输模型,计算光线在物体内部传播所产生的最终颜色。

问题是:这件事情非常复杂。光线进入一块玉石以后,并不是进去-出来这么简单。它可能在内部不断发生反射、散射和吸收,产生非常复杂的光路。因此,严格的体光传输计算往往非常昂贵,通常需要借助蒙特卡洛方法对大量可能的光路进行采样。

那有没有办法把这个复杂的世界简化下,让渲染计算变得更加容易?NeRF给出了一个非常有影响力的方案。

 

(3)     第三种方式:神经辐射场表达 + 简化的直线体渲染(NeRF

NeRFNeural Radiance Field,神经辐射场)是近几年计算机视觉和计算机图形学交叉领域最有代表性的工作之一。

如果严格按照物理过程来计算第二种方式的复杂体光传输,计算量非常大。NeRF采取了一个非常巧妙的思路:我们并不一定非要在渲染阶段中把所有真实的物理过程都重新计算一遍,可以预先计算好保存起来,或者用个函数逼近存储起来,这样在渲染阶段可以直接拿来使用。事实上,这种以存代算的思想在CG中早就有了,比如Texture Baking(纹理烘培)、‌PRT‌Precomputed Radiance Transfer,预计算辐射传输)、‌DDGI‌Dynamic Diffuse Global Illumination,动态漫反射全局光照)等。

如果我们的目标只是新视角合成(Novel View Synthesis, NVS)问题:给定某物体的多视角图像,从其他角度看这个物体,它应该是什么样子?那么,我们可以把问题简化。NeRF把三维空间看成一个连续的。对于空间中的一个位置以及一个观察方向,神经网络可以存储或预测这个位置的密度以及从这个方向看过去应该呈现的颜色。然后沿着相机射出的视线,对这些信息进行求和体渲染,就可以得到最终的像素颜色。

这里发生了一个非常重要的变化。在传统物理渲染中,我们表达的是:物体是什么、材料是什么、光从哪里来,然后根据物理规律计算它最后看起来是什么样。而NeRF比较简单直接:这个空间位置,从这个方向看过去,应该是什么颜色?也就是说,它把一部分本来需要通过复杂光学计算才能得到的信息,直接进了场景表达之中。从另一个角度理解,NeRF是将传统的体渲染进行了两种简化,一个是光路简化,不再是复杂光路而是直线光路,另一个是材质简化,不再发生反射和散射,只有透明属性(吸收率)。

可以把它通俗地理解为:传统渲染更多是现算,而NeRF在很大程度上是先存下来,再拿来用(以存代算)。当然,NeRF并不是简单地把每一个体素的颜色存下来。它使用神经网络对连续空间中的这种辐射场进行表达,因此可以用紧凑的方式描述一个复杂的三维场景。更重要的是,这种表达和渲染过程是可微的(Differentiable)。

NeRF之所以能够成功,主要原因就是它不像传统渲染(方式一和方式二)那样每次重头计算图像,而是以存代算且用在了NVS 这个问题上,即给定一个场景的多个视点的照片,如何计算出新视角的图像?事实上,这个NVS问题在CGCV也研究了近四十年,以前称为View MorphingView Interpolation,上个世纪90年代的View morphing, Light field, Lumigraph, MPISiggraph论文都给出了不同的解决方案(基于几何和物理的方法,根据已有视点的图像来插值与估计新视点的图像)。从本质上来看,给定的多视点图片可以看成是大自然已在若干视点渲染好的结果,其中就蕴含着一个辐射场,NeRF只要将这个辐射场拟合求解出来即可。

于是,NeRF可以利用不同视角拍摄的照片,不断优化这个神经辐射场,直到从不同角度渲染出来的结果与真实照片(大自然渲染的结果)尽可能一致。NeRF的另一个成功之处在于,它改变了我们对什么可以算作一个三维世界的表达的认识。

 

 

(4)     第四种方式:高斯基元RBF辐射场表达 + 光栅式的体渲染(3DGS

NeRF之后,3D Gaussian Splatting3DGS)又带来了一个非常有意思的变化。与NeRF一样,3DGS也是将辐射场预存起来,只是表达方式更加显式:3DGS使用大量三维高斯(3D Gaussian)作为基本的场景基元来存储辐射场。你可以把每一个高斯想象成一个有大小、有方向、有透明度和预存颜色的小云团。许许多多这样的小云团组合起来,就可以表达一个复杂的三维场景。从数学上看,这实际上可以理解为一种以高斯函数作为基函数的线性组合表示方式,本质上是使用三维径向基函数(Radial Basis Function, RBF)逼近方法来表达辐射场。

然后,当我们改变相机位置时,只需要把这些三维高斯函数投影到屏幕上,并按照一定的顺序进行合成,就可以快速得到图像。一个场景由许许多多可以直接操作的高斯基元组成,而这些基元又可以非常高效地通过GPU进行投影计算(光栅式渲染)得到渲染结果。

由于高斯基元的个数远少于体素的个数,3DGS能够实现比NeRF快得多的渲染计算。这里再次体现出了一个非常重要的思想:改变表达方式,往往就等于改变了计算方式。如果我们坚持使用一种表达,就只能不断优化对应的算法。而如果我们重新设计表达,整个计算过程也可能随之改变。

 

(5)     第五种方式:潜空间表达 + 生成网络(生成式AI

接下来,我们来看近年来变化最大的一种方式:生成式人工智能。

现在我们可以通过文本作为输入给到一个生成模型:珊瑚礁间游弋的鱼群,模型就可以生成一张非常逼真的图像。其原理的一个非常直观的理解是:模型首先把图像、文字等信息转换成适合机器处理的数字表示,例如词元(Tokens)或潜空间表达(Latent Representation),然后通过在海量图像、视频及其相关信息上的训练,学习这些数据之间复杂的统计规律。训练完成以后,给模型一个新的输入,它就可以根据学到的规律生成一个新的图像。

因此,它和传统CG采用了完全不同的思路。传统CG大致是:先描述一个世界,再根据物理规律计算它应该产生什么图像。生成式AI则更像:从大量已经存在的图像中学习什么样的图像是合理的,然后根据输入条件生成一个新的结果。这里不再需要显式地写出:这是一个杯子,这是玻璃材质,这是一个光源,这是反射过程……”这些信息并没有以传统CG那样明确的形式存在,而是被隐含地编码在大模型的参数和内部表示之中。因此,这种方法是一种完全数据驱动的生成计算。

而且它具有一个非常有意思的特点:同一个输入,运行多次,可能得到不同的合理的结果(注意:这里只能说是合理的,而不能说是正确的,因为对同一个文本描述,一千个人有一千种对画面不同的想象,一千个人眼中有一千个哈姆雷特)。这是因为它学习到的并不是一个确定的函数,而是一个复杂的概率分布。当然,今天我们已经可以通过各种条件控制、结构约束和控制网络等技术,大幅提高生成结果的可控性。

 

2.       生成图像的两种范式

对于图像应该怎样生成这个问题,传统CG给出的答案是,把世界表达清楚,然后根据物理规律计算;生成式AI给出的答案是,从海量数据中学习世界与图像之间的统计规律,然后生成一个合理的结果。

这两种方法的区别,笔者试图来打个比方理解下。假设有两位画家。第一位画家非常喜欢物理学。他画一幅房间之前,首先把整个房间研究清楚:桌子在哪里?桌子是什么材质?墙在哪里?灯在哪里?玻璃怎样反射光?他把这些信息全部记录下来。然后,根据光学规律,一步一步计算:每一个像素应该是什么颜色?这就是传统CG。他相信:如果我把世界描述清楚,就可以根据规律算出图像。

第二位画家完全不同。他不一定知道光学规律。但他看过几十亿张图片。他看过无数条鱼、无数个珊瑚礁、无数个海底。于是,当你告诉他:请画一张珊瑚礁间游弋的鱼群的图像。他会根据自己从大量数据中学习到的规律,生成一幅新的画面。如果你问他:为什么这条鱼是这个颜色?他可能无法像第一位画家那样,指出一个明确的光学计算过程。因为这些规律已经被隐藏在他的模型参数之中。这就是今天的生成式AI。他相信:见得足够多,就可以学习如何生成图像。

我们不能简单地说哪位画家先进或落后,或者说:AI已经比传统CG先进,所以传统CG没有用了。只是需要理解它们采用了完全不同的表达和计算方式:第一种方式具有明确的世界表达和物理计算过程,因此结果具有很强的可解释性和可控性;你可以直接修改几何、材质、光源和相机,再重新计算结果。第二种方式则充分利用了数据中蕴含的统计规律,因此能够产生极其丰富、逼真的视觉结果(传统CG的几何、材质及物理计算都是真实世界的近似,渲染的结果可能有损而不够逼真),甚至能够生成传统CG很难直接描述的内容。它们各有优势,也各有局限,适用于不同的应用场景,在此就不再详细阐述。

真实的人类中同时存在着这两类画家。大部分画家会系统学习绘画知识和技巧,比如学习素描,包括构图、空间透视结构、光影、明暗阴影、色彩等空间关系及色彩的第一性原理要素。也有少部分的天才画家,比如元末画家王冕,出身贫寒放牛娃,无师承、无科班,靠观察自然与自学古人墨迹成名,诗画双绝。

 

 

3.       小结:五种渲染方式

回顾和总结下生成图像的五种渲染计算方法。前两种方法都属于经典的基于物理的计算。我们显式表达:几何、材质、光源、相机;然后通过明确的物理规律计算图像。因此,这是一个Model-based(基于模型)的计算范式。表达是什么、计算过程是什么、每一个像素为什么得到这个颜色,我们都是一清二楚的。

而生成式AI又走向了另一个方向。它甚至不再显式建立一个传统意义上的三维场景。没有明确的几何,没有明确的材质,没有明确的光源,也没有显式的渲染方程。这些复杂的信息被隐含在模型的参数和内部表示之中。因此,它是一个Data-driven(数据驱动)的计算范式

NeRF3DGS则处在两者之间。它们都不再试图完整地恢复传统意义上的几何、材质和光照,而是通过以存代算直接把与从某个视角看起来是什么样相关的颜色信息编码到场景表达中。它们是用更适合渲染的表达,换取更高效的计算,换句话说,是以合适的,减少昂贵的。事实上,NeRF3DGS给出了空间图像的两种参数化表达,即给出了一个静态场景的任意视点的图像(预先给定视角的那些图像只是空间图像的若干采样);如果场景是动态的,即空间视频,则需要用4DGS来表达。

可以看出这些方法各自的优劣:第一和第二类方法适合场景编辑(制作态数据);第三和第四类方法适合高效渲染(运行态数据或渲染态数据);而第五类方法适合产生大量的结果作为启发和创作。

 

 

4.       广义渲染

按照传统CG,渲染通常被定义为:根据一个已经建立的三维场景,计算最终的二维图像。但是,如果我们把渲染进一步抽象为:从某种数字表达出发,通过某种计算产生视觉结果,那么,NeRF3DGS甚至今天的生成式模型之间,就可以放在一个更加宽广的框架下理解。

在这个意义上,笔者已在今年的教学中(科大本科CG课程2026)将这种更宽泛的概念称为广义渲染。经典CG中的光栅化、光线追踪和路径追踪,是一种渲染计算(狭义渲染);NeRF3DGS,是另一种渲染计算;而生成式模型从文本、图像等输入直接产生视觉结果,也可以看作一种更加广义的渲染计算。它们的共同点并不是都在使用传统意义上的渲染方程,而是,它们都在回答一个问题:如何通过某种表达和计算,从输入得到我们最终看到的视觉结果?人们通过视觉结果的呈现来理解图像所展现的三维数字世界。注意:虽然人们看到图像后能够理解其展现的三维世界,但是渲染结果背后可以有三维数字表达(比如Mesh3DGS)、也可以没有三维数字表达(比如生成式AI)。

随着CVAI等学科的快速发展,新的三维表达与生成计算范式不断涌现,也促使我们重新思考渲染究竟是什么。渲染的内涵正在不断拓展,CG的研究范畴和边界也随之发生了深刻变化。

 

三、            是否有统一的三维表达?

从上一节介绍的几种渲染方法可以看到,不同的方法采用了不同的三维表达。这些年,经常听到有人问如下类似的问题:为什么我们需要这么多不同的三维表达?哪一种表达最好?未来会不会出现一种统一的三维表达,能够满足所有应用的需求?

笔者的观点是,寻找一种适用于所有任务的统一三维表达,这并不是个有意义的问题。因为,不同的任务,对三维世界的要求并不相同;而不同的表达,也往往对应着不同的计算方式。例如,

l  如果我们的目的只是:看起来像真的。那么,对于以新视点呈现为主要目标的任务,NeRF或者3DGS这样的表达可能非常合适。我们并不一定需要恢复一个在几何意义上完全精确的三维模型,只要它能够从不同视角生成与真实场景足够接近的图像即可。

l  如果我们的目的是:我要修改这个模型。那么,Mesh、材质以及其他具有明确结构和语义的显式表达就更加重要。我们希望能够移动顶点、修改曲面、改变材质,并对模型进行各种编辑操作。

l  如果我们的目的是:我要设计一个真正能够加工制造的零件。那么,对几何精度、拓扑关系以及设计与制造语义都有严格要求,此时NURBSB-RepCAD几何表达仍然具有不可替代的价值。

l  如果我们的目的是:我要计算这个物体受到外力以后会怎样变形。那么,我们又需要适合数值计算的表达,例如用于有限元分析计算的表面网格、四面体网格等,并且还需要相应的材料属性和边界条件。

同一个三维物体,仅仅因为任务不同,就可能需要完全不同的表达。因此,与其追求一种最好的或者万能的三维表达,不如问一个更加实际的问题:针对特定的任务,我们应该怎样设计三维表达,使它既能够准确描述我们真正关心的信息,又能够高效地支持后续的计算?

从这个角度看,世界并不存在一种适合所有任务的唯一表达,也没有脱离应用场景的统一表达;只有针对特定任务、与特定计算方式相匹配的合适表达。

而如何根据任务设计合适的表达,并使表达与计算协同工作,恰恰是CG长期以来一直在研究的核心问题之一。这是我们重新理解CG的一个重要入口,CG不仅是在生成图形,也在研究如何表达我们所要计算的世界。

 

 

 

四、            重新理解计算机图形学:三维表达与计算的协同设计

上一节我们看到,同一个三维世界(场景或物体),因为任务不同,需要采用完全不同的三维表达与计算方法。那么,为何需要这么多不同的三维表达:为什么CAD使用NURBSB-Rep?为什么计算机图形学使用Mesh?为什么NeRF选择神经辐射场?为什么3DGS选择一组3D Gaussian?为什么物理仿真又需要另一套适合数值计算的网格?

这些三维表达是怎么来的?

答案是:这些三维表达并不是随意选择的。它们背后都有一个共同的问题:为了完成某一项任务,我们究竟应该保留世界中的哪些信息?又应该用什么方式来组织和描述这些信息?

 

1.       表达是为任务和计算服务的

现实世界非常复杂。一个杯子有形状、颜色、材质、重量、硬度等许多属性。但如果我们只是想在电影中看到它,并不需要知道它的重量;如果要修改它的形状,就需要明确的几何结构;如果要把它加工出来,就需要精确的尺寸、曲面和拓扑;如果要模拟它摔落后的变形,又需要适合物理计算的表达。

因此,我们并不是要在计算机中完整复制现实世界,而是要根据任务,选择性地表达我们真正需要的信息。这也意味着,表达不是孤立存在的,它总是和后续的计算联系在一起。正如第一节所阐述的,表达与计算 (X, f) 往往需要协同设计:

不同任务 不同表达 表达与计算的协同设计

 

2.       设计各种三维表达,一直存在于计算机图形学中

CG的一个核心任务,是设计如何表达三维世界:Bezier曲线、B样条、NURBSMeshSubdivision Surfaces、隐函数等,都是针对不同任务设计出来的表达。

Mesh、纹理、材质由于便于编辑和修改来生成三维资产,且产生了适用于这些表达的光栅、光追的渲染算法,广泛应用于游戏行业中。

NURBS并不是因为比Mesh更先进才用于CAD,而是因为工业设计和制造需要精确、可编辑并具有明确几何意义的表达。假设我们要设计一辆汽车。对于电影来说,我们希望汽车看起来漂亮、真实。对于游戏来说,我们希望它能够快速渲染。但是对于汽车工业设计来说,问题完全不同:车门的曲面是否光滑?是否光顺?尺寸是否精确?零件之间能否装配?模型能否进行后续的工程分析?最终能否真正制造出来?为了满足如上的需求,数学家和工程师们在上个世纪60-70年代提出了基于NURBS表达的设计方式和设计系统,之后成为现代工业产品外形的几何表达的国际标准,现在已深深嵌入到整个工业体系和制造产业链中。

同样,NeRF3DGS也不是为了取代NURBS,而是针对NVS这一任务,选择了更加适合渲染的表达。

因此,从这个角度看,计算机图形学几十年的发展,在很大程度上也是一部不断设计新的世界表达的历史。

 

3.       表达设计表征学习

人工智能的发展又带来了一个新的变化。过去,我们主要由人根据数学、物理和应用需求来设计表达;而今天,机器也可以从海量数据中学习适合特定任务的内部表示,这就是大家熟悉的表征学习(Representation Learning)。

两者关注的问题其实有相似之处:什么样的表示,更适合完成后续任务?区别在于,传统CG更多强调人来设计表达,而AI则更多强调从数据中学习表征。未来,两者也可能进一步结合:人负责设计表达的基本框架和计算机制,机器从数据中学习其中难以人工刻画的部分。

从这个意义上说,AI并不是让表达设计失去了意义,反而让这个问题变得更加重要:什么应该被显式表达?什么可以隐式编码?什么应该被学习?什么应该通过计算得到?这也许正是我们重新理解计算机图形学的一个重要入口。

 

4.       计算机图形学的挑战:三维表达与计算的协同设计

在此,笔者尝试重新理解计算机图形学,将其定义为:

一门面向不同任务,关于数字世界的三维表达与计算的协同设计的学科。

计算机图形学的一个核心任务,是设计如何表达三维世界。但这种表达从来不是孤立设计的。针对不同任务,我们需要同时考虑如何计算,因此更准确地说,是三维表达与计算的协同设计,即表达(Representation+计算(Computation的耦合关系。

同一个现实世界,可以有很多种不同的数字表达;不同的数字表达,并不是谁更好,而是谁更适合某一种计算任务。表达并不是孤立存在的,本身应该就是计算的一部分,它总是和计算共同组成一个计算系统。

CG的研究就在于,如何设计一种数字表示,使它既忠实于应用需求,又能够高效、稳定、准确地支持后续计算。这里的计算任务,涵盖的范围是非常广的,只要是和三维数字世界相关的任务都可以,常见的任务包括重建、建模、编辑、渲染、物理仿真、角色动画、制造、交互、机器人规划等等。

遗憾的是,这些任务,对数字世界提出了完全不同的要求。因此,也需要完全不同的表示。设计这些表示,本身就是计算机图形学最重要的科学问题之一。

今年7月初在科大举行的第十四届《计算机图形学前沿》暑期课程CSIAM GDC“三维几何表达、建模与生成讲习班上,就特别对几何表达、重建、建模、生成做了一个系统的课程。在课程中详细讲解了各种三维表达的优劣,各种表达是可以根据任务需求进行相互转化。

 

5.       计算机图形学的另一个挑战:三维表达和计算的多样性

笔者在多年的CG研究经验中体会出一个CG与计算机视觉(CV)领域相比比较明显的特点。在CV和图像处理领域,最常见的输入是二维图像。虽然不同任务所使用的算法和网络结构各不相同,但图像本身具有相对统一、标准化的表达形式,即由像素组成的二维数组(矩阵)。因此,许多视觉任务可以建立在相对统一的数据接口和计算框架之上。近年来,随着深度学习的发展,又形成了较为成熟的开源软件生态,使得研究者可以比较方便地调用现有工具开展实验。这也是为什么很多CV任务上手起来会比较快。

CG的情况则复杂得多。CG所处理的对象本身就是多种多样的:可以是曲线/曲面、MeshB-Rep、体数据、点云、材质、光照,也可以是场景、动画以及各种物理状态。不同任务所需要的表达不同,后续的计算方法也随之不同。例如,几何建模、网格处理、渲染、动画、物理仿真、CAD等方向,不仅数据结构不同,背后的数学模型和算法也往往不同。

虽然CG领域已经有大量优秀的开源几何库、渲染库、物理仿真库和各种专业软件,但这些系统通常针对特定任务设计,数据结构、接口和计算框架并不统一。一个研究者掌握了一个几何库,并不意味着可以直接将同样的思路迁移到渲染或物理仿真中;即使解决的是相似的问题,也往往需要重新理解数据结构、算法和整个软件框架。

这既是CG丰富性的体现,也是它的一个门槛,CG面对的不是一种统一的数据,而是一个由多种表达和多种计算方式构成的世界。因此,相比以标准化二维图像为主要输入的CVCG的学习和入门往往需要掌握更多的数学基础、几何知识以及不同的计算框架。

从另一个角度看,这种不统一也恰恰反映了前面所说的表达与计算的协同设计思想:不同的任务需要不同的表达,不同的表达又对应不同的计算。遗憾的是,CG目前还没有、未来也未必有的一个包打天下的统一框架。值得探索的是,如何在保留这种多样性的同时,让不同表达、不同计算和不同软件系统之间能够更好地相互操作、相互转换,大家需要努力朝着未来CG基础设施、统一接口、可组合计算框架等方面的发展。

 

五、            计算机图形学的独特性

今天,CGCVAI和机器人都在研究同一个数字世界。近年来,世界模型(World Model成为人工智能领域的重要研究方向,涌现出World Labs MarbleNVIDIA CosmosGoogle Genie等系统。这些世界模型不仅希望理解和预测世界,还开始生成和构建三维世界,使人类和机器人能够在其中进行各种任务。

因此,我们面对的已经不是彼此孤立的CGCVAI,而是一个相互融合、共同服务于数字世界和具身智能的技术体系。不同学科从不同问题出发形成各自的知识体系;随着问题相互连接,学科边界也必然越来越模糊。

也许有人会问:既然计算机视觉、人工智能、机器人等领域也在研究世界的表达,那么三维表达与计算的协同设计为什么与计算机图形学密切相关且具有独特性?当所有学科都在研究世界模型时,计算机图形学究竟贡献了什么?AI时代,CG是否会逐渐消失?

 

1.  计算机图形学特别关注可计算的世界

笔者的回答是:既有交叉,也有区别。区别不在于谁研究三维世界,而在于面对同一个世界,不同学科关注的问题不同,因此对什么应该被表达、如何表达以及如何计算的要求也不同。

以一把椅子为例:CV可能关心这是什么?,从图像中识别椅子并估计其位置、姿态和形状;AI可能进一步关心这个世界是什么样的?接下来会发生什么?,建立能够预测、推理和生成的世界模型;机器人则可能关心我能不能走过去、抓住它、搬动它,并据此规划行动。

CG经常从另一个方向提出问题:如果我要在计算机中生成、编辑、变形、仿真甚至制造这把椅子,应该怎样表达和计算它?

这些问题彼此相关,但并不相同。CG特别关注的是如何建立一个能够被计算机使用的数字世界:它不仅要看起来像,还要能够被编辑、计算、仿真、交互和制造。以汽车为例,AI生成的图片或三维模型可以非常逼真,但如果用于工程制造,还需要进一步回答:车身曲面是否精确?曲面之间是否连续?拓扑关系是否正确?尺寸是否满足设计要求?能否进行有限元分析?能否生成加工数据?因此,工程模型需要具有明确、精确、可编辑、可计算的结构。这正是CG,特别是计算几何、几何建模、计算机游戏以及CAD/CAE/CAM等领域长期积累的价值所在。

 

2.  计算机图形学的不可替代性

因此,AI的快速发展并没有让传统CG失去价值。相反,在AI时代,CG正在成为连接几何、物理、人工智能与具身智能的重要基础。CG需要持续研究的问题是:怎样的世界表达,才能真正支撑设计、仿真、交互和智能的计算?

AI越强,三维表达反而越重要。当前生成式AI所学习的表达和数据,通常是针对特定生成任务优化的;当生成的三维世界需要进一步用于编辑、动画、仿真、交互、工程设计和制造时,仍然需要MeshNURBSB-Rep、材质、骨骼、物理模型等具有明确结构和语义的表达。这些表达不会因为生成式AI的出现而自动消失,而相关问题也不能简单通过训练一个更大的模型解决。

AI不是在取代CG,而是在给CG提出新的问题:哪些传统的人工设计表达可以交给机器学习?哪些必须保留下来?人工设计的表达与机器学习的表征又应该如何结合?

而目前,我们仍然没有一种统一的三维表达,能够同时满足所有任务的需求。针对不同任务不断设计新的表达,并使表达与计算协同工作,恰恰是CG持续发展的重要动力。

 

3.  人工智能赋能计算机图形学

接下来,我们需要思考的是:面对AI的快速发展,CG自身应该如何发展?笔者认为CG应该主动拥抱AI,将AI作为新的计算工具和研究范式,赋能CG的发展。AI正在改变计算机图形学,而计算机图形学也正在利用AI重新定义自己。

事实上,AI已经开始深入CG的各个方向。在几何建模中,AI可以从图像、文本和点云中学习三维形状规律,辅助模型生成与重建,特别是近两年前馈式生成模型的发展(比如DUSt3RVGGTD4RT等);在渲染中,可以利用神经网络进行超分辨率、降噪、采样和计算加速,甚至是端到端的渲染(比如RenderFormerTri-Render等);在动画中,可以学习复杂的运动规律;在物理仿真中,可以学习昂贵的数值计算过程(比如PINN、算子学习等);在设计与优化中,则可以帮助探索巨大的设计空间,寻找人类难以发现的方案。

更重要的是,AI正在改变CG传统的表达-计算模式。过去,我们主要依靠人工设计几何表达、材质模型、光照模型和数值算法;今天,则可以进一步让机器从数据中学习复杂的函数、形状空间甚至物理规律。

但拥抱AI并不意味着CG要放弃自己的核心。恰恰相反,CG在几何、拓扑、光照、物理和制造方面的长期积累,可以为AI提供约束和知识,使生成结果不仅看起来合理,而且能够被表达、被控制、被验证、被制造和被使用。

因此,AI时代的计算机图形学,一方面需要继续研究几何建模、渲染、动画、仿真等基础问题;另一方面,也需要主动吸收机器学习、生成模型和大模型等新技术,重新思考这些问题的表达方式和计算方法。

 

六、            计算机图形学独特的研究内容

长期以来,计算机图形学形成了一套围绕三维数字世界的表达、重建、编辑、生成和计算的独特知识体系(详细见第十四届《计算机图形学前沿》暑期课程CSIAM GDC“三维几何表达、建模与生成讲习班)。在人工智能已经能够生成图像、视频甚至三维模型的今天,计算机图形学还有哪些问题,是AI不能简单替代的?下面列举一些具有代表性的内容。

 

1.       数字几何处理(网格处理)

三角网格是最常见的三维表达之一,但一个网格模型往往并不能直接使用。模型可能存在噪声、孔洞、自交、非流形等问题;不同来源的模型,其网格密度和拓扑结构也可能差异很大。一个模型即使从视觉上看起来没有问题,只要存在几何或拓扑缺陷,就可能无法进行后续的仿真、布尔运算甚至制造。

因此,在实际应用中,还需要对网格进行修复、简化、重网格化、参数化、平滑、分割、变形、曲面重建、布尔运算和形状匹配等处理。这些问题构成了数字几何处理的重要内容,也是计算机图形学中非常有特色的研究方向(详细见科大研究生课程《数字几何处理》,2014 20202024)。

数字几何处理的一个特点是要求结果满足严格的几何和拓扑性质。其中许多核心问题涉及微分几何、微分流形、拓扑学、偏微分方程和最优化等数学知识,需要严密的数学建模和算法设计(详细见科普小文《数学在计算机图形学中的应用》)。

近年来,AI也开始用于网格去噪、补洞、重建和生成等任务,但更多是作为传统几何算法的补充或加速手段。对于需要保证几何精度、拓扑正确性和数学性质的问题,AI目前还难以完全替代基于几何与数学原理的算法。这也是数字几何处理在AI时代仍具有独特价值的重要原因。

 

2.       三维建模:从生成到可用

在过去的几十年中,CG领域发展出各种三维建模的软件和工具(详细见科普小文《3D建模与处理软件简介》),使人们能够在计算机中创建和编辑三维世界。

近年来,3D AIGC发展迅速。过去需要美工花费数小时甚至数天制作的模型,如今输入一段文字、一张图片,甚至一段视频,就可以快速生成一个三维模型,大幅降低了三维内容创作的门槛。随着三维生成模型和数据不断发展,如何选择和设计适合生成、编辑及应用的三维表达,将成为决定生成模型质量、可控性和实用性的关键因素之一。

但是,一个AI生成的汽车模型,从视觉上可能非常逼真,但如果要用于编辑、动画、物理仿真、工程设计甚至制造,还需要进一步满足几何精度、拓扑正确性、结构完整性和可编辑性等要求。当前这些问题还不能简单地通过训练一个更大的模型来解决。这需要3D AIGC与数字几何处理、几何建模等传统CG技术进一步融合,真正实现生成一个真正可用的模型。

 

3.       实时渲染

渲染(Rendering)是计算机图形学最具代表性的核心技术之一。传统CG中,基于物理的渲染主要建立在明确的几何和光学模型之上。无论是基于光栅化的实时渲染,还是基于光线追踪的真实感渲染,都需要大量几何计算、可见性计算、光照计算和采样技术。近年来,GPU、光线追踪硬件以及DLSS等技术的发展,使得越来越复杂的真实感渲染能够实时运行。

AI正在改变渲染的计算方式,例如利用神经网络进行超分辨率、降噪、采样和光照估计,也出现了NeRF3DGS等新的渲染计算方法。但在以Mesh为主要表达、强调实时性、可控性和交互性的游戏及数字内容产业中,传统的几何渲染技术仍然是不可替代的基础。

未来的渲染可能是物理模型、几何算法、专用硬件与AI计算的深度融合。如何在有限计算资源下,让数字世界既真实、又实时、还能够被精确控制,仍然是计算机图形学的重要研究问题。

 

4.       物理仿真

物理仿真是CG的重要研究内容之一。物理仿真解决的则是世界按照物理规律会怎样运动或变化,比如物体受到力后如何变形,水和空气如何流动,布料如何运动,以及物体碰撞后会发生什么等,都需要建立相应的物理模型并进行数值计算。

物理仿真涉及大量偏微分方程(PDE)的求解。有限元方法(FEM)需要将连续的物理模型离散成高质量的网格,再求解相应的方程组;有限差分、有限体积以及各种粒子方法,则采用不同的离散方式进行数值求解。另一种典型方法是粒子法,它不再用固定的网格来描述物体,而是用大量相互作用的粒子来表示物质。根据观察和描述物质运动的方式不同,又可以分为欧拉观点和拉格朗日观点:欧拉观点关注空间中固定位置的物质如何变化,拉格朗日观点则跟踪随物质一起运动的粒子。近年来发展的物质点法(MPM, Material Point Method)则结合了两者的特点。因此,几何表达、网格生成与数值计算在物理仿真中是紧密结合的。

近年来,AI开始广泛用于PDE求解和物理仿真(AI for Science/PDE),例如利用神经网络学习复杂物理过程、构建快速的代理模型,从而大幅降低计算成本。但对于航空航天、汽车、机械等工业领域,仿真不仅要求看起来合理,更要求高精度、稳定性、可靠性以及严格满足物理约束。在许多复杂工程问题上,纯数据驱动的方法目前仍难以达到工业级仿真的要求。

因此,未来的重要方向并不是用AI简单替代传统数值仿真,而是将物理规律、数值计算与AI学习相结合,利用物理模型保证准确性和可靠性,同时利用AI提高计算效率。这也是CG与计算数学、工程计算和人工智能交叉的重要研究领域。

 

5.       计算机游戏

游戏是最能体现计算机图形学价值的两个重要应用领域之一。一个游戏中的角色、场景、建筑和车辆等,通常需要经过建模、材质、动画、灯光、渲染等完整流程,大量游戏资产仍由美术和技术人员制作、调整与优化。

AI正在深刻改变这一流程,可以辅助生成角色、纹理、三维资产、动画,甚至自动生成部分游戏场景和故事,大幅提高内容生产效率。但游戏并不只是生成好看的内容,还需要将这些内容组织成一个能够实时运行和交互的数字世界,既要实时渲染,又要处理碰撞、动画、物理、场景管理和玩家交互,并在有限的计算资源下保持稳定运行。

因此,AI可以改变游戏内容的生产方式,却难以完全替代CG技术和成熟的游戏引擎(及产业生态)。未来更可能形成的是AI生成内容结合CG构建和运行世界的新型游戏生产模式。

 

6.       CAD/CAE/CAM(工业设计与制造)

工业设计与制造,是计算机图形学的另一个重要应用领域之一,也是数字世界到物理世界(从虚到实)的典型场景。

一个真正用于工程设计的CAD模型,不仅要看起来正确,还必须具有严格的几何和拓扑结构,并包含尺寸、约束、特征、装配关系等工程语义;CAE则需要在此基础上进行结构、热、流体、电磁等物理分析;CAM还要进一步考虑材料、公差、加工工艺和刀具路径等问题。

CAD中,核心问题是如何准确地表达和计算几何。例如,几何内核负责NURBSB-rep等几何模型的表示与运算;曲面求交需要计算复杂曲面之间的交线;布尔运算需要完成实体的并、交、差等操作;约束求解器则负责根据尺寸、平行、垂直、相切等工程约束自动确定几何形状。这里涉及大量数值计算、拓扑处理和几何鲁棒性问题。一个微小的数值误差,都可能导致模型出现裂缝、错误拓扑甚至无法继续建模(详细可见CSIAM GDC CAD几何内核:原理、算法与前沿”讲习班)。

CAE中,也存在一整套复杂的计算内核,包括模型前处理、网格生成、物理方程求解以及后处理等。前处理需要将CAD模型转换成适合分析的计算模型;网格生成需要在精度、规模和计算效率之间取得平衡(详细可见CSIAM GDC “网格生成与优化”讲习班);求解器则负责计算结构、流体、热、电磁等物理问题;后处理再将计算结果转化为工程师能够理解的图形和数据。

近几年来,AI已经开始用于工业软件的各个模块中。其中,基于生成式AICAD模型生成(详见近期笔者及团队完成的综述论文)引起人们的大量关注;最大的挑战是,一个外形漂亮的AI生成模型,如果几何不精确、拓扑不正确,或者无法进行分析和加工,就还不能称为真正的工程模型。

因此,从CADCAECAM,再到实际制造,需要贯穿几何、物理和制造过程的一整套严密计算。这些技术不仅是AI生成的模型所不能替代的,也是CG连接数字世界与物理世界的重要体现。

至今,CAD/CAE/CAM仍然存在着大量的挑战问题。为梳理其中的关键挑战问题,中国工业与应用数学学会(CSIAM)几何设计与计算(GDC)专委会于今年上半年凝练了几何设计与计算领域的十大关键科学与技术问题,并于7月底在内蒙古呼和浩特召开的GDC 2026大会的开幕式上正式发布。

 

7.       CAD/CAE一体化

在现有的产品设计流程中,CAD设计师和CAE工程师往往使用不同的软件。CAD设计师完成模型后,将其交给CAE工程师,还需要经过曲面修复、脏几何处理、网格生成等一系列操作,其中不少环节仍需要人工干预;如果仿真结果不满足要求,又要返回CAD设计师修改模型,再重新分析。这样的反复迭代耗时很长,严重影响产品设计效率。

造成这一问题的根本原因之一,是CADCAE采用了不同的几何表达和计算方式。CAD建立的是几何模型,即精确、可编辑的NURBSB-Rep模型,而CAE需要的物理分析模型,即适合数值计算的体网格(四面体或六面体)表达。大量统计表明:工程分析时间里面超过80%的时间都花在两者之间的模型转换,即几何修复、几何简化、网格生成等,这些任务都是一系列复杂的几何计算问题;更为糟糕的是,有些环节(比如脏几何的检测和修复)仍无法完全自动化、需要人工去完成。

因此,CAD/CAE一体化的核心目标,是让设计模型能够更加自然地进入物理计算,同时又能将分析结果及时反馈给设计,实现设计与分析的连续迭代。

为此,人们提出了各种不同的CAD/CAE一体化方案(如下表)。方案2和方案3直接采用离散网格表达,但几何表达精度不够,常用于 结构优化和拓扑优化(微结构、超材料)的应用中。方案4是最近二十年来研究比较热门的等几何分析(Isogeometric Analysis, IGA),其直接使用CAD中的B样条基函数作为分析求解的基函数,使几何表示与物理分析尽可能保持一致,从而减少CADCAE之间的模型转换和几何误差;但其劣势也非常明显,IGA需要将物体内部转换为张量积六面体的剖分(六面体参数化),这本身是一个区域网格生成的困难问题。

方案5尝试从几何表达源头来解决CAD/CAE衔接问题,与其在CAD模型生成后再花大量时间修复脏几何、转换表达,不如从几何表达本身入手,设计一种更适合后续计算的模型。T-样条可以通过T型节点实现局部加密,在保持较高几何连续性的同时避免传统NURBS曲面拼接中大量的补丁和接缝,并可构造具有良好拓扑性质的水密模型。跟IGA方法一样,其劣势也很明显,就是物体内部的体参数化问题是个极具挑战的问题。

方案6无网格法的思路是:绕开体网格的中间表达,让几何表达能够更加直接地参与物理计算,比如直接利用几何边界、采样点或积分区域进行计算,从而减少网格生成以及脏几何处理带来的困难。比较典型的边界元法(BEM)利用数学上的基本解,将原本定义在三维体域中的PDE问题转化为只在二维边界上的积分问题。这样只需要离散物体表面,而不需要生成体网格。其优点是维度降低、边界条件处理方便;但它通常需要求解稠密矩阵,而且基本解只对特定方程和边界条件存在,因此适用范围受到限制。另一类是积分型或点采样方法,通过在空间中选取采样点,利用积分方程或局部近似来计算物理量。这类方法不需要建立传统网格,面对复杂几何和大变形时更加灵活,但采样点的分布、积分精度和数值稳定性仍然是重要挑战。

 

如上分析可以看到,现有的各种方案各有优势,但也存在明显局限,CAD/CAE一体化至今仍然没有得到彻底解决。从本质上看,大多数方法都在努力解决同一个问题:如何建立一种高效、可靠、自动化的表达转换机制,让几何设计模型能够自然地进入物理分析,同时又能够将分析结果反馈给设计。如果进一步要求表达转换和物理仿真过程都具有良好的可微性,就可以利用梯度信息,将仿真-分析-修改设计的过程连接起来,从而实现面向性能的自动逆向设计与优化。

这里还有一个值得思考的问题:今天工业界广泛采用的NURBSB-rep等几何表达,是经过几十年发展形成的事实标准。它们非常适合精确几何设计和制造,却并非为后续物理计算而设计。这种历史形成的表达体系,在很大程度上构成了CAD/CAE一体化的“历史包袱”。那么,我们是否可以跳出已有表达体系,重新从设计-分析-制造的全过程出发,寻找一种新型的产品几何表达?这种表达能否同时满足几何设计的精确性、物理分析的可计算性以及制造的可行性,从源头上消除CADCAE之间的表达鸿沟?

上述问题一直是学术界长期追求的目标,但笔者认为,要彻底解决CAD/CAE之间的表达鸿沟,仍然十分困难。最近笔者及团队尝试从另一个角度提出一种新的解决方案:不强求CADCAE采用完全相同的表达,而是在两者之间建立一个能够实现几何-物理双向映射的接口层。从2024年开始,笔者关注到Walk-on-SpheresWoS)这一基于随机采样的PDE求解方法。它利用概率方法将PDE的求解转化为随机游走的期望值估计:从空间中的一个点出发,不断在局部球面上进行随机采样和跳跃,最终估计该点的物理量。WoS的一个重要优势是不需要生成传统的体网格,因此特别适合直接利用CAD模型进行局部物理分析;同时,它具有良好的并行计算特性,并能用于高维问题。两年来,笔者及团队围绕WoS进一步研究,逐步解决其在计算效率、可微性、适用方程范围以及CAD几何适应性等方面的若干关键问题。我们的设想是:CAD设计师在修改模型的同时,就可以实时看到局部物理分析结果,并根据这些反馈不断调整和优化设计。这就像在CAD设计软件中增加了一个物理感知的能力,让设计师不必等模型完成后再交给CAE工程师分析。当然,这种方法的定位并不是取代传统CAE。对于设计阶段,可以通过快速的局部物理分析提供实时反馈;而在设计完成后,对于精度和可靠性要求很高的工程问题,仍然可以采用传统CAE进行最终的高精度分析。这种几何-物理接口层的思路,或许能够避开CADCAE之间长期存在的表达转换难题,为下一代CAD/CAE一体化提供一种值得探索的新方向。

 

8.       3D打印(增材制造)

3D打印,也称为增材制造,是近几十年发展起来的一种全新的制造方式。与传统加工方式,比如铸造、锻造、冲压、NC加工等方法制造零件不同,3D打印是根据数字模型,将材料逐层堆积,最终形成真实的三维物体(详细见科普小文什么是3D打印?》)。因此,它天然连接了数字世界与物理世界。

3D打印的核心并不只是把模型打印出来,其中包含大量计算机图形学问题。例如,如何将CAD模型转换为适合打印的几何表达,如何进行模型切片、支撑结构和打印路径生成,如何处理悬空、薄壁和复杂拓扑结构,以及如何根据材料和工艺参数进行变形、温度场和应力等物理仿真。

AI已经开始用于打印参数优化、缺陷检测和工艺预测,也可以辅助生成复杂的打印结构。但要让数字模型真正变成精确、可靠、可制造的物理产品,仍然需要几何计算、数值仿真和制造工艺等方面的严密计算。

因此,3D打印也是CG表达-计算-制造紧密结合的典型领域,是计算机图形学走向物理世界的重要方向。

  

9.   微结构设计:从外形设计走向内部结构设计

传统三维设计主要关注物体的宏观外形:长度、宽度、高度以及曲面形状等。随着3D打印等先进制造技术的发展,制造能力逐渐突破了传统加工工艺的限制,在航空航天、生物医疗和高端装备等领域,设计者开始能够直接设计物体内部复杂而精细的结构。于是,三维设计正在从设计物体的外形,进一步走向设计物体的内部结构。

例如,同样是一块材料,通过在内部设计蜂窝、晶格、三周期极小曲面(TPMS)等微结构,可以在不改变整体外形的情况下,大幅改变物体的重量、刚度、强度、吸能、导热等性能。这类结构尺度通常远小于产品整体尺寸,因此也常被称为微结构(Microstructure、细观结构(Mesostructure)、或超材料(Metamaterial。这里的微结构并不一定意味着微米尺度,而更多强调相对于宏观产品尺度而言的内部细尺度结构。

进一步地,设计的目标从给定外形设计几何,变成了一个性能驱动的逆向设计问题,即给定强度、重量、刚度、散热等性能要求,需要自动寻找合适的内部结构。这与结构优化和拓扑优化密切相关,可从一整块材料出发,根据受力和制造条件自动去掉不必要的材料,最终得到既轻又满足强度要求的结构。另外,计算机辅助拓扑设计(计算拓扑设计)也是最近几年发展起来的用于控制结构拓扑性质的计算方法(详细可见CSIAM GDC “计算机辅助拓扑设计讲习班)。

AI正在进一步进入这一领域,可以利用机器学习快速预测结构性能、搜索结构空间,甚至直接生成满足特定性能要求的微结构。但真正可靠的设计仍然需要几何表示、拓扑结构、物理仿真和制造约束共同参与。微结构设计也是计算机图形学与几何计算、物理仿真、优化、先进制造与机器学习深度融合的重要方向。笔者及团队在这个方向也做了系列的工作。

 

10.       组装与机构设计:从几何形状到结构与运动

现实世界中的许多复杂物体,并不是一个完整、孤立的几何体,而是由许多相互连接、配合甚至运动的部件组成。例如,一个书柜、一辆汽车、一台机器人、一套机械装置,都是由多个零件按照一定的结构关系组合而成。在进行这些物体的CAD设计过程中,需要考虑:物体应该如何分解和组合?各个部件如何连接?它们能否装配、拆卸和重新组合?组合之后又能否按照预期运动?

这类问题形成了计算机图形学中一个很有特色的研究方向:计算组装(Computational Assembly)与计算机构设计(Computational Mechanism Design)。这类研究的特殊之处在于,它不再只关注物体的几何形状,而是需要同时考虑几何、拓扑、结构、连接关系和运动规律,设计的结果需要真正能够装配、运动和工作。

这类计算组装问题与传统三维建模有明显区别。传统建模一般是先设计形状,再进行装配;而计算组装则需要将形状设计与装配关系耦合一起设计。同样,传统动画让一个已经设计好的物体按照指定轨迹运动,而计算机构设计则需要研究怎样设计机构本身,才能产生我们希望的运动(可以理解为传统的动画进行实物化)。例如,通过组合凸轮-连杆机构,可以让一个简单的旋转运动转化为复杂的三维空间运动;通过齿轮机构,则可以控制多个部件之间的运动关系。

随着3D打印、机器人、数字制造和具身智能的发展,计算组装与机构设计研究的重要性正在进一步提高。它是CG从描述世界走向设计世界的一个重要方向,将几何建模、数字几何处理、运动设计、物理规律和数字制造连接起来,同时设计形状、结构、装配和运动。

在未来的CAD设计中,用户甚至可能只需要提出一个功能需求,例如设计一个能够完成某种运动的机械装置,算法就自动完成零件划分、几何设计、装配关系和运动机构设计,并最终生成可以制造的数字模型。笔者及团队在这个方向也做了系列的工作。

 

11.       三维计算艺术:让几何与生活、光影和艺术相遇

计算机图形学不仅可以用来设计工程产品,也可以用来创造艺术。近年来,一个很有特色的方向是三维计算艺术(3D Computational Art),即利用几何建模、计算几何、物理模拟、光照与渲染、优化等计算方法,把数学规律转化为具有艺术表现力的形状、纹理、光影和视觉效果。

传统艺术往往依赖艺术家的经验和手工创作,而计算艺术则进一步提出这样的问题:能否把艺术创作中的规律和美感转化为可以计算、设计和优化的问题?例如,可以计算怎样的曲面能够产生特殊的反射效果,怎样设计物体的形状才能在特定光照下形成隐藏的图案,怎样利用纸张、木材、金属等材料的物理性质生成具有艺术效果的作品,甚至可以通过可微渲染反向优化几何形状,使最终产生的光影恰好符合设计目标。

计算艺术的一个重要特点,是它往往并不止于计算机屏幕上的虚拟图像,而是可以进一步实物化(可制造)。计算机设计出的几何结构,可以通过3D打印、激光切割、木雕、机械加工等数字制造技术真正制作出来,成为艺术展示、公共艺术、教育科普以及文化创意产品。例如,可以将一个橘子皮按一定的割缝割开后展开成一直雄鹰的形状;可以设计一个普通角度看起来毫无特别的物体,但从3个特定方向照射光线时,却在墙面上形成3幅清晰的剪影;也可以利用多层木板的切割与叠加,计算生成具有复杂层次的木雕作品;还可以设计具有特殊可展开性质的曲面,使数学中的几何规律最终成为真实的艺术作品。

因此,计算艺术是几何与生活、光影、材料和艺术的结合。如果说微结构设计是在探索几何+物理,机构设计是在探索几何+运动,那么计算艺术则是在探索几何+光影。它体现了计算机图形学的另一种独特价值,算法不仅可以帮助我们理解和模拟世界,还可以帮助我们创造现实世界中以前难以想象的形状、光影和艺术作品。笔者及团队在这个方向也做了系列的工作。

 

 

七、            结语

 

1.  三维表达与计算

回顾计算机图形学的发展,从最初的曲线、曲面和图形,到今天的三维建模、真实感渲染、数字人、物理仿真、CAD/CAE,再到NeRF3D Gaussian Splatting和生成式AI,计算机图形学所面对的对象和技术不断变化,但有一条主线始终存在:如何选择和设计一种合适的世界三维表达,并让这种表达能够被计算、被生成、被编辑、被仿真和被使用。这就是笔者在该文所理解的计算机图形学的核心:三维表达设计与计算的协同设计。

但是,并不存在一种适用于所有任务的三维表达,不同任务对表达的要求都是不同的。 与设计算法的原则一样,需要按照程序的需求来设计数据结构,没有所谓最优的数据结构设计,例如对于线性表,数组和链表是适合不同的应用需求的。

正是由于三维表达的多样性,使得CG没有统一的处理算法框架而衍生出许多不同的子领域,比如几何建模、渲染、物理仿真、可视化、CAD/CAE、人机交互等。现有的各种三维表达都是针对不同任务和计算方式形成的不同选择。三维表达与计算的协同设计,正是CG长期发展的重要思想。

 

2.       CGAI

人工智能的出现,正在给这一思想带来新的挑战。AI让我们可以从海量数据中自动学习复杂的表达和计算规律,也让三维生成、渲染、动画和仿真发生了巨大变化。过去需要人来设计的部分,现在有些已经可以交给机器学习;过去需要大量计算才能得到的结果,现在也可以通过学习得到快速近似。

但这并不意味着AI会取代计算机图形学。AI可以生成一个看起来真实的世界,而CG需要进一步让这个世界能够被编辑、被交互、被仿真,甚至最终被制造出来。因此,AICG并不是简单的竞争关系,而更应该是一种相互赋能的关系:AICG获得新的学习能力,CGAI生成的世界获得结构、规律和可计算性。

未来的计算机图形学,可能不再只是传统意义上的几何建模、渲染和动画,而是进一步走向:几何与AI、物理与AI、设计与AI、制造与AI的深度融合。人工设计的表达与机器学习得到的表征也会不断结合,形成新的表达和新的计算范式。

 

3.       笔者寄语

对于今天正在学习计算机图形学的年轻学生,不要因为AI能够生成图像、视频和三维模型,就认为CG已经过时;也不要把学习CG理解为学习一套已经固定的技术。真正值得学习的,是几何、数学、物理、计算以及如何把现实世界变成计算机能够理解和处理的数字世界。技术会不断变化,今天流行的算法明天可能就会被新的方法取代,但提出问题、设计表达、建立模型、理解计算本质的能力不会过时。

也许未来的某一天,你们会创造出我们今天还无法想象的三维表达和计算方法。这正是计算机图形学在AI时代依然值得学习、值得研究,也依然充满生命力的原因。

 

最后,正如2013科普小文《什么是计算机图形学?》中所说的,计算机图形学是很好玩的,是有用的,更是有未来的。祝各位能够在计算机图形学的海洋中感受美妙和享受快乐!

祝您健康、快乐、成功!

 

刘利刚

安徽省图形计算与感知交互重点实验室(http://gcl.ustc.edu.cn)

中国科学技术大学

个人主页:http://staff.ustc.edu.cn/~lgliu

电子邮箱:lgliu@ustc.edu.cn

2026820