计算机图形学(1)——概论
作者:Ascendashacker
(转发请注明出处)
一、什么是计算机图形学?
“图形”是人类最早的文明体现。它和文字、声音等一样,是承载信息进行交流的重要媒体。简单来说,计算机图形是计算机产生的图像。计算机图形学就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
在美国,图形学、数据库、人工智能、计算机网络是被计算机界公认最热门的几个专业之一。图形学是计算机领域中20多年来对人类生活影响最大的一个学科之一。计算机图形学在美国已经形成一个完整的产业链:科研,游戏,电影,娱乐,教育,艺术,工业界…
二、计算机图形学的发展历史
-
五十年代
1950年,第一台图形显示器作为美国麻省理工学院(MIT)旋风I号(Whirlwind I)计算机的附件诞生。
1958年,美国Calcomp公司由联机的数字记录仪发展成滚筒式绘图仪
- 50年代末,MIT的林肯实验室在“旋风”计算机上发SAGE空中防御体系。
-
六十年代
1963年,MIT林肯实验室的I.E.Suther land 发表了一篇题为《Sketchapad:”A Man Machine Graphical Communication System”》 “Sketchpad:一个人机交互通信的图形系统”的博士论文。
这篇博士论文提出了图形学一些最基本的概念、原理和想法,第一次提出了graphics这个词。Suther land 被公认为开创交互式图形技术的奠基人,被称为“计算机图形学之父”。并于1988年获“图灵奖“。
1962年,雷诺汽车公司的工程师Pierre Bezier 提出Bezier曲线、曲面的理论,而称为CAGD的先驱。
1964年,MIT的教授Steven A. Coons 提出了超限插值的新思想,通过插值四条任意的边界曲线来构造曲面。
-
七十年代:
光栅显示器出现了。光栅显示器屏幕是由像素组成的。在这样一个基本的前提下,就必须发展大量、配套的图形学算法来帮助在光栅显示器上显示、处理图形。在这个期间,很多大量的算法就诞生了。如区域填充、裁剪、消隐等基本图形概论、及其相应算法。
图形软件标准化:大量图形系统出现以后,计算机本身也有配置问题。不同厂商生产的显卡要兼容,这就提出了图形标准化问题。
70年代对图形学来说是个非常了不起的年代,大量的概念、算法出现了,真实感图形(像照片一样逼真的图形学)和几何造型技术这个时候也开始出现了。
1975年,Phong提出了著名的简单光照模型-Phong模型(标志着真实感图形的出现和实用化,到现在为止,Phong模型还被大量的采用)
-
八十年代
- Phong模型只能只能刻画物体表面的明暗,但不能模拟透明效果,比如玻璃杯、窗户做不出来。
1980年Whitted提出了一个光透视模型-Whitted模型。第一次提出了光线跟踪算法的范例。光线跟踪是图形学当中最重要、最著名的算法之一。
1984年,美国Cornell大学的Creenberg和日本广岛大学的Nishita分别将热辐射工程的辐射度方法引入到计算机图形学中,实现了另一种三维真实感图形绘制技术。
和倾向于只在一个表面上模拟一次光的反射的直接光照算法(例如光线跟踪)不同,像辐射度算法这样的全局光照算法模拟光在一个场景里的多次反射,通常会导致更柔和更自然的影子和反射。
几何造型技术:计算机及其图形工具表示描述物体形状,设计集合形体,模拟物体动态处理过程的综合技术。通俗讲,该技术就像小孩子搭积木,用简单的一些体素来构建复杂的模型。
- Phong模型只能只能刻画物体表面的明暗,但不能模拟透明效果,比如玻璃杯、窗户做不出来。
-
九十年代
- 80年代真实感图形基本成熟了。图形硬件和各个分支均在这个时期飞速发展。到了90年代,图像学就开始了大量的应用。
三、在计算机上生成图形的一般步骤
-
造型技术
在计算机中建立所要生成图像的物体的模型,即给出表示该物体的几何数据和拓扑关系。
比如教室里有椅子、桌子、墙等。这些模型可以用圆柱、平面等表示出来。(附图母校教室)
- 需要用一些非规则的造型工具表示这些房、林、树、草等。所以造型是第一步。(附图鼓浪屿)
-
光照模型
- 自然光现象是由一些物理学定律所决定的,而这些物理学定律又非常复杂。所以希望用一些简单的数学模型来近似、代替那些物理学的模型,为模拟物体表面的光照物理现象的数学模型叫光照模型。
-
绘制(渲染)技术
第三步是选择适当的绘制算法来把这个场景画(渲染)出来。就是将模型真实性(或艺术性)显示在屏幕上。
渲染 一幅三维物体图像所涉及的知识,实际上就是计算机图形中每个像素看上去应该是什么颜色的问题。这很大程度上取决于不同的光照模型。
如何画(绘制)有许多方法,如光线跟踪、辐射度算法、纹理映射、阴影等。
-
围绕着生成、表示物体图形的准确性->真实性->实时性,算法可大致分为以下几类:
- 基本图形元素的生成算法
- 图形的变换和裁剪
- 自由曲线和曲面生成算法
- 几何造型技术
- 真实感图形的生成算法
- 自然景物的生成
- 计算机动画技术
- 虚拟现实技术
- 交互式三维图形处理
- 热点问题探讨