导航菜单
首页 >  计算机图形学我该怎么选择未来方向  > 什么是计算机图形学

什么是计算机图形学

 

一、什么是计算机图形学?

   什么是计算机图形学?计算机图形学(ComputerGraphics,简称CG)的内容比较丰富,与很多学科都有交叉,因此笔者认为是无法严格定义的。

在“Wiki百科”和“百度百科”上,对“计算机图形学”的解释为:计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。虽然通常认为CG是指三维图形的处理,事实上也包括了二维图形及图像的处理。

狭义地理解,计算机图形学是数字图象处理或计算机视觉的逆过程:计算机图形学是用计算机来画图像的学科,数字图象处理是把外界获得的图象用计算机进行处理的学科,计算机视觉是根据获取的图像来理解和识别其中的物体的三维信息及其他信息。

注意,这些都是不确切的定义,实际上,计算机图形学、数字图象处理和计算机视觉在很多地方的区别不是非常清晰,很多概念是相通的,而且随着研究的深入,这些学科方向不断的交叉融入,形成一个更大的学科方向,可称之为“可视计算”(VisualComputing)。这是后话,此处不详述。

 

二、计算机图形学的主要内容

在学科开创之初,计算机图形学要解决的是如何在计算机中表示三维几何图形,以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,产生令人赏心悦目的真实感图像。这是狭义的计算机图形学的范畴。随着近40年的发展,计算机图形学的内容已经远远不止这些了。广义的计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。

根据笔者的理解,计算机图形学主要包含四大部分的内容:建模(Modeling)、渲染(Rendering)、动画(Animation)和人机交互(Human–computerInteraction, HCI)。

 

1、建模(Modeling)

要在计算机中表示一个三维物体,首先要有它的几何模型表达。因此,三维模型的建模是计算机图形学的基础,是其他内容的前提。表达一个几何物体可以是用数学上的样条函数或隐式函数来表达;也可以是用光滑曲面上的采样点及其连接关系所表达的三角网格来表达(即连续曲面的分片线性逼近),如下图所示。

三维建模方法主要包含如下的一些方法:

l 计算机辅助设计(CAD)中的主流方法是采用NURBS(非均匀有理B-样条、Bezier曲线曲面)方法(已成为CAD工业领域的标准),这也是计算机辅助几何设计(CAGD)所研究的主要内容。此类表达方法有一些难点问题仍未解决,比如非正规情况下的曲面光滑拼合,复杂曲面表达等。这部分涉及的数学比较多,国内做这块的学者比较多些。

l 细分曲面(Subdivisionsurface)造型方法,作为一种离散迭代的曲面构造方法,由于其构造过程朴素简单以及实现容易,是一个方兴未艾的研究热点。经过十多年的研究发展,细分曲面造型取得了较大的进展,包括奇异点处的连续性构造方法以及与GPU图形硬件相结合的曲面处理方法。

l 利用软件的直接手工建模。现在主流的商业化的三维建模软件有Autodesk3D Max和 Maya。其他还有面向特定领域的商业化软件,比如面向建筑模型造型的GoogleSketchup,面向CAD/CAM/CAE的CATIA和AutoCAD,面向机械设计的SolidWorks,面向造船行业的Rhino等。这些软件需要建模人员有较强的专业知识,而且需要一定时期的培训才能掌握,建模效率低而学习门槛高,不易于普及和让非专业用户使用。

l 基于笔划或草图交互方式的三维建模方法。草图交互方式由于其符合人类原有日常生活中的思考习惯,交互方式直观简单,是最近几年研究的热点建模方法。其难点是根据具体的应用场合,如何正确地理解和识别用户的交互所表达的语义,构造出用户所希望的模型。

l 基于语法及规则的过程式建模方法。特别适合具有重复特征和结构化的几何物体与场景,比如建筑、树木等。最近几年有较多的论文及较大的发展。

l 基于图像或视频的建模方法。这是传统的计算机视觉所要解决的基本问题。在计算机图形学领域,这方面的发展也很迅速。有一些商业化软件或云服务(比如Autodesk的123D),已经能从若干张照片重建出所拍摄物体的三维模型。该方法的问题是需要物体本身已经存在,而且重建的三维模型的精度有限。

l 基于扫描点云(深度图像如Kinect、结构光扫描、激光扫描、LiDAR扫描等)的建模(Reconstruction)方法。随着深度相机的出现及扫描仪的价格迅速下降,人们采集三维数据变得容易,从采集到的三维点云来重建三维模型的工作在最近几年的Siggraph(Asia)上能常见到。但是,单纯的重建方式存在精度低、稳定性差和运算量大等不足,远未能满足实际的需求。

l 基于现有模型来合成建模的方法。随着三维模型的逐渐增多,可以利用现有的三维模型通过简单的操作,比如cutand paste,或者分析及变形等手段,来拼接或合成新的三维模型。这种通过“学习”模型数据库的知识来进行建模的手段在近3-5年里研究得非常热门。从某方面来讲,就是“大数据时代”背景下计算机图形学领域中的一个具体的表现。

 

除了上述的这些建模方法,还有其他的一些建模方法,在此不再一一列举。

在对三维几何模型的构建过程中,还会涉及到很多需要处理的几何问题,比如数据去噪(denoisingor smoothing)、补洞(repairing)、简化(simplification)、层次细节(levelof detail)、参数化(parameterization)、变形(deformationor editing)、分割(segmentation)、形状分析及检索(shapeanalysis and retrieval)等。这些问题构成“数字几何处理”的主要研究内容。笔者自2005年起开设了多年的《数字几何处理》的研究生课程:

http://staff.ustc.edu.cn/~lgliu/Courses/DGP_2012_spring-summer/default.htm

 

虽然有上述所提到的这么多的三维建模方式,但是至今为止,仍没有适合一般家庭用户的轻松简单的建模工具。现有的电子设备(比如相机,手机等)能够帮助人们轻松获得图像和视频,但是,不是人人都有能力来构建三维几何模型。如何让大众能够像获取图像那样能够随时随地地获取或者构建三维模型,仍然是计算机图形学的任重道远的主要任务之一!今天,计算机图形学仍未进入“大数据时代”。只有让大众能够轻松进行三维建模,并上载分享他们所构建的模型数据,计算机图形学才可能进入大数据时代。

另外,随着三维打印(3Dprinting)的新兴技术的逐渐普及,人们对三维模型的需求也日益增加。笔者个人认为,几何建模和三维打印的未来是共呼吸,同命运的:也只有当人人都能轻松建模时,三维打印才有可能走向千家万户。

三维几何建模的任务仍然任重道远,大家仍需共同努力!

 

       

 

2、渲染(Rendering)

有了三维模型或场景,怎么把这些三维几何模型画出来,产生令人赏心悦目的真实感图像?这就是传统的计算机图形学的核心任务,在计算机辅助设计,影视动漫以及各类可视化应用中都对图形渲染结果的高真实感提出了很高的要求。

上个世纪80-90年代研究的比较多些,包含了大量的渲染模型,包括局部光照模型(LocalIllumination Model)、光线跟踪算法(RayTracing)、辐射度(Radiosity)等,以及到后面的更为复杂、真实、快速的渲染技术,比如全局光照模型(GlobalIllumination Model)、Photomapping、BTF、BRDF、以及基于GPU的渲染技术等。

现在的渲染技术已经能够将各种物体,包括皮肤、树木、花草、水、烟雾、毛发等渲染得非常逼真。一些商业化软件(比如Maya,Blender, Pov Ray等)也提供了强大的真实感渲染功能,在计算机图形学研究论文中作图中要经常用到这些工具来渲染漂亮的展示图或结果图。

然而,已知的渲染实现方法,仍无法实现复杂的视觉特效,离实时的高真实感渲染还有很大差距,比如完整地实现适于电影渲染(高真实感、高分辨率)制作的RenderMan标准,以及其他各类基于物理真实感的实时渲染算法等。因此,如何充分利用GPU的计算特性,结合分布式的集群技术,从而来构造低功耗的渲染服务是发展趋势之一。

     

 

3、动画(Animation)

动画是采用连续播放静止图像的方法产生物体运动的效果。计算机动画借助于编程或动画制作软件生成一系列的景物画面,是计算机图形学的研究热点之一。研究方向包括:物理仿真(simulation),人体动画,关节动画,运动动画,脚本动画,具有人的意识的虚拟角色的动画系统等。另外,高度物理真实感的动态模拟,包括对各种形变、水、气、云、烟雾、燃烧、爆炸、撕裂、老化等物理现象的真实模拟,也是动画领域的主要问题。这些技术是各类动态仿真应用的核心技术,可以极大地提高虚拟现实系统的沉浸感(其中的本质是数值求解各种偏微分方程)。计算机动画的应用领域广泛,比如动画片制作,广告、电影特技,训练模拟,游戏等。

网上的一些3D动画的视频:

Larva虫虫:http://v.youku.com/v_show/id_XMzAzMzkxMTY0.html

The Killer Bean: http://v.youku.com/v_show/id_XMjI5ODE2MTEy.html

爱与孝: http://v.youku.com/v_show/id_XNTU0OTUxNjUy.html

房地产动画广告宣传片:http://v.youku.com/v_show/id_XNTc1OTE4MDMy.html

 

4、人机交互(Human–ComputerInteraction, HCI)

人机交互(Human-ComputerInteraction, 简写HCI)是指人与计算机之间以一定的交互方式或交互界面,来完成确定任务的人与计算机之间的信息交换过程。简单来讲,就是人如何通过一定的交互方式告诉计算机来完成他所希望完成的任务。

计算机图形学的顶级会议ACMSIGGRAPH是“ACMSpecial Interest Group on GRAPHics and Interactive Techniques”的缩写,缩写中只包含了Graphics,而忽略了InteractiveTechniques,在长时间没有得到计算机图形学研究的重视。最近,包括在SIGGRAPH会议上,以及人机交互的顶级会议SIGCHI上,陆续出现了许多新兴的人机交互技术及研究论文。大家逐渐重视起来。

在早期(上个世纪60-70年代),只有以键盘输入的字符界面;到了80年代,以WIMP(窗口、图符、菜单、鼠标)为基础的图形用户界面(GUI)逐渐成为当今计算机用户界面的主流。

近年来,以用户为中心的系统设计思想,增进人机交互的自然性,提高人机交互的效率是用户界面的主要研究方向。陆续提出了多通道用户界面的思想,它包括语言、姿势输入、头部跟踪、视觉跟踪、立体显示、三维交互技术、感觉反馈及自然语言界面等。

事实上,人体的表面本身就是人机界面。人体的任何部分(姿势,手势,语言,眼睛,肌肉电波,脑波等)都可以成为人机对话的通道。比如2010年微软出的Kinect就是一种无需任何操纵杆的基于体感的人机界面,用户本身就是控制器。Kinect在微软的Xbox游戏上取得了极大的成功,之后在其他方面也得到了很多的应用。

特别是到了今年(2013年),人机交互设备有了巨大的发展,各种自然的交互手段层出不穷,极大地丰富了用户与机器交互的体验,方便了用户的操作,轻松表达了用户的交互意图。可以说,

我们正处在图形与交互技术极速发展的浪尖!

 

以下是最近几年(特别是今年)出现的一些值得关注的新兴的人机交互设备:

l Microsoft Kinect:http://v.youku.com/v_show/id_XNTc2ODY0MTA4.html

1)      Kinect由微软于2010年推出的对XBOX360体感外设,它不需要使用任何控制器,仅依靠相机捕捉三维空间中玩家的运动,同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。Kinect彻底颠覆了游戏的单一操作。使人机互动的理念更加彻底的展现出来。之后,基于Kinect的各种应用像雨后春笋般的冒出来,包括人机交互,手势识别,几何建模等。

2)      在2013年5月28日的XboxOne发布会上,微软展示了新一代Kinect2.0,新 Kinect能感知的语音、手势和玩家感觉信息,将给玩家带来前所未有的互动性体验:

http://v.youku.com/v_show/id_XNTIyODU0NDky.html

l Leap Motion:http://v.youku.com/v_show/id_XNTAwMzg0MTQw.html

Leap Motion为放在键盘和显示器之间的小小金属棒,就能让任何一位用户通过简单的手势完成人机交互。LeapMotion 的响应惊人的准确,对各种自然而简洁的手势都能识别。不必站起来或者摆动手臂,Leap Motion是简单而毫不费力的交互方式。我们在4月份就预订了一台,到现在还未到货,估计要到下个月到货。到货后我们会对其进行评测。

l MYO:http://v.youku.com/v_show/id_XNTYzNzg3MDA0.html

MYO 是一款能在用户挥动并指向屏幕时测量各种肌肉产生的电活动来完成交互的腕带。MYO超越 Leap Motion的一点是,MYO 对用户的位置没有限制。尽管MYO只听令于身体的一个部分(手臂),但是其应用的场合还是很多的。期望未来会有

相关推荐: