什么是计算机图形学?

# 简介

     本文是我在看关于刘利刚老师2013年的博客“什么是计算机图形学?”时为了不看文章看到睡着以后复习方便,记录的笔记,其中可能有不准确的地方,有兴趣的可以直接看刘利刚老师写的博客哦。

 

## 什么是计算机图形学?

  计算机图形学(Computer Graphics,简称CG),简单地说,其主要研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。(虽然通常认为CG是指三维图形的处理,事实上也包括了二维图形及图像的处理。)

        为更好的理解CG的概念,大家可狭义地理解为计算机图形学是数字图像处理或计算机视觉的逆过程,因为数字图像处理是把外界获得的图象用计算机进行处理的学科,计算机视觉是根据获取的图像来理解和识别其中的物体的三维信息及其他信息,而计算机图形学是用计算机来画图像的学科以。此外这三门学科可一并称为“可视计算”。

        广义的计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。

        根据刘利刚老师的理解,计算机图形学主要包含四大部分的内容:建模(Modeling)、渲染(Rendering)、动画(Animation)和人机交互(Human–computer Interaction, HCI)

1. 建模(Modeling)

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

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

  • 计算机辅助设计(CAD)中的主流方法是采用NURBS(非均匀有理B-样条、Bezier曲线曲面)方法(已成为CAD工业领域的标准),这也是计算机辅助几何设计(CAGD)所研究的主要内容。
  • 细分曲面(Subdivision surface)造型方法,作为一种离散迭代的曲面构造方法,由于其构造过程朴素简单以及实现容易,是一个方兴未艾的研究热点。
  • 利用软件的直接手工建模。现在主流的商业化的三维建模软件有Autodesk 3D Max和 Maya。其他还有面向特定领域的商业化软件,比如面向建筑模型造型的Google Sketchup,面向CAD/CAM/CAE的CATIA和AutoCAD,面向机械设计的SolidWorks,面向造船行业的Rhino等。
  • 基于笔划或草图交互方式的三维建模方法。草图交互方式由于其符合人类原有日常生活中的思考习惯,交互方式直观简单,是最近几年研究的热点建模方法。
  • 基于语法及规则的过程式建模方法。特别适合具有重复特征和结构化的几何物体与场景,比如建筑、树木等。
  • 基于图像或视频的建模方法。这是传统的计算机视觉所要解决的基本问题。在计算机图形学领域,这方面的发展也很迅速。有一些商业化软件或云服务(比如Autodesk的123D),已经能从若干张照片重建出所拍摄物体的三维模型。该方法的问题是需要物体本身已经存在,而且重建的三维模型的精度有限。
  • 基于扫描点云(深度图像如Kinect、结构光扫描、激光扫描、LiDAR扫描等)的建模(Reconstruction)方法。随着深度相机的出现及扫描仪的价格迅速下降,人们采集三维数据变得容易,从采集到的三维点云来重建三维模型的工作在最近几年的Siggraph(Asia)上能常见到。
  • 基于现有模型来合成建模的方法。随着三维模型的逐渐增多,可以利用现有的三维模型通过简单的操作,比如cut and paste,或者分析及变形等手段,来拼接或合成新的三维模型。

        在对三维几何模型的构建过程中,还会涉及到很多需要处理的几何问题,比如数据去噪(denoising or smoothing)、补洞(repairing)、简化(simplification)、层次细节(level of detail)、参数化(parameterization)、变形(deformation or editing)、分割(segmentation)、形状分析及检索(shape analysis and retrieval)等。这些问题构成“数字几何处理”的主要研究内容。

2.渲染(Rendering)

        渲染主要研究如何使用计算机将已有的三维模型或场景画出来,产生令人赏心悦目的真实图像。就是传统的计算机图形学的核心任务。

        渲染模型,包括局部光照模型(Local Illumination Model)、光线跟踪算法(Ray Tracing)、辐射度(Radiosity)等,以及到后面的更为复杂、真实、快速的渲染技术,比如全局光照模型(Global Illumination Model)、Photo mapping、BTF、BRDF、以及基于GPU的渲染技术等。

        用于渲染的商业化软件:Maya, Blender, Pov Ray等。

3. 动画(Animation)

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

4.人机交互(Human–computer Interaction, HCI)

        人机交互(Human-Computer Interaction, 简写HCI)是指人与计算机之间以一定的交互方式或交互界面,来完成确定任务的,人与计算机之间的信息交换过程。简单来讲,就是人如何通过一定的交互方式告诉计算机来完成他所希望完成的任务。比如2010年微软出的Kinect就是一种无需任何操纵杆的基于体感的人机界面,用户本身就是控制器。( Microsoft Kinecthttp://v.youku.com/v_show/id_XNTc2ODY0MTA4.html),比如Leap Motion(http://v.youku.com/v_show/id_XNTAwMzg0MTQw.html),比如Leap Motion(http://v.youku.com/v_show/id_XNTAwMzg0MTQw.html),比如Apple iWatch(http://v.youku.com/v_show/id_XNTIwODk0MzM2.html,这个只是概念与理想,好像到现在还没实现)。虽然都是2013年就已经有的产品,但我看视频还是被震惊了,也对人机交互的定义有了新的认识。

5.其他

事实上,与计算机图形学相关的学科还有很多,以下仅介绍几个最为相关的研究方向:

  • 虚拟现实(Virtual Reality):利用计算机图形产生器,位置跟踪器,多功能传感器和控制器等有效地模拟实际场景和情形,从而能够使观察者产生一种真实的身临其境的感觉。虚拟现实技术主要研究用计算机模拟(构造)三维图形空间,并使用户能够自然地与该空间进行交互。
  • 可视化(Visualization):利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。现已成为研究数据表示、数据处理、决策分析等一系列问题的综合技术。上面提到的虚拟现实技术也是以图形图像的可视化技术为依托的。
  • 可视媒体计算与处理(Visual Media Processing):几何数据,被认为是继声音、图像、视频之后的新一代数字媒体,是计算机图形学的研究重点。当计算机图形学正向地图像生成方法和计算机视觉中逆向地从图像中恢复各种信息方法相结合,可以带来无可限量的想象空间,构造出很多视觉特效来,最终用于增强现实、数字地图、虚拟博物馆展示等多种应用中去。
  • 医学图像处理(Medical Imaging):随着医学成像技术的发展与进步,图像处理在医学研究与临床医学中的应用越来越广泛。与一般意义上的图像处理比较,医学图像处理有其特殊性和不同的侧重点。医学图像处理由生物医学成像(X射线、CT、MRI)和生物医学图像处理两部分组成,在生命科学研究、医学诊断、临床治疗等方面起着重要的作用。医学图像分析中涉及的两个最为重要的内容为图像分割与图像配准。
  • 计算机艺术(Computational Arts):计算机图形学的发展也提供给了艺术家发挥和实现想象的丰富的技术手段。

## 学习计算机图形学需要哪些基础?

  1. 数学。计算机图形学里面用到的数学比较多,列举一些常用的,包括:微积分、线性代数、矩阵计算、微分几何、数值计算和分析、计算方法、偏微分方程、微分方程数值解、最优化、概率、统计、计算几何等。(数学在计算机图形学中的应用
  2. 编程。C/C++是计算机图形学最常用的编程语言。必须掌握C++编程语言和面向对象编程思想。
  3. 英语。
  4. 一些物理知识和理论,比如力学(动力学,运动学,流体力学)和光学等。

## 学习资料

【2016年9月9日添加】刘永进. 中国计算机图形学研究进展[J]. 科技导报, 2016, 34(14): 76-85. [link] [PDF, 5.1M]

【2018年8月16日添加】AMiner. 计算机图形学研究报告. [link] [PDF, 3.5M][PPT, 2.3M]

【2020年7月14日添加】如何自学《计算机图形学》& C++面向对象编程?

GAMES:计算机图形学的在线学习和交流平台,其中有大量的课程、报告(均有PPT和录频等)。[link]

计算机图形学基础课程推荐(含课程录频和PPT等):

  • GAMES 101(闫令琪)[link]
  • 2020年中国科学技术大学《计算机图形学》本科课程(刘利刚)[link]
Enable Ginger Cannot connect to Ginger Check your internet connection
or reload the browserDisable in this text fieldRephraseRephrase current sentence 0Edit in Ginger×
  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值