计算机图形学基础:简介
什么是图形学?用计算机来研究图形的表示、生成、处理和显示的学科。计算机图形学是计算机科学中,最为活跃、得到广泛应用的分支之一。为什么要研究图形学电影游戏计算机仿真(飞行模拟、战场模拟)CAD/CAM/CAE-计算机辅助设计、制造和工程建筑可视化计算机图形学的研究内容如何利用在计算机表示图形、以及利用计算机进行图形的计算、处理和现实,构成了计算机图形学的主要研究内容。图形硬件、图形标准、图形交互技术
什么是图形学?
用计算机来研究图形的表示、生成、处理和显示的学科。
计算机图形学是计算机科学中,最为活跃、得到广泛应用的分支之一。
为什么要研究图形学
电影
游戏
计算机仿真(飞行模拟、战场模拟)
CAD/CAM/CAE-计算机辅助设计、制造和工程
建筑
可视化
计算机图形学的研究内容
- 如何利用在计算机表示图形、以及利用计算机进行图形的计算、处理和现实,构成了计算机图形学的主要研究内容。
图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
图形与图像
- 图像单纯指计算机内以位图(Bitmap)形式存在的灰度信息。
- 图形含有几何属性,更强调场景的几何表示,是由场景的几何模型和景物的物理属性共同组成的。
- 图形主要分为两类:
基于线条信息表示
明暗图(Shading)
图形学与CAD
- 1962年,MIT林肯实验室,I.E.Sutherland,“Sketchpad:一个人机交互通信的图形系统”
- Coons, CAD的概念,Coons曲面,Coons奖
图形学与模式识别
图形学与视觉
- 基于图像的绘制
- 基于视频的绘制
计算机图形学的发展历史
- 50年代,
1950年,第一台图形显示器作为美国麻省理工学院(MIT)旋风Ⅰ号(Whirlwind Ⅰ)计算机的附件诞生。
也就是说我们有了第一个图形的硬件,我们可以在它上面显示图形,这是一件里程碑的事情。
1958年,美国Calcomp公司由联机的数字记录仪发展成滚筒式绘图仪(我们可以做图形的打印),后来GerBer公司把数控机场发展成平板式绘图仪。
这是早期的图形硬件
50年代末期,MIT的林肯实验室在“旋风”计算机上开发了美军的SAGE空中防御体系。
也就是说图形学这门学科它是在军事应用中萌芽产生的
- 60年代
1962年,MIT林肯实验室的博士生I.E.Sutherland发表了一篇题为“Sketchpad:一个人机交互通信的图形系统”的博士论文。这篇博士论文提出了图形学的概念,也成就了他“图形学之父”的英名。Sutherland本人获得了“图灵”奖,IEEE的最高奖“杰出成就奖”,计算机图形学本领域最高的一个奖,叫"Coons“奖。Coons教授是Sutherland学位论文答辩的委员。
来看看Sutherland不平凡的一生:
I.E.Sutherland, 38年生,美国人,CMU学士、Catch硕士、MIT博士,1963年博士毕业。
1964年,26岁担任国防部高级研究计划署(DARPA)信息处理技术局局长。
1965年起,先后在哈佛、Utah、Catech工作。
培养的学生:
Bob Sproull,虚拟现实的发明人,第一本图形学教科书,美国工程院院士、美国艺术与科学院院士。(哈佛大学)这个人写了第一本图形学的教科书。
Danny Cohen,发明Cohen-Sutherland算法,美国工程院院士,在ARPANet上开发飞行模拟器。(哈佛大学)
Alan Kay,发明面向对象编程、窗口图形用户界面;美国工程院院士、美国艺术与科学院院士,图灵奖获得者。(犹他大学)
Edwin Catmull,细分算法发明人,Z-buffer算法发明人,Coons奖,Oscar(奥斯卡)奖,Pixar动画,Deesney(迪士尼)动画的现任总裁。(犹他大学)
Henri Gouraud, Gouraud shading的发明人
Frank Crow,图形反走样算法的发明人
1962年,雷诺汽车公司的Pierre Bezier 提出了 Bezier曲线曲面的理论,成为CAGD(计算机辅助几何设计)的先驱。
当时在法国有两个很有名的汽车厂,一个叫雷诺,一个叫雪铁龙,在雪铁龙公司,有另外一名工程师,叫de Casteljau,也做了类似的工作,都是开发一个系统,来做汽车的设计,另外自己搞了一套数学理论。但是因为Bezier的工作很早就发表出来了,大家不知道de Castelijau的工作,所以我们都叫Bezier曲线曲面。但是呢,在Bezier曲线曲面理论里面,最关键的一个算法,叫de Castelijau算法,就计算曲线上一点的值,坐标,这个算法呢,是de Castelijau发明的。所以它的英名也没有被埋没。
那么Bezier曲线曲面这套理论非常的巧妙,我们后面会讲这套理论,那么开始的时候大家都觉得很奇怪,怎么会有这么好的一个理论,这么好的一个方法,它让工程师作图,用计算机作图,变得和用直尺圆规一样简单。这是一个划时代的革命,非常了不起,所以当时日本的一个专家,叫会板桥,说Bezier曲线理论就像从天上掉下来一样。1972年,英国剑桥大学的博士生Forrest,发表了一篇文章,揭示了它的数学原理。
1964年MIT教授Steven A. Coons提出了超限插值的思想,就中国的灯笼的这个思想,通过插值四条任意的边界曲线来构造曲面。他还在58年提出”CAD"的概念,后来图形学的最高奖是以它的名字来命名的。
- 70年代
设备的发展,光栅显示器的出现,图形学进入了光栅图形时代
我们开始研究:区域填充、裁剪算法、消隐算法,等等,还有很多其它的算法。就是我们在图形显示的时候,这个场景可能很大,而图形窗口是一个有限的区域,对窗口之外的元素我们不必要处理它,这叫裁剪,消隐就是要把物体背后看不见的东西去除掉,你要消除隐藏的线和面,这样才有立体感,才能有真实感。这些算法都是非常关键的,都是70年代做的事情。
1974年,ACM SIGGRAPH与ACM成立图形标准化委员会,表准是非常重要的,同学们现在买显卡,买各种各样的鼠标,键盘,你拿来买来一插就能用,那是因为这些厂家遵循一些共同的工业标准,或者是国际标准,所以标准是非常重要的,那么开始就做标准,它们做了一个叫做CGS-”核心图形系统“-(Core Graphics System)的标准。后来ISO国际标准化组织呢,发布了CGI、CGM、GKS、PHIGS等一系列的图形标准。
那么同样也是在70年,图形学真正的主角,真实感图形学开始了。在1970年,Bouknight提出了第一个光反射模型,它指出,我们在图形绘制的时候,应该用光反射模型。
那么到1971年呢,Gourand提出了Gourand明暗处理,提出”漫反射模型+插值“的思想。因为当时的计算机很慢,当我们表示一个模型的时候,我们都是用一些多边形来拼接表示的。现在也是这样做,现在可以做得更精细,网格数可以更多一点,可以有几百万个面片来表示,当时只有几十个,就这样的话呢,模型表面有很多棱线,折线边,就效果很不好。他引进了插值的思想,通过插值,可以让图形的表示非常的光滑。
1975年,Phong提出了著名的模型:简单光照模型-Phong模型。Phong的这个贡献完全是站在Gourand的基础上。他是在Gourand的明暗处理的基础上加了一个东西,加高光项。高光-在金属或者有一些反射属性强的物体的表面会有一些光斑,这些光斑呢,称为高光。那么他指出我们可以加一项,来反映这个高光问题,那么这就是Phong模型。Phong模型尽管简单,到目前为止还是被大量的采用,特别是在游戏这样一些需要实时性强的一些领域。
也是在70年代,在美国和英国,人们开始研究,实体造型技术。因为机械工业的推动,因为其它一些行业的推动,开始做实体造型。英国剑桥大学的CAD小组开发了一个系统叫Build系统;美国的罗彻斯特大学做了一个叫PADL-1系统。这两个系统都想证明:任何一个复杂的模型都可以用一些简单的模型拼起来。我有一些简单的元素,称为qisu,它可能是实心的立方体,实心的球,实心的圆环,或者圆柱,或者圆锥,都是实心的,实的里面是。然后我通过它们做并,并起来,做交,求交,公共部分,还有求差,来实现复杂物体的生成,搞了这样一套理论,也就是所谓的bool运算。
- 80年代
1980年Whitted提出了第一个光投射模型-Whitted模型,并第一次给出光线跟踪算法的范例,实现Whitted模型。那么光线跟踪呢,是图形学里面的一个里程碑,他第一次让我们能够高度真实的模拟,比如说我们可以做玻璃透明的效果,我们可以做镜面,镜子,可以做地毯,都能实现出来,这是一个以色列的算法。Whitted一生的这个贡献,足以让他成为先驱。后来他也被评为美国工程院院士,其实他也就这一个算法,但是就足够了,这个算法长度也不超过二十行。
1984年,美国Cronell(康奈尔)大学和日本广岛大学的学者分别讲热辐射工程中的辐射度方法引入到计算机图形学中,开创了图形绘制的辐射度方法。当时Cornell大学有个教授叫Greenberg,他是第三位获得图形学最高奖的人,第一位是Sutherland,第二位是Bezier ,他是第三位。Greenberg一直在大学,他培养的学生很多。另外一个是Nishita,是日本广岛大学的一个学生,他也独立地提出了这套理论。
在80年代,图形硬件和各个研究分支,都得到快速的发展。
ACM SIGGRAPH会议小知识
acm是美国计算机学会
全称”the Special Interest Group on Computer Graphics and Interactive Techniques“,它是ACM的一个分支机构。在60年代中期,由Brown大学的教授Andries van Dam(Andy)和IBM公司的Sam Matsa发起。
1974年,SIGGRAPH在Colorado大学召开了第一届年会,并取得了巨大的成功。
这是SIGGRAPH的网址:http://www.siggraph.org
图形学的杂志和会议:
会议:
Siggraph, Enrograph, Pacific Graphics, Computer Graphics, Computer Graphics International, Graphics Interface.
杂志:
ACM Transaction on Graphics每年六期
IEEE Computer Graphics and Application
IEEE Visualization and Computer Graphics
Computer Graphics Forum
The Visual Computer
Graphical Models
Computer & Graphics
图形学的研究前沿及其应用
-
真实感图形绘制
真实感绘制的目的是模拟真实物体的物理属性,包括物体的形状、光学性质、表面的纹理和粗糙程度,以及物体间的相对位置,遮挡关系等。
经典的真实感图形学-1990年之前:
光照模型:
- 简单光照模型-Phong模型
- 局部光照模型
- 整体光照模型
绘制方法:
- 光线跟踪
- 辐射度
加速算法及其它
- 包围体树、自适应八叉树等
- 阴影算法、纹理合成 -
研究举例
- 基于预计算的全局光照实时绘制
- 表面细节绘制与体纹理
- 头发的交互绘制与编辑
基于预计算的全局光照实时绘制:
提出一种曲面线性常数基函数,实现同时支持高频和低频的动态场景实时绘制。
IEEE Transactions on Visualization and Computer Graphics 2008
表面细节绘制与体纹理:
VDM, ACM SIGGRAPH 2003
体纹理
头发的交互绘制与编辑:
复杂光照环境下头发交互绘制与编辑
- 计算机动画
计算机动画是指采用图形和图像的处理技术,通过编程或动画制作软件来生成一系列的景物画面,其中当前帧是前一帧的部分修改。计算机动画是采用连续播放静止图像的方法产生物体运动的效果。
- 二维动画
图像变形
形状混合
- 三维动画
关键帧动画
变形物体的动画
过程动画
关节动画与人体动画
基于视频(Video)的动画
主要原理:让每个动物自己决定运动
基于应变场的动画变形
利用应变场插值求解动画变形
视点相关的流体模型
提出一种视点相关多尺度的流体模拟方法
- 几何造型和处理
几何造型研究利用计算机表示、构建三维几何模型,几何处理则侧重对已有模型进行处理,使得满足用户的要求。
几何造型:
曲线曲面造型:Bezier,B样条,NURBS
实体造型
几何处理:
简化
参数化
分割
特征提取
几何变形
注册:找一个最优的刚性变换,将一个运动的曲面模型和一个固定的曲面模型对齐。
N-system注册,IJCV
- 几何纹理的迁移与合成
风格的学习和合成是难点
特征敏感的几何处理
拓扑修复与编辑
纸雕Popup
-基于图像和视频的绘制
基于图像和视频的绘制是指利用图形学技术进行图像和视频的处理,以满足用户的特定需求。
画中游
视点变形(View morphing)
视频精灵(Video Sprites)
画中游
以一幅图像作为输入,生成在场景中漫游的效果
视点变形
视频精灵
视频精灵是一个利用输入视频进行帧序列重排来构造新视频的技术。
结果演示-目标控制
研究举例
基于重复对象检测的图像编辑
卡通矢量化
水流视频的水墨风格绘制
基于对象混合的图像合成
基于重复对象检测的图像编辑
卡通矢量化
将栅格动画转换为矢量格式动画,以方便素材重用和编辑
水流视频的水墨风格绘制
基于对象混合的图像合成
提出了一种交互图像合成算法,可将两幅图像的内容进行无缝地融合
基于海量数据的图像合成与编辑
海量的网络数据中蕴含着图像智能处理所需要的重要知识。
利用网络海量内容,基于认知计算模型和机器学习的图像智能处理成为重要发展趋势。
经典方法
卡内基梅隆大学:基于百万张照片的图像场景补全
华盛顿大学:基于互联网图像创建新型数字媒体内容
通过使用海量互联网图像,使得图像补全可以处理更加复杂的输入情况,并为用户提供丰富的选择。
基于互联网图像创建新型数字媒体内容
构建了一个基于大规模分布式图像视觉分析系统的新型数字内容重建系统
研究举例
Sketch2Photo:基于互联网的图像融合
PoseShop:基于人类图像库的个性化内容生成
利用关键词和草图对海量互联网数据进行过滤、搜索和合成
在09年的10月份的时候各国主流媒体都报道了这个工作。
本课程的主要内容:
- 绪论
- 光栅图形学
扫描转换、裁减、反走样、消影 - 几何造型
曲线曲面造型、实体造型 - 真实感图形学
Phong模型、光线跟踪、辐射度算法
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)