Document

计算机图形学
东北大学 闻时光
课程简介

学习方法

实验课
小组项目
联系方式


[email protected]
 8368 8326 闻时光

参考书目



陈元琰 《计算机图形学实用技术》清华大
学出版社 2007.3
孔令德 《计算机图形学实用教程》清华大
学出版社 2008.4
Philip J.Schneider 《计算机图形学几何工具
算法详解》电子工业出版社 2005.1
图形

图形是传递信息最主要的媒体之一。

人们使用图形来表达与交流思想有着悠久
的历史,工程领域和各个科学分支都离不
开图。它能使人们通观全局,一目了然。

人的眼睛从一张图纸中吸收信息比从一张
数据表格吸收信息快得多。若图形和数字
互为补充,则可使人们更深刻地认识事物
的本质及其内在联系。
计算机图形学定义

是研究怎样利用计算机表示、生成、处理
和显示图形的原理、算法、方法和技术的
一门学科。它与一般的科学计算不同。
在一般的科学计算中,涉及的是数字运算,
 在计算机图形学中则是以基本的几何元素为其
运算对象的。这些几何元素描述物体的模拟图
示表示:符号、线图、阴影区域和物体等。


研究计算机图形学的主要工具是图形显示
系统和绘图机、打印机等,乃至三维虚拟
环境。
计算机图形学相关学科
P.R.——对图象提取特征、予以分类
和描述关系,再进行模式匹配
C.G.——对非图形信息产生图形
I.P.——对图象采用增强、变换等技术进行处理
增强(对比度):对暴光过度或不足,以及
模糊的图象进行处理。
变 换:一幅亮度范围宽的图象—>两种亮
度的图象—>线条状图形
C.G.、I.P.和P.R.之间的区别
C. G.
描述
图像
P. R.
I.P.
应用领域







1.管理、科学技术
2.制图学
3. 动画
4. 计算机辅助设计 CAD
5. 模拟
6. 艺术和教育
7. 办公自动化
管理、科学技术


绘制数学、物理
以及经济函数的
二维及三维图形:
直方图、线条图、
扇形图、进程
图...
特点:简洁、直
观 ——>数据的
模型和趋势。
制 图 学

以高精度的地理
或其他自然现象
的图形 —>纸或
胶片上。包括地
图、地质图、油
层图、海图、气
象、人口密度
图...
动画

用计算机可以
产生逼真的动
画效果,可用
于艺术创作,
模拟真实的环
境,或进行飞
机、驾驶等训
练。
计算机辅助设计 CAD
元部件:机械、电气、电子设备...
{
设
计
{
系
统
结构(建筑物、汽车车身、飞机
和船的外壳及内部结构)
光学系统
电话及计算机网络
汽车效果图和线框图
模 拟

DNA
数学图形——科学现象的数学模
型(液体流动、相对论、核反应、
化学反应、生理系统与器官以及
有负载时结构的变形等)
皮肤结构:
真皮,
上皮及附
属结构
模 拟



云雾、烟、其他大小
形状不同的飞机等特
殊景物
飞行模拟器:固定环
境的景色
可用在月球登陆的宇
航员(练习登月)、
宇宙飞船驾驶员(首
航前训练)
过程控制

利用交互式图形生成
技术形成的人机交互
系统,实现人与控制
或管理对象之间的相
互作用。如工厂中的
设备、工序控制,机
场与铁路的调度等。
艺术和教育:

蝉(线框图)
教学活动
艺术和教育

艺术广告

艺术绘画
办公自动化

在办公室中,用图形方式显示并交
换文件、报表、图例和其它信息,
并在输出设备上输出、保存起来。
图形学发展历史50s


1950年,第一台图形显示器作为美国麻省理
工学院(MIT)旋风I号(Whirlwind I)计
算机的附件诞生了。该显示器用一个类似
于示波器的阴极射线管(CRT)来显示一
些简单的图形。
1958年美国Calcomp公司由联机的数字记录
仪发展成滚筒式绘图仪,GerBer公司把数
控机床发展成为平板式绘图仪。
图形学发展历史60s


1962年,MIT林肯实验室的Ivan E.Sutherland发表
了一篇题为“Sketchpad:一个人机交互通信的图
形系统”的博士论文, 首次使用“Computer
Graphics”这个术语,证明了交互计算机图形学是
一个可行的、有用的研究领域
1964年MIT的教授Steven A. Coons提出了被后人
称为超限插值的新思想,通过插值四条任意的边
界曲线来构造曲面。同在60年代早期,法国雷诺
汽车公司的工程师Pierre Bézier发展了一套Bézier
曲线、曲面的理论,成功地用于几何外形设计。
Coons方法和Bézier方法是CAGD最早的开创性工
作。
图形学发展历史70s


70年代是计算机图形学发展过程中一个重要的历
史时期。光栅显示器的产生,图形学进入了第一
个兴盛的时期,并开始出现实用的CAD图形系统
1977、1979年开始,计算机图形学标准制定,真
实感图形学和实体造型技术的产生。


1970年Bouknight提出了第一个光反射模型,1971年
Gourand提出“漫反射模型+插值”的思想,被称为
Gourand明暗处理。r 1975年Phong 提出了著名的简单
光照模型—Phong模型。这些可以算是真实感图形学最
早的开创性工作。
从1973年开始,相继出现了英国剑桥大学CAD小组的
Build系统、美国罗彻斯特大学的PADL-1系统等实体造
型系统。
图形学发展历史80s



1980年Whitted提出了一个光透视模型—Whitted模
型,并第一次给出光线跟踪算法的范例,实现
Whitted模型。
1984年,美国Cornell大学和日本广岛大学的学者
分别将热辐射工程中的辐射度方法引入到计算机
图形学中,用辐射度方法成功地模拟了理想漫反
射表面间的多重漫反射效果。
1986年,美国科学基金会(NSF)专门召开了一
次研讨会, 会上提出了“科学计算可视化
(Visualization in Scientific Computing,简称为
ViSC)”。
SIG GRAPH



SIGGRAPH 会议, “TheSpecial Interest Group
on Computer Graphicsand Interactive
Techniques”ACM SIGGRAPH会议是计算机图形
学最权威的国际会议,每年在美国召开,参加会
议的人在50,000人左右。世界上没有第二个领域
每年召开如此规模巨大的专业会议,SIGGRAPH
会议很大程度上促进了图形学的发展。
1974 年在Colorado 大学召开了第一届
SIGGRAPH 年会。
因为每年只录取大约50篇论文,在Computer
Graphics杂志上发表,因此论文的学术水平较高,
基本上代表了图形学的主流方向。
虚拟现实

虚拟现实技术就是利用计算机生成一个逼真的三维虚拟环
境,通过自然技能使用传感设备与之相互作用的新技术。




它与传统的模拟技术完全不同,是将模拟环境、视景系统和仿真
系统合三为一,利用头盔显示器、图形眼镜、数据服、立体声耳
机、数据手套及脚踏板等传感装置,把操作者与计算机生成的三
维虚拟环境连结在一起。
与传统计算机相比,虚拟现实系统具有三个重要特征:临
境性、交互性、想象性。
虚拟现实建模语言VRML是描述虚拟环境中场景的一种标
准,可以利用它在INTERNET建立交互式的三维多媒体
环境。
VRML的基本特征包括分布式、交互式、平台无关、三维、
多媒体集成和逼真自然等,国际标准化组织1998年1月正
式将其批准为国际标准。
计算机艺术



可用于美术创作的软件很多,如二维平面的画笔程序(如
CorelDraw,Photoshop,PaintShop)、专门的图表绘制软
件(如Visio)、三维建模和渲染软件包(如3DMAX,Maya)、
以及一些专门生成动画的软件(如Alias,SoftImage)等。
这些软件不仅提供多种风格的画笔、画刷,而且提供多种
多样的纹理贴图,甚至能对图像进行雾化/变形等操作。
很多功能是一个传统的艺术家无法实现也不可想象的。
当然,传统艺术的一些效果也是上述软件所不能达到的。
例如钢笔素描的效果,由于钢笔素描与传统的图形学绘制
方法差别很大,所以研究起来难度也颇大,很多学者已在
这方面做了卓有成效的工作,取得了一定的成果。
图形用户接口



用户接口是人们使用计算机的第一观感。一个友好的图形
化的用户界面能够大大提高软件的易用性,在DOS时代,
计算机的易用性很差,编写一个图形化的界面要费去大量
的劳动,过去软件中有60%的程序是用来处理与用户接口
有关的问题和功能的。
进入80年代后,随着Xwindow标准的面世,苹果公司图形
化操作系统的推出, 特别是微软公司Windows操作系统的
普及,标志着图形学已经全面融入计算机的方方面面。
目前几个大的软件公司都在研究下一代用户界面,开发面
向主流应用的自然、高效多通道的用户界面。研究多通道
语义模型、多通道整合算法及其软件结构和界面范式是当
前用户界面和接口方面研究的主流方向,而图形学在其中
起主导作用。
计算机图形学研究的基本问题

图形描述


图形变换


基本图形生成算法、消隐、绘图、光照模型等
图形输入


基本几何间的计算、裁剪、布尔运算等
图形显示/输出


二、三维变换、三维到二维、观察流程、几何变换等
图形运算


基本几何:直线、圆弧等;高级几何:曲线、曲面等
交互技术、参数化设计、造型技术等
算法和算法复杂性分析

空间和时间等
两个核心问题

如何建模
交互技术
 曲线
 造型


如何绘制
光栅图形学
 光照模型
 裁剪计算
 颜色模型

图形描述



一个物体的计算机描述叫做模型,它能被
计算机所懂得,并在一定的条件下(变换
和投影)被转换成相应的图形在显示屏幕
或绘图机上输出;
而图形是模型的一个具体可见像,是人们
所看到的模型的表征。
在三维空间,描述的是几何形体和几何曲
面,只有在平面上,它才是人们通常所称
的图形。
图形描述


几何形体以封闭的表面表示,一般为一个
由平面和曲面围成的多面体。
一个几何形体在空间上应是完备的(几何性
和拓扑性),而且包含足够的用于推导的任
何空间函数(如直线方程、平面方程、曲面
构造等)以及进行各种形体运算与处理的信
息。
图形描述

在多面体表示中,有关的基本元素(体、面、环、
棱和顶点)的信息分为二大类:





几何信息:用以确定每个分量在欧氏空间中的几何位
置(如点坐标)和描述(如平面方程系数);
拓扑信息:用来定义几何元素的数目及相互间的连接
关系。
几何信息只考虑点、线和无限面。
拓扑信息将点看作顶点,将线限制为棱(线段),
由外环和内环定义出面和内孔。
一个完全的三维几何体描述,几何信息和拓扑信
息两者都是必要的
图形描述


描述一个多面体各元素之间的拓扑关系可
以互相推导。故理论上只需存储一种关系
就行了,但由于关系的推导要付出代价,
所以一般的系统常同时存储若于种拓扑关
系。
这些拓扑关系,既要足够地表示出几何形
体的构造,又要尽量压缩信息的存储量,
且要便于检索和修改,而十分重要的是要
便于计算机的自动生成。
图形描述




对于曲表面的几何形体,需分别研究自由
曲线和自由曲面的建立;
用于插值和数学放样的三次样条函数是应
用得最早研究得最详尽的一种。
Bezier曲线和曲面与B样条曲线和曲面是在
计算机辅助几何设计应用最广的曲线和曲
面几何构型方法。
关于这些方面的研究,至今仍在继续发展
中。
图形描述

平面上图形的描述是基于直线和圆弧的描
述。仅用这两种基本几何元素就可构成平
面上的任何图形。因而直线段和圆弧段也
叫基本几何段,本课程将详加阐述。

数据结构技术在图形描述中起着关键的作
用。线性链接表、树结构、堆栈、队列等
将广泛应用于几何模型的描述、运算和显
示中。
图形输入

图形输入需要解决的问题是:
交互输入的方法。
 工程设计图纸直接输入(矢量识别)的方法。
 将自由手书的立体构造或三视图重构的方法。
 计算机自动生成方法。
 从物体的多幅深度图像重建三维几何模型。


通过三维激光扫描仪在物体表面测得一些离散
点,再用重构算法生成网格模型等等。
图形输入



图形输入的常规方法是将事先写好的源程
序(指令)在屏幕上输入,即所谓的编程输入,
使得人、机之间的交互作用缓慢。
对于工程上常用的一类规格化图形,可以
编制一个通用程序,采用格式数据输入的
办法得到图形。
但是在处理三维的,或是形状复杂的物体
时还有较多的困难,输入数据太多就是一
个障碍。
图形输入




除了这种图形的直接输入之外,通过对基本体元
的构型产生新的、复杂的三维物体也是一种输入
的手段,当然这需要涉及更多的研究。
从计算机图形学的发展情况看,对图形输出的研
究多于对图形输入的研究,许多人往往被计算机
输出的美妙图形所迷惑,却看不到为得到这些图
形所做的大量数据输入的准备工作。
图形输入的工作量和难度并不亚于几何算法和图
形输出。
随着时间的推移,图形输入将越来越成为计算图
形学应用中的主要障碍。
图形变换

一个图形系统需具有图形变换的功能。这
种变换包括二维变换、三维变换和三维向
二维的变换三种。

对应于几何元素及其选定的坐标系来说,
则包括几何变换和坐标系变换两种。这些
变换系统称为图形变换。

在构造、产生、处理和输出图形的各个环
节,图形变换起着重要的作用。
图形变换



人们可以直接定义一个几何图形或几何体,也可
通过对某些几何体的变换去构造新的几何体或其
中的某个部份。这种变换可以是平移、放大(缩
小)、旋转、反射、错切等。
一个三维场景通常就是由一些基本几何元素通过
上述操作构造的。例如,可以通过平移的办法装
配一幢建筑物的大部份窗子,这使得图形输入大
为简化。
在进行图形处理的过程中,还可以放大一个图形
以便使其某一部份能更清楚地显示;缩小图形以
便看到图形更多的部份。
图形变换

在显示或绘制一个环境的时候,需要将三
维信息映射到二维屏幕上。轴测投影、平
行投影和透视投影用于完成这项工作。

在视点改变得非常快或物体相对运动的应
用场合,变换必须反复运用。因此,找到
一个有效的方法去实现图形变换是十分重
要的。
图形变换

采用向量、矩阵和齐次坐标的形式去描述图形变
换是一种比较好的办法,它允许将线性代数的一
些基本理论应用到图形变换中。



例如一个矩阵对应于一个变换,图形的连续变换可由
矩阵的相乘实现,而逆矩阵对应于一个逆变换。
所有的变换都基于点变换,例如对一条线段的变
换只需考虑其两个端点的变换就可以了。
基本几何元素描述的变换也和点的变换有密切的
联系。

例如描述一条直线的方程系数在不同坐标下的关系也
可由点变换的相应变换矩阵求得。
图形运算



在三维空间,图形的运算是一种几何形体的运算,它是
CAGD的一个重要操作,这种操作通常叫做物体造型,或
几何造型。
设计人员可通过修改立方体,圆柱体之类的基本体元来生
成形体。例如通过缩放,通过用集合论中的并、交、非、
差等概念所进行的各种布尔运算把一些基本物体体元组合
起来。设计人员的职责是把各体元正确地定位下来,使得
这些运算能进行下去。
另一方面几何造型系统还负责估计各体元之间的相互作用,
各种相交出现的位置以及它们之间的相互关系,以确保生
成法定的三维形体。系统还必须正确地、在计算机限制下
内尽可能精确地完成相交分析。
图形运算

几何造型系统常处理一些比较简单的体元:立方
体、圆柱体、楔、嵌条,以直线或圆弧为边界的
薄片等。


所涉及的线和面在几何上是简单的直线、圆弧、平面
和圆柱面,处理这些由一个正确的方式构造出来的物
体的相交,从概念上是比较容易的。
但主要困难在于:虽然几何简单,但多个元素的
拼合却是复杂的。

故对于确实复杂的形体的组合问题,所需的几何算法
的效率就变得十分重要,需进行几何复杂性分析。
图形运算


几何造型系统较之早期图形系统的显著优越之处
在于:无需人为干预就能预定形体与执行一连串
运算。即具有高度自动化的图形定义或构造、产
生处理或演变功能。
几何元素的定向在图形运算中起着相当大的作用。


例如平面图形的几何运算就是建立在以向量为基本几
何元素的环的基础上实现的。
直线和圆弧这两种基本几何段的相贯运算是平面
图形运算的基础,保证这些算法的准确性,提高
这些算法的效率是计算机图形系统一项基础性的
工作。
图形输出

图形输出是人— 机交互系统中人们能够得
到的最直观的结果。它直接向人们显示出
计算机图形系统的效果。

相对而言,图形输出计算机图学中研究得
最早、最深入、解决得最好的一部份工作。
图形输出

一个物体的制造者可以从一张多视图的图样里了
解到许多内容。因此,一个能在二维参考平面里
提供综合的,绘制直线和曲线的系统也就提供了
画出一个复杂而详细的图形或物体的基础。

但是,图形只是三维物体的某一个特定的不完整
的表示。而物体有一种图里没有的,与众不同的
特性— —完全的三维定义。人们可以随意地在三
维空间中把物体旋转和平移以及物体的综合,但
一般不能用图形做到这一点。
图形输出








基本几何(点、直线、圆及圆弧等)和文字的光
栅化显示,几何裁剪算法
基本几何的描述、相交算法,曲线拟合和双圆弧
逼近算法,动态显示的插值算法。
图形显示中的裁剪算法,通常称为窗口算法;
隐藏线、隐藏面消除算法。
光照模型及算法。
纹理贴图;
大规模场景显示算法;
图形显示软件和打印机、绘图机等的图形输出后
处理软件等等。
几何算法、几何复杂性和计算效率




一个动画程序,一个游戏程序,用户的起码要求
是“流畅”;
支撑它的是几何算法,几何复杂性问题及计算的
效率。
许多通过交互设计各种形体的系统,其成功的主
要断依据是凭视觉。例如套料问题,这在造船、
服装等行业是极为有用的,然而至今存在的系统
还是由人机交互作用来完成。
而几何造型系统在相交问题的正确算法和处理组
合比较复杂问题的能力,这种系统的发展表明,
需要多多研究几何算法。
几何算法、几何复杂性和计算效率



几何相交问题在几何算法中占有较大的比重,在
平面上,它处理直线和直线,圆弧和直线,圆弧
和圆弧等基本几何的相交,在三维空间则是处理
直线和平面,平面和平面的相互关系。
但是,并不是所有的处理直线和直线的相交都是
简易的。
例如,考虑两个平面多边形相交的状态,按照
Shamos(1978)算法,如果这两个多边形是凸的,
对于n条边的多边形可以用O(n)的时间解决这个
问题。而对于两个任意非凸多边形,为解决这个
问题要花O(n2)的时间,可能形成达n2/4个不相叠
的凸多边形。
几何算法、几何复杂性和计算效率

观察一个时间复杂性的例子:


问题:设给定n个已经排序的数的队列,现在要插入一
个新的数到这个队列中,并保持队列原有的次序,几
何复杂性为O(n)次主算。应用二分法,可降为O(log2n)
次。
如果不计检索到元素后对其处理所花费的计算时间,
而只对n的步数计算时间,那末当n=60时:






n:6×10-5秒
N^2:36×10-4秒
N^3:216×10-3秒
N^5:13分钟
2^n:366世纪
3^n:1.3×1013世纪
几何算法、几何复杂性和计算效率

降低几何复杂性是几何算法的一个努力目
标,它可以提高算法的效率。

过去开发仅仅能“工作”的算法就常常足
够了,即使在某些情况下效率低也无妨。

随着使用计算机进行几何设计的增加,以
及要解决问题的范围之扩大,效率、精度
和正确性的问题就变得非常重要了。
计算机图形学的相关开发技术

计算机图形学经过几十年的发展,已经达
到了比较高的水平,目前已有若干图形学
软件开发技术。

利用这些开发技术,编写图形程序就容易
多了,不必从底层开始,而只需将精力集
中到图形程序本身上。
OpenGL


OpenGL:OpenGL 是OpenGraphicsLib的缩写,
是一套三维图形处理库,也是该领域的工业标准。
OpenGL源于SGI公司为其图形工作站开发的IRIS
GL,在跨平台移植过程中发展成为OpenGL。
OpenGL被设计成独立于硬件,独立于窗口系统
的,在运行各种操作系统的各种计算机上都可用,
并能在网络环境下以客户/服务器模式工作,是专
业图形处理、科学计算等高端应用领域的标准图
形库。
OpenGL



Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采
用了OpenGL作为三维图形标准。
许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,
包括动画制作软件Soft Image和3D Studio MAX、仿真软
件Open Inventor、VR软件World Tool Kit、CAD软件
Pro/Engineer、GIS软件ARC/INFO等等。
OpenGL实际上是一个开放的三维图形软件包,它独立于
窗口系统和操作系统,以它为基础开发的应用程序可以十
分方便地在各种平台间移植;OpenGL与C++紧密接合,
便于实现图形的相关算法,并可保证算法的正确性和可靠
性;OpenGL使用简便,效率高。
ACIS



ACIS是美国Spatial Technology公司推出的三维几
何引擎,为各种3D造型应用的开发提供了几何造
型平台,目前的最高本版已经到了R13。ACIS 能
够安装在多种平台上,包括Windows, Linux, Unix,
Solaris, AIX等。
ACIS采用了软件组件技术,用C++技术构造,它
包含一整套的C++类和函数,开发人员可以使用
这些类和函数构造一个面向终端用户的2/3维软件
系统。
ACIS是一个基于边界表示法的造型引擎,集线框、
曲面和实体造型于一体,并允许这三种表示共存
于统一的数据结构中。
ACIS

ACIS系统的造型方法有:
覆盖技术(covering):覆盖一个由曲线组成的闭
合区域的曲面
 放样技术(lofting):通过一系列的曲线和与这
些曲线相关联的曲面来构造新曲面的一种技术
 蒙面技术(skinning):在一系列曲线之间构造一
个曲面

ACIS



网格曲面(net surfaces):用一族曲线网来定
义曲面的u和v参数方向,这为控制最终的
曲面形状提供了很大的自由度
规则(law)和图(graph):提供规则类,直接
用数学方程定义实体中的边和面
扫掠(sweeping):通过扫描一个轮廓(profile)
来生成实体(solidbody)或者薄片体(sheet
body)。ACIS有三种不同的扫掠操作:规则
扫掠、垂直扫掠以及刚性扫掠
DirectX



DirectX是一种图形应用程序接口(API),它是
一个提高系统性能的加速软件,由微软公司创建
开发,微软将其定义为“硬件设备无关性”。
DirectX 就是一系列的DLL(Dynamic Link Lib),
通过这些DLL,程序员可以在无视于设备差异的
情况下访问底层的硬件。
DirectX并不是一个单纯的图形API,它是一个用
途广泛的API, 它包含有Direct Graphics(Direct
3D+Direct Draw)、Direct Input、DirectPlay、
Direct Sound、Direct Show、DirectSetup和Direct
Media Objects等多个组件,它提供了一整套的多
媒体接口方案。
DirectX



DirectX主要应用于游戏软件的开发。
微软公司给众多的软、硬件商家提供一个共同开
发的标准平台(就是DirectX),大家都遵循这个标
准,硬件制造商按照此标准研发制造更好的产品,
游戏程序员根据这套标准开发游戏。
无论硬件是否支持某特殊效果,只要DirectX标准
中有,程序员就可以把它写到游戏中,当这个游
戏在硬件上运行,如果此硬件根据DirectX标准把
这个效果做到了此硬件驱动程序中,驱动程序驾
驭其硬件算出此效果,用户就可以欣赏到此效果。
Java3D



Java3D API是Sun定义的用于实现3D显示的
接口。
3D技术是底层的显示技术,Java3D提供了
基于Java的上层接口。
Java3D把OpenGL和DirectX这些底层技术
包装在Java接口中。这种全新的设计使3D
技术变得不再繁琐并且可以加入到J2SE、
J2EE的整套架构,这些特性保证了Java3D
技术强大的扩展性。
Java3D

Java3D实现了以下三维显示能够用到的功能








生成简单或复杂的形体(也可以调用现有的三维形体)
使形体具有颜色、透明效果、贴图等
在三维环境中生成灯光、移动灯光等
具有行为处理判断能力(键盘、鼠标、定时等)
生成雾、背景、声音等。
使形体变形、移动、生成三维动画等。
编写非常复杂的应用程序,用于各种领域如VR(虚拟
现实)
Java3D是一个独立的可选组件,可以单独下载
VRML



VRML(Virtual RealityModeling Language)是一种标记语
言,而不是一种API开发包。它使用VRML浏览器能读懂
的ASCⅡ文本格式来描述世界和链接。
VRML既可以用来建立真实世界场景的模型,也可以建立
虚构的三维世界,就像许多游戏那样。VRML的设计是从
在Web上欣赏实时的3D图像开始的。
VRML浏览器,既是插件,又是帮助应用程序,还是独立
运行的应用程序,它是传统的虚拟现实中同样也使用的实
时3D着色引擎。这使得VRML应用从三维建模和动画应
用中分离出来,在三维建模和动画应用中可以预先对前方
场景进行着色,但是没有选择方向的自由。
VRML




VRML提供了6+1个自由度,可以沿着三个方向移
动,也可以沿着三个方位旋转,同时还可以建立
与其他3D空间的超链接。因此VRML是超空间的。
VRML使用场景图(Scene Graph)数据结构来建立
3D实境, 这种数据结构是以SGI开发的
OpenInventor 3D工具包为基础的一种数据格式。
VRML的场景图是— 种代表所有3D世界静态特征
的节点等级:几何关系、质材、纹理、几何转换、
光线、视点以及嵌套结构。
几乎所有生产三维产品的厂商,无论是CAD、建
模、动画、VR,还是VRML,它们的结构核心都
有场景图。
VRML



VRML在许多方面是与HTML平行的。
VRML的文件.wrl是由可阅读的ASCⅡ文本
构成的。这样一个文本编辑器就可以变成
一个VRML世界的生成工具。
程序员可以通过直接操作场景图来得到完
全的控制权和高度的灵活性。
五种计算机图形开发技术比较
总结







光栅图形学:经典基础算法
基本几何的表示和计算:算法的基础
数据结构:计算机图形学的基础
图形变换:新的叙述方法——几何表示
图形输入:三维造型、曲线、曲面
图形输出:光照模型
虚拟现实:计算机图形学的极致应用
考核方法




开发语言 C/C++/matlab
工具库 OpenGL, OGRE, Direct3D,不强调全
部自己开发
分组 可以采用单人或分组方式,人数最多
不超过四人 可以跨班级组队
评分 作品创意,效果,难度,分工,总结
材料
总结材料

文档
总体方案 详细设计
 源代码 注释



成果展示
要求
提交的文件结构清晰,内容完整
 源程序可读性好
 设计报告有总体框架,算法描述

作品

综合运用各个课程知识
策划
 设计
 开发
 测试
 总结
