当前位置:文档之家› 计算机图形学复习要点

计算机图形学复习要点

计算机图形学复习要点
计算机图形学复习要点

计算机图形学

C o m p u t e r G r a p h i c s

E-M A I L:t y z h u w e n b o@163.c o m

主要内容

?计算机图形学绪论

?基本二维图形的生成(图形生成算法原理)?二维变换及二维观察(二维图形变化的数

学原理)

?三维变换及三维观察(三维图形变化的数

学原理及变化方法)

?曲线曲面的生成(三维曲线曲面的几种形

式)

?总结全课程

图形学概述

计算机图形学(C o m p u t e r G r a p h i c s)

?定义:计算机图形学是研究怎样用数字计

算机生成、处理和显示图形的一门学科。

?图形表示和绘制+输入/输出设备

M o d e l i n g+R e n d e r i n g v i a I n p u t/o u t p u t ?计算机图形学计算机科学中,最为活跃、

得到广泛应用的分支之一

数据计算机图形系统图形

计算机图形学

图形及图形的表示方法

?图形:计算机图形学的研究对象

?能在人的视觉系统中产生视觉印象的

客观对象

?包括自然景物、拍摄到的图片、用数学

方法描述的图形等等

?构成图形的要素

?几何要素:刻画对象的轮廓、形状等

?非几何要素:刻画对象的颜色、材质

?表示方法

?点阵表示

?枚举出图形中所有的点(强调图

形由点构成)

?简称为图像(数字图像)

?参数表示

?由图形的形状参数(方程或分析

表达式的系数,线段的端点坐标

等)+属性参数(颜色、线型等)来

表示图形简称为图形

?图形主要分为两类:

?基于线条信息表示

?明暗图(S h a d i n g)

第一章绪论

?1.计算机图形学的发展简史

?2.计算机图形学的研究内容

?3.计算机图形学的应用

?4.常用的图形设备

1.1C G的发展历史

?50年代

?1950年,第一台图形显示器作为美国

麻省理工学院(M I T)旋风I号

(W h i r l w i n d I)计算机的附件诞生了

?1958年,美国C a l c o m p公司由联机的

数字记录仪发展成滚筒式绘图仪,

G e r B e r公司把数控机床发展成为平板

式绘图仪

?50年代末期,M I T的林肯实验室在

“旋风”计算机上开发S A G E空中防

御体系

?60年代

?1962年,M I T林肯实验室的I.E.

S u t h e r l a n d发表了一篇题为

“S k e t c h p a d:一个人机交互通信的图

形系统”的博士论文--确定了交互图

形学作为一个学科分支(提出基本交互

技术、图元分层表示概念及数据结

构…)。

?1962年,雷诺汽车公司的工程师P i e r r e

Béz i e r提出Béz i e r曲线、曲面的理论

?1964年M I T的教授S t e v e n A.C o o n s提出

了超限插值的新思想,通过插值四条任

意的边界曲线来构造曲面。

?70年代(蓬勃发展时期)

?光栅图形学迅速发展

?区域填充、裁剪、消隐等基本图形

概念、及其相应算法纷纷诞生

?图形软件标准化

?1974年,A C M S I G G R A P H的“与机

器无关的图形技术”的工作会议

?A C M成立图形标准化委员会,制定

“核心图形系统”(C o r e

G r a p h i c s S y s t e m)

?I S O发布C G I、C G M、G K S、P H I G S

?真实感图形学

?1970年,B o u k n i g h t提出了第一个光

反射模型

?1971年G o u r a n d提出“漫反射模型

+插值”的思想,被称为G o u r a n d明

暗处理

?1975年,P h o n g提出了著名的简单光

照模型-P h o n g模型

?实体造型技术

?英国剑桥大学C A D小组的B u i l d

系统

?美国罗彻斯特大学的P A D L-1系统?80年代

?1980年W h i t t e d提出了一个光透视模

型-W h i t t e d模型,并第一次给出光线

跟踪算法的范例,实现W h i t t e d模型

?1984年,美国C o r n e l l大学和日本广岛

大学的学者分别将热辐射工程中的辐

射度方法引入到计算机图形学中

?图形硬件和各个分支均在这个时期飞

速发展

?90年代:微机和软件系统的普及使得图形

学的应用领域日益广泛。

?标准化、集成化、智能化

?多媒体技术、人工智能、科学计算可视

化、虚拟现实

?三维造型技术

1.2C G的研究内容

1.2.1C A G D(C o m p u t e r A i d e d G e o m e t r i c

D e s i g n)计算机辅助几何设计

?几何形体在计算机中的表示,分析、研究

怎样灵活方便地建立几何形体的数学模

型,提高算法效率,在计算机内更好地存储和管理这些模型等。研究曲线、曲面的表示、生成、拼接、拟合。

1.2.2图象处理

?研究如何对一幅连续图像取样、量化以产

生数字图像,如何对数字图像做各种变换以方便处理

?如何滤去图像中的无用噪声,如何压缩图

像数据以便存储和传输,图像边缘提取,

特征增强和提取

1.2.3计算机视觉和模式识别

?图形学的逆过程,分析和识别输入的图像

并从中提取二维或三维的数据模型(特

征)。手写体识别、机器视觉

?计算几何

?几何问题的计算复杂性

?发展特点

内容交叉、界限模糊、相互渗透

1.3C G的应用

1.3.1计算机辅助设计与制造(C A D/C A M)

C A D/C A M是计算机图形学在工业界最广泛、最

活跃的应用领域

?飞机、汽车、船舶的外形的设计,

如波音777飞机的设计和加工过程

?发电厂、化工厂等的布局

?土木工程、建筑物的设计

?电子线路、电子器件的设计,设计

结果直接送至后续工艺进行加工处

奥迪效果图和线框图

基于工程图纸的三维形体重建

?定义:从二维信息中提取三维信

息,通过对这些信息进行分类、综

合等一系列处理,在三维空间中重

新构造出二维信息所对应的三维形

体,恢复形体的点、线、面及其拓

扑关系,从而实现形体的重建

?优势:可以做装配件的干涉检查、

以及有限元分析、仿真、加工等后

续操作,代表C A D技术的发展方向工程图及其三维重建结果

1.3.2科学计算可视化

科学计算可视化广泛应用于医学、流体力学、有限元分析、气象分析当中

?在医学领域,可视化有着广阔的发展前

?是机械手术和远程手术的基础

?将医用C T扫描的数据转化为三维图

象,帮助医生判别病人体内的患处

?由C T数据产生在人体内漫游的图象

?可视化的前沿与难点

?可视化硬件的研究

?实时的三维体绘制

?体内组织的识别分割

——S e g m e n t a t i o n

1.3.3真实感图形的绘制与计算机仿真

?计算机中重现真实世界的场景叫做真

实感绘制

?真实感绘制的主要任务是模拟真实物

体的物理属性,简单的说就是物体的形

状,光学性质,表面的纹理和粗糙程度,

以及物体间的相对位置,遮挡关系等等

1.3.4其他应用

?G I S

?娱乐

?多媒体

?虚拟现实(V R)

1.3.5当前研究的热点

?计算机动画

?用户接口

?计算机艺术

1.4常用图形设备

?图形输入设备

?键盘、鼠标、光笔、触摸屏、扫描仪等

?图形输出设备

?阴极射线管(C R T)、显示器(光栅扫描显

示器、液晶显示器)、打印机、绘图仪等本章小结

?主要内容

?图形

?图形表示方法

?图形学的发展历史

?研究的主要内容

?应用领域和研究动态

?常用的图形设备

作业

1.写出对计算机图形学的认识,谈谈学科发展

的关键因素

2.计算机图形学的主要研究内容是什么?

3.计算机图形学最具潜力的应用是什么?

4.谈谈对计算机图形学的前沿领域的设想和

体会?第二章基本二维图形的生成

?本章目标:主要内容为掌握直线的D D A法、

B r e s e n h a m法、中点画线法三种算法。掌握

圆弧的正负法、中点画圆法。掌握区域填

充的种子填充算法、扫描线填充算法。

?2.1.直线图形生成算法

?2.2.圆弧和圆的生成算法

?2.3.区域的填充

?2.4.本章小结

概念

2.1直线图形生成算法

?直线是最基本的图元。曲线可看作是一系

列直线段的逼近,复杂图形可看作是无数直线段组成的。光栅化直线段必须服从四条原则:直而光滑、端点准确、亮度均匀、速度快。

?生成算法:数值微分法(D D A法)、中点画

线法、B r e s e n h a m法

2.1.1数值微分算法

基本思想

计算y i+1=k x i+1+b

=k x i+b+k?x

=y i+k?x

当?x=1;y i+1=y i+k

?即:当x每递增1,y递增k(即直线斜率);

?注意上述分析的算法仅适用于|k|≤1的情

形。在这种情况下,x每增加1,y最多增加1。

?X坐标按步长为1增加,Y坐标做取整(i n t)

计算

?当|k|>1时,必须把x,y地位互换

?增量算法:在一个迭代算法中,如果每一

步的x、y值是用前一步的值加上一个增量

来获得,则称为增量算法。

?D D A算法就是一个增量算法。

程序实例

v o i d D D A L i n e(i n t x0,i n t y0,i n t x1,i n t y1,i n t c o l o r)

{i n t x;

f l o a t d x,d y,y,k;

d x=x1-x0;d y=y1-y0;

k=d y/d x;y=y0;

f o r(x=x0;x≤x1;x++)

{d r a w p i x e l(x,i n t(y+0.5),c o l o r);

y=y+k;

}

}

例题

用D D A法画直线段P0(0,0)--P1(5,2)

x i n t(y+0.5)y+0.5

000+0.5

100.4+0.5

210.8+0.5

311.2+0.5

421.6+0.5

522.0+0.5

作业

1.用D D A法实现(0,0)到(3,6)直线的过

程。

2.推倒当|k|>1时,D D A法的实现过程。

2.1.2中点画线法

基本思想

假设直线方程为:a x+b y+c=0

其中a=y0-y1,b=x1-x0,c=x0y1-x1y0

由常识知:

构造判别式:d=F(M)=F(x p+1,y p+0.5) =a(x p+1)+b(y p+0.5)+c

当d<0,M在直线(Q点)下方,取右上方P2;

当d>0,M在直线(Q点)上方,取右方P1;

当d=0,选P1或P2均可,约定取P1;

(1)若d≥0->M在直线上方->取P1;

此时再下一个象素的判别式为

d1=F(x p+2,

y p+0.5)=a(x p+2)+b(y p+0.5)+c

=a(x p+1)+b(y p+0.5)+c+a =d+a;

增量为a

(2)若d<0->M在直线下方->取P2;

此时再下一个象素的判别式为

d2=F(x p+2,

y p+1.5)=a(x p+2)+b(y p+1.5)+c

=a(x p+1)+b(y p+0.5)+c+a+b =d+a+b;增量为a+b

(3)画线从(x0,y0)开始,d的初值

d0=F(x0+1,y0+0.5)=a(x0+1)+b(y0

+0.5)+c

=F(x0,y0)+a+0.5b= a+0.5b

程序实例

v o i d M i d p o i n t L i n e(i n t x0,i n t

y0,i n t x1,i n t y1,i n t c o l o r) {i n t a,b,d1,d2,d,x,y;

a=y0-y1;b=x1-x0;d=2*a+b;

d1=2*a;d2=2*(a+b);

x=x0;y=y0;

d r a w p i x

e l(x,y,c o l o r);

w h i l e(x

{i f(d<0){x++;y++;

d+=d2;}

e l s e{x++;d+=d1;}

d r a w p i x

e l(x,y,c o l o r);

}/*w h i l e*/

}/*m i d P o i n t L i n e*/

例题

用中点画线法画P0(0,0)P1(5,2)之间的直线段。

a=y0-y1=-2b=x1-x0=5

d0=2a+b=1d1=2a=-4d2=2(a+b)=6

i x i y i d

1001

210-3

3213

431-1

5425

1.推倒K>1时中点画线法的实现过程

2.用中点法画(1,2)到(3,7)的直线段

3.DDA和中点画线法的异同点

2.1.3B r e s e n h a m画线算法

基本思想

在直线生成的算法中B r e s e n h a m算法是最有效的算法之一。令k=Δy/Δx,就0≤k≤1的情况来说明B r e s e n h a m算法。由D D A算法

可知:

y i+1=y i+k(1)

由于k不一定是整数,由此式求出的y i也不

一定是整数,因此要用坐标为(x i,y i r)的象素来表示直线上的点,其中y i r表示最靠

近y i的整数

设图中x i列上已用(x i,y i r)作为表示直线的点,又设B点是直线上的点,其坐标为

(x i+1,y i+1),显然下一个表示直线的点

(x i+1,y i+1,r)只能从图中的C或者D点中去选。设A为C D边的中点。若B在A点上面则应取D点作为(x i+1,y i+1,r),否则应取C点。为能确定B在A点上面或下面,令

ε(xi+1)=yi+1-yir-0.5 (2)

若B在A的下面,则有ε(xi+1)<0,反之,则ε(xi+1)>0。由图可知

yi+1,r=yir+1,若ε(xi+1)≥0 (3)

yi+1,r=yir,若ε(xi+1)≤0

由式(2)和式(3)可得到

ε(x i+2)=y i+2-y i+1,r-0.5

=y i+1+k-y i+1,r-0.5(4)y i+1-y i r-0.5+k-1,当ε(x i+1)≥0

y i+1-y i r-0.5+k,当ε(x i+1)≤0ε(x i+2)=ε(x i+1)+k-1,当ε(x i+1)≥0

ε(x i+2)=ε(x i+1)+k,当ε(x i+1)≤0由式(2)可得到

ε(x2)=y2-y r-0.5

=-0.5(5)

程序实例

V o i d

B r e s e n h a m L i n e(i n t x0,i n t y0,i n t x1,i n t

y1,i n t c o l o r)

{

i n t x,y,d x,d y;

f l o a t k,e;

d x

=x1-x0;

d y

=y1-y0;

k =d y/d x;

e =-0.5;x=x0;y=y0;

f o r(i=0;i<=d x;i++){

d r a w p i x

e l(x,y,c o l o r);

x++;e=e+k;

i f(e>=0)

{y++;e=e-1;}

}

}

例题

用B r e s e n h a m法画P0(0,0)P1(5,2)之间的直线段。

i x i y i e

100-0.5

210-0.1

321-0.7

431-0.3

542-0.9

本节小结

?D D A算法、中点画线法、B r e s e n h a m画线

法的基本思想和算法过程。

?三种算法生成直线的实例

?三种算法的源程序

?增量算法的意义及举例说明

2.2圆和圆弧的生成算法

?圆的特征:到给定中心位置(Xc ,Yc)的

距离为R的点集。

?圆心位于原点的圆有4条对称轴

(x=0;y=0;x=y;x=-y)

?只要扫描转换1/8圆弧就可以通过八对称

性求出整个圆弧的象素集。

?X2+Y2=R2

Y= S q r t(R2-X2)

在一定范围内,每给定一

X值,可得一Y值。

?生成算法:中点画圆法、

正负法等

2.2.1中点画圆法

基本思想

设M为P1、P2间的中点,M=(X i+1,Y i-0.5)

有如下结论:

F(M)<0->M在圆内->取S

F(M)>=0->M在圆外->取T 为此,可采用如下判别式:

d=F(M)=F(x i+1,y i-0.5)

=(x i+1)2+(y i-0.5)2-R2

?若d<0,则S为下一个象素,那么再下一个

象素的判别式为:

d1=F(x i+2,y i-0.5)

=(x i+2)2+(y i-0.5)2-R2

=d+2x i+3

即d的增量为2x i+3.

?若d>=0,则P2为下一个象素,那么再下一

个象素的判别式为:

d1=F(x i+2,y i -1.5)

=(x i+2)2+(y i -1.5)2-R2

=d+(2x i+3)+(-2y i+2)

即d的增量为2 (x i-y i)+5

?d的初值:

d0=F(1,R-0.5)

=1+(R-0.5)2 -R2

=1.25-R

程序实例

M i d p o i n t C i r c l e(i n t r,i n t c o l o r)

{

i n t x,y;

f l o a t d;

x=0;y=r;d=1.25-r;

d r a w p i x

e l(x,y,c o l o r);

w h i l e(x

i f(d<0){d+

=2*x+3;x++}

e l s e{d+=

2*(x-y)+5;x++;y--;}

}

}

2.2.2正负法

基本思想

设圆的方程为

F(x,y)=

=0

假设求得Pi的坐标为(xi,yi);

当Pi在圆内时-> F(xi,yi)<0 -> 向右-> 向圆外

P i在圆外时->F(x i,y i)>0->向下->向圆内

即求得P i点后选择下一个象素点P i+1的规则为:当F(x i,y i)≤0取x i+1=x i+1,y i+1=y i;

当F(x i,y i)>0取x i+1=x i,y i+1=y i-1;这样用于表示圆弧的点均在圆弧附近,且使F(x i,y i)时正时负,故称正负法。

本节小结

?圆的特性:圆的八对称性

?生成圆弧的两种基本算法:中点画圆法、

正负法

?与直线生成算法对比

2.3区域的填充

?区域是指一组相邻而又连通,并具有相同

属性的象素集。

?区域填充是指在区域内生成某一属性的

实心或图案的过程。

?区域填充算法:扫描线填充算法和种子填

充算法。

?扫描线填充:用于填充多边形、圆、椭圆

等简单曲线围成的封闭区域。

?种子填充:适用于具有复杂图形边界的区

域填充。

2.3.1扫描线填充算法

扫描线填充

?填充的任务:按照顺序计算区域与扫描线

的相交区域,用要求的颜色填充这些区域间的象素。

?如图所示:

y=6的扫描线与区域

相交为1和2,3和4之间

的区域,对这些区间的

象素填充颜色。

填充的四个步骤

?求交:计算扫描线与多边形各边的交点?排序:所有交点按X值的递增顺序排序?配对:将第一个和第二个、第三个和第四

个交点配对….每对交点代表扫描线与多

边形的一个相交区间

?填色:相交区间内的象素置成多边形的颜

色,区间外的置成背景色

思考的问题(1)

?扫描线与多边形顶点相交时

如何确定交点个数?

?扫描线过顶点时的交点个数的判断

任取多边形一顶点,取

过该点两条边的另外两

个端点的y i(i=1,2),计算

y i-y(y为该顶点的坐标

值)

按大于0的次数判断该

点是记一次,两次还

是0次。

?判断情况

思考问题(2)

?计算交点的问题

?把多边形的所有边放在一个表中

?处理每条扫描线时:取出所有的边求与扫

描线相交的点

?问题:一条扫描线与边可交可不交

算法效率提高的关键

?建立活性边表

活性边:与当前扫描线相交的边称为活性边。

活性边表:活性边按与

扫描线交点X坐标递增的

顺序存储在一个链表中

称为活性边表。

?活性边表存放对应边的信息:

1.当前扫描线与边交点的x坐标

2.当前扫描线到下一扫描线的x坐标增

3.边所交的最高扫描线号

应用活性边表

?边的连贯性和扫描线的连贯性

当前扫描完毕,不必重建下一

扫描线的活性边表,只需对当前

活性边表稍加修改即可。

?方便更新与建立

新边表

?新边表:存放在该扫描线上”第一次出现

的边”的信息。

?若某边的较低端点为y m i n,则该边就存放

在扫棉线y m i n的新边表中。

?

存放:初始交点的x坐标(较低端点的x

值);x增量;该边最大y值y m a x

本课小结

?区域填充的基本概念

?扫描线填充的总体思想和过程

?几个关键问题

?顶点个数的判断

?活性边表和新边表的建立过程和意义

作业

?叙述区域填充的全过程

?通过前述内容,总结何为“算法效率问

题”?如何解决算法效率并举例说明。2.3.2种子填充算法

基本概念

?区域指已经表示成点阵形式的填充图形,

它是象素的集合。

?区域填充指先将区域的一点赋予指定的颜

色,然后将该颜色扩展到整个区域的过程。

区域填充算法要求区域是连通的

基本概念

?表示方法:内点表示、边界表示

?内点表示

?枚举出区域内部的所有像素

?内部的所有像素着同一个颜色

?边界像素着与内部像素不同的

颜色

?边界表示

?枚举出边界上所有的像素

?边界上的所有像素着同一颜色

?内部像素着与边界像素不同的颜色

基本概念

区域填充要求区域是连通的

?连通性

4连通、8连通

种子填充算法

?适合于内点表示区域的填充算法

?设G为一内点表示的区域,(x,y)为区域内

一点,old_color为G的原色。现取(x,y)为种子点对区域G进行填充:即先置像素(x,y)的颜色为new_color,然后逐步将整个区域G都置为同样的颜色。步骤如下:

?种子象素入栈,当栈非空时,执行如下三

步操作:

?(1)栈顶象素出栈;

?(2)将出栈象素置成多边形色;

?(3)按左、上、右、下的顺序检查与出

栈象素相邻的四个象素,若其中某个象素

不在边界上且未置成多边形色,则把该象

素入栈。

种子填充算法

?缺点:

(1)有些象素会入栈多次,降低算法效率;栈

结构占空间。

(2)递归执行,算法简单,但效率不高,区域

内每一象素都引起一次递归,进/出栈,费时费内存。

?改进算法,减少递归次数,提高效率。

解决方法是用扫描线填充算法

本课小结

?种子填充的特点

?区域的连通性

?种子填充的过程

?种子入栈、出栈、搜索的规则

第三章二维变换及二维观察本章主要内容

?3.1二维图形的基本变换

?3.2窗口视图变换

?3.3复合变换

?3.4二维图形裁剪

?3.5本章小结

3.1二维图形的基本变换

3.1.1数学基础回顾

矢量

?一条有向线段,具有大小和方向两个参数?最广义指线性空间中的元素,代表N维空

间的一个点

?矢量

?矢量和

?矢量数乘

?矢量点积

?性质

矩阵

?矩阵:由m×n个数按一定位置排列的一个

整体,简称m×n矩阵。

A=

?加法

A+B=

?乘法:设A为2×3阶矩阵,B为3×2阶矩阵C=A×B=

?矩阵运算性质

?交换律和结合律:

A+B=B+A;A+(B+C)=(A+B)+C

?数乘分配律和结合律:a(A+B)=a A+a B;

a(A·B)=

(a A)·B=A·(a B)

(a+b)A=a A+b A

a(b A)=(a b)A ?矩阵乘法的结合律及分配律

A(B·C)=(A·B)C

(A+B)·C=A·C+B·C

C·(A+B)=C·A+C·B

3.1.2二维图形基本变换

基本概念

?图形变换:对图形的几何信息经过几何变

换产生新的图形

?二维变换方法:

?二维图形是由点组成,对点进行变换

?变换矩阵的确定

?运算,得到新点坐标

?P’=R×P

?五种基本变换:平移变换、旋转变换、比

例变换、对称变换、错切变换

平移变换

平移变换

?从原始位置P(x,y)平移到新位置

P’(x’,y’)有

?用矩阵的形式表示为

?即

?平移变换矩阵

旋转变换

?P(x,y)绕原点逆时针旋转得到新点

P’(x’,y’)

?矩阵表示形式

?即

?旋转变换矩阵

比例变换

?从原始位置P(x,y)平移到新位置

P’(x’,y’)有

?矩阵形式

?比例变换矩阵

对称变换

?反射变换(镜像变换):一个图形绕某一

轴旋转180度形成新图形的过程。原始位置P(x,y)关于对称轴对称得到新位置

P’(x’,y’)

?矩阵形式为

?对称变换矩阵T m

?

错切变换

?保持图形上各点的某一坐标值不变,而另

一坐标值关于该坐标成线性变化。

?坐标保持不变的坐标轴为依赖轴,其余称

为方向轴。

以Y轴为依赖轴(沿X轴错切)

?坐标变换

?矩阵形式

?即

?错切变换矩阵(C>0沿正方向错切,C<0沿

负方向错切)

以X轴为依赖轴(沿Y轴错切)

?坐标变换?矩阵形式

?错切矩阵(b>0沿正方向错切,b<0沿负方

向错切)

讨论

?二维变换的矩阵表达

?能否找到一种统一的形式?

?找到一个通用的算子代表所有变换?

齐次坐标

?变换矩阵的统一表示

?表示无穷远的点

?定义:用n+1维向量表示n维向量

?二维点(x,y)的齐次坐标表示是(h x,h y,h),

如(8,4,2)(4,2,1)都表示同一个

坐标(4,1)

?h=1为规范化齐次坐标

二维变换的齐次坐标表达

?通常取(x,y,1)表示二维平面未变换点

P(x,y)的齐次坐标

?基本几何变换矩阵变为3×3的矩阵

?新点用齐次坐标表示[X,Y,H]

?新点的二维坐标P’(x’,y’)表示为

齐次坐标表示

四个子矩阵的作用

本课小结

?五种基本二维图形变换

?图形变换的矩阵表示

?为什么引入齐次坐标?

?图形变换的齐次坐标表示

?五种变换矩阵及四个子矩阵

3.2窗口到视区的变换

基本概念

?用户域和窗口区

1.用户域:程序员用来定义草图的整个自然空间(W D)

a人们所要描述的图形均在用户域中

定义。

b用户域是一个实数域,理论上是连续无限的。

2.窗口区:用户指定的任一区域(W)

a窗口区W小于或等于用户域W D

b小于用户域的窗口区W叫做用户域的子域。c窗口可以有多种类型,矩形窗口、圆形窗口、多边形窗口等等

d窗口可以嵌套,即在第一层窗口中可再定义第二层窗口,在第I层窗口中可再定义第I+1层窗口等等。

基本概念

二维图形的显示流程图

坐标变换

?设窗口的四条边界W X L,W X R,W Y B,W Y T

?视图的四条边界V X L,V X R,V Y B,V Y T

?则用户坐标系下的点(即窗口内的一点)

(X w,Y w)对应屏幕视图区中的点(X s,Y s),其变换公式为

坐标变换

?简化为

?1)当a c时,即x方向的变化与y方向的变

化不同时,视图中的图形会有伸缩变化,

图形变形。

?2)当a=c=1,b=d=0则X s=X w,Y s=Y w,图形完

全相同。

3.3复合变换

复合变换

例1:复合平移

例2:多种复合组合

例3:旋转变换

例3:旋转变换

例4:任意反射轴的反射变换

例4:任意的反射轴的反射变换

例4:任意的反射轴的反射变换

3.4二维图形裁剪

裁剪

3.4.1点的裁剪

3.3.2直线段裁剪

3.4.2直线段裁剪

C o h e n-S u t h e r l a n d裁剪

C o h e n-S u t h e r l a n d裁剪

Cohen-Sutherland算法

C o h e n-S u t h e r l a n d算法

C o h e n-S u t h e r l a n d裁剪

C o h e n-S u t h e r l a n d

直线裁剪算法小结

中点分割裁剪算法

中点分割算法-求线段与窗口的交点中点分割裁剪算法

中点分割裁剪算法小结

3.4.3多边形裁剪

S u t h e r l a n d-H o d g m a n算法

S u t h e r l a n d-H o d g m a n算法

S u t h e r l a n d-H o d g m a n算法

S u t h e r l a n d-H o d g m a n算法框图

S u t h e r l a n d-H o d g m a n算法

S u t h e r l a n d-H o d g e m a n算法小结

本节小结

?图形裁剪的实质和定义

?C-S u t h e r l a n d算法及其编码方法

?C-S算法流程

?中点分割法求交点的算法过程

?S-H算法的思想及过程

?S-H算法框图

第四章三维变换

本章目标

?掌握三维图形的变换方法和变换矩阵

?掌握三维旋转变换

本章内容

4.1三维形体的空间变换

4.1三维形体的空间变换

一、三维几何变换

一、三维几何变换

二、三维变换矩阵-对称变换

三、三维变换矩阵-旋转变换

三、三维变换矩阵-旋转变换

三、三维变换矩阵-旋转变换

三、三维变换矩阵-旋转变换

三、三维变换矩阵-旋转变换

三、三维变换矩阵-旋转变换

四、绕任意轴的旋转变换

四、绕任意轴的旋转变换

?总结:若旋转轴不是坐标轴,是一根任意

轴:

1、对物体做平移和“绕轴”旋转变换,使之

与某一坐标轴重合

2、绕该轴做所需的角度旋转

3、做上述变换的“逆变换”

本章主要内容

?曲线曲面的表示方法

?规则曲线的几种主要形式

?三次参数样条曲线、三次B样条曲线、三次

B e z i e r曲线

?C o o n s曲面、B e z i e r曲面、B样条曲面

曲线曲面理论的发展

?1963F e r g u s o n:三次参数曲线?1964C o o n s:C o o n s曲面

?1971B e z i e r:B e z i e r曲线、曲面?1972D e B o o r:B样条标准计算方法?1974G o r d o n/R i s e n f e l d:B样条曲线曲面

规则曲线

?圆锥曲线:圆、椭圆、抛物线和双曲线。?渐开线:与圆相切的直线按一定方向在圆周上做滚动,该直线上一点P的轨迹

?摆线:平摆线、外摆线、内摆线

?平摆线:已知圆在X轴上作纯滚动,圆周上一点P的轨迹

?外摆线:一个动圆(在基圆外侧)在基圆上作滚动时,该圆上一点P的轨迹

?内摆线:一个动圆(在基圆内侧)在基圆内部做滚动时,该圆上一点P的轨迹

拟合曲线

?曲线的拟合:完全通过或比较贴近给定型值点来构造曲线的方法。

?光滑连接:两条曲线段在连接点出有相同的切线。

?位置连续:两条曲线段有一个端点位置相同。

?一阶导数连续:在连接点处切线是相同的。?二阶导数连续:在连接点处有相同的曲率。F e r g u s o n曲线

?曲线形状由两端点的位矢和切矢控制?端点的边界条件发生变化曲线随之变化?缺少灵活性和直观性,使用不方便

B e z i e r曲线

?特征多边形:Q0,Q1,Q2,Q3四个控制点连成的折线多边形。

?曲线形状由多边形顶点位置确定,特征多边形改变曲线则改变。

计算机图形学复习重点

1:简述计算机图像学与数字图像处理和计算几何以及模式识别等学科之间的区别:计算机图形学研究计算机显示图像,即现实世界在计算机中的表示,其逆过程就是计算机视觉;图像处理:对图像进行处理包括图像变换,图像分析,边缘检测,图像分割等。模式识别:对数据的模式分析,涉及数据分析统计学,模式分类等。 2:第一台图像显示器是起源于:1950年麻省理工的旋风一号。 3:I.E萨瑟兰德被誉为计算机图像学之父,1963年他的SKETCHPAD被作为计算机图像学作为一个新学科的出现的标志。 4:列举计算机图像学的应用领域:计算机辅助绘图设计;事务管理中的交互式绘图;科学技术可视化;过程控制;计算机动画及广告;计算机艺术;地形地貌和自然资源的图形显示。5:计算机图形系统包括哪些组成:硬件设备和相应的程序系统(即软件)两部分组成。6:图像系统的基本功能:计算功能;存储功能;输入功能;输出功能;对话功能。 7:图像系统的分类:用于图形工作站的图形系统;以PC为基础的图形系统;小型智能设备上的图形系统 8:显示器的分类:阴极射线管(CRT);液晶显示器(LCD);LED(发光二极管)显示器;等离子显示器。 9:什么是CRT?其组成部分:即阴极射线管。组成有电子枪,加速结构,聚焦系统,偏转系统,荧光屏。 10:彩色阴极射线管生成彩色的方法:射线穿透法。应用:主要用于画线显示器。优点:成本低。缺点:只能产生有限几种颜色;影孔板法。 11:显示器的刷新方式经历了哪几个阶段:随机扫描显示;直视存储管式显示;光栅扫描显示。 12:什么是显示处理器,它与CPU是一回事吗?:显示处理器又称视觉处理器,是一种专门在PC,游戏机和一些移动设备上图像运算工作的微处理器,是显卡中重要组成部分。它的作用是代替CPU完成部分图形处理功能,扫描转换,几何变换,裁剪,光栅操作,纹理映射等。 13:什么是显存,它与内存的区别:显存全称显示内存,即显示卡专用内存。它负责存储显示芯片需要处理的各种数据。电脑的内存是指CPU在进行运算时的一个数据交换的中转站,数据由硬盘调出经过内存条再到CPU。区别:显存是显卡缓冲内存。内存是电脑的内部存储器。是不同的概念。 14:黑白显示器需要1个位平面;256级灰度显示器需要8个,真彩色需要24个位平面。15:OpenGL是什么?它在计算机图形学中的作用?OpenGL是一个工业标准的三维计算机图形软件接口,可以方便的用它开发出高质量的静止或动画三维彩色图形,并有多种特殊视觉效果,如光照,文理,透明度,阴影等。 16:图元:图形元素,可以编辑的最小图形单位。是图形软件用于操作和组织画面的最基本素材,是一组最简单,最通用的几何图形或字符。基本二维图元包括:点,直线,圆弧,多边形,字体符号和位图等。 17:直线的生产算法有:逐点比较法;数值微分法(DDA);中点画线法;Bresenham算法。18:采用哪种平移方法可以使任意二维直线变为第一和第二象限中的直线:逐点比较法。19:交互式图形系统的基本交换任务包括:定位,选择,文字输入,数值输出。定位任务是向应用程序指定一个点的坐标,定位中考虑的基本问题:坐标系统;分辨率;网格;反馈。选择任务是指从一个被选集中挑选出一个元素来。在作图系统中,操作命令、属性值、物种种类、物体等都可能是被选集。被选集可根据其元素的变化程度分为可变集和固定集。可变集的选择技术:指名和拾取。固定集的选择技术:指名技术、功能键、菜单技术、模式识

《计算机英语》教学大纲

《计算机英语》教学大纲 (待定) 课程代码:09111306 课程名称:计算机英语 总学时:56 一、课程任务与目的 随着计算机技术的迅速发展和广泛应用,计算机在经济和社会发展中的地位日益重要。而 国内计算机技术的应用与研究普遍滞后于西方尤其是美、英等发达的资本主义国家。如何才能跟上计算机技术发展与应用的最新水平,并迅速地掌握与利用各种新技术成果为我国的现代 化建设服务呢?一个必要的条件就是要能熟练地阅读外文的计算机技术文献、资料和书籍。由于大量的最新研究成果和新产品都是以英文公布于世的。因此,每个从事计算机科学与技术的教学、科研、工程技术及经营管理的人员都必须具有一定的计算机英语水平。(本课程在大学一、二年级基础英语课程结柬后开设,作为专业阅读课)通过本课程的教学,使学生掌握必要的计算机英语基础词汇和基本术语,养成良好的专业阅读习惯,以便融会贯通地运用英语这个工具去帮助解决理论上和实践中所遇到的问题,这就是计算机专业开设计算机英语课程目的和 任务之所在。 学习本课程的主要目的: (一)介绍计算机技术系最新进展,为专业理论的深入学习提供指导。 (二)使学生掌握基本的系统的计算机专业术语,能阅读关于计算机专业的 英文书籍,为进一步学习打下良好的基础。 二、阅读大纲 (一)Introduction 1.Organization0f computer system components 2.Type of computer 3.Computer generations (二)Hardware and system concepts 1.Computer codes 2.What is a processsor 3.the storage hierarchy 4.computer—system input/output 5.multiprocessing 6.performance measurement and evaluation (三)Discrete mathmatics 1.mathmatical logic 2.Boolcan algebras 3.graph theory 4.combinational problems (四)Algorithm 1.Algorithm attribute 2.algorithms and complexity

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

《产品设计及开发》教学大纲和实验大纲

《产品设计及开发》教学大纲 大纲说明 课程代码:3335007 总学时:64学时(讲课64学时) 总学分:4学分 课程类别:选修 适用专业:工业设计(本科) 预修要求:工业设计机械基础、形态设计基础、设计构成等 一、课程的性质、目的、任务: 本课程是工业设计专业的一门指导性专业课。通过本课程的学习和训练,使学生把握将市场营销、设计和制造的观点融为一体开发产品的整体思路;了解开发流程和组织、产品规划过程和产品开发项目管理的基本知识,掌握产品构造、产品开发项目的经济分析的基本常识。 二、课程教学的基本要求: 课程教学采用启发、观摩、演练式教学,加深学生对相应知识的理解。使用一些案例来说明产品开发方法,由浅入深,难易搭配,循序渐进。以培养能力为主题,要求学生积极参与,独立完成简单产品的开发,掌握开发产品的基本技能和技巧。 考核形式为考试。主要考查学生对基本概念的理解和应用。 三、大纲的使用说明: 教师可根据本课程发展情况、学生水平等实际情况对教学内容作适当的调整和变动。拟采用双语教学。 大纲正文 第一章引论学时:2学时(讲课2学时) 了解成功的产品开发的特点和产品开发的时间和成本,了解本课程特点。 本章讲授要点:产品开发的特点,产品开发的时间和成本,产品开发的挑战。 重点:产品开发的时间和成本。 难点:产品开发的特点。 第一节成功的产品开发的特点 第二节谁来设计和开发产品? 第三节产品开发的时间和成本 第四节产品开发的挑战 习题:估计在一个计算机的价格中,产品开发成本占多大比例。 第二章开发流程和组织学时:4学时(讲课4学时)

掌握基本的产品开发流程、概念开发流程,了解AMF公司的开发流程、产品开发组织。 本章讲授要点:产品开发流程、首末流程。 重点:产品开发流程。 难点:概念开发:首末流程 第一节基本的产品开发流程 第二节概念开发:首末流程 第三节采用基本的产品开发流程 第四节AMF公司的开发流程 第五节产品开发组织 习题:产品开发组织对于那些作为产品开发班的一部分而介入的学生来说,是什么? 第三章产品规划学时:4学时(讲课4学时) 掌握产品规划过程及其方法步骤。 本章讲授要点:产品规划过程,识别机会、项目评价和优先级排序、资源分配和时间计划、完成项目计划、对结果和流程做出反应。 重点:产品规划过程 难点:识别机会 第一节产品规划过程 第二节产品规划过程的方法步骤 习题:对选定产品进行开发过程规划。 第四章识别顾客需要学时:5学时(讲课5学时) 了解识别顾客需要的方法,理解建立需要的相对重要性,掌握对结果和流程做出反应的基本方法。 本章讲授要点:顾客需要、建立需要的相对重要性、对结果和流程做出反应。 重点:识别顾客需要。 难点:建立需要的相对重要性 第一节从顾客那里获取原始数据 第二节从顾客需要的角度理解原始数据 第三节组织需要的等级 第四节建立需要的相对重要性 第五节对结果和流程做出反应 习题:过大开发团队(多于10个人时)的有效调整方法。 第五章产品规格说明学时:5学时(讲课5学时) 了解什么是规格说明、何时建立规格说明、确定最终规格。掌握建立目标规格说明的方法。

计算机图形学复习资料

第一章 一、什么是计算机图形学? 计算机图形学是研究如何利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。 国际标准化组织(ISO)定义: 计算机图形学是研究通过计算机将数据转换为图形,并在专门显示设备上显示的原理、方法和技术的学科 电气与电子工程协会(IEEE)定义: 计算机图形学是利用计算机产生图形化的图像的艺术和学科。 三、举例说明计算机图形学有哪些应用,分别用来解决什么实际问题? 应用领域: 1.计算机辅助设计与制造(CAD,CAM) 用于大楼,汽车,飞机,建筑工程,电子路线等的设计和制作过程中。 2.计算机辅助绘图 计算机辅助绘图的典型例子包括计算机可视化,近年来,这种技术已用于有限元分析的后处理,分子模型构造,地震数据处理,大气科学,生物信息及生物化学等领域。 3.计算机辅助教学(CAI) 4.办公自动化和电子出版社 5.计算机艺术 6.在工业控制及交通方面的应用 7.在医疗卫生方面的应用 8.图形用户界面 四、人机交互,什么是一致性原则 人机交互学是一门关于设计、评估和执行交互式计算机系统以及研究由此而发生的相关现象的学科。 一致性原则:指在设计系统的各个环节时,应遵从统一的、简单的规则,保证不出现例外和特殊的情况,无论是信息显示还是命令输入都应如此 一致性原则包含这样一些内容:1.一个特定的图符应该始终只有一个含义而不能依靠上下文来代表多个动作或对象;2.菜单总是放在相同的关联位置,使用户不必总是去寻找;3.键盘上的功能键,控制键以及鼠标上的按钮的定义需要前后一致;4.总是使用一种彩色编码,使相同的颜色在不同的情况下不会有不同的含义;5.输入时交互式命令和语法的一致性等 第二章 四、CRT的组成和工作原理是什么? CRT(Cathode Ray Tube)阴极射线管 ?是一种真空器件,它利用电磁场产生高速的、经过聚焦的电子束,偏转到屏幕的不

计算机图形学基础教学大纲

《计算机图形学基础》课程教学大纲 一、课程概述 (一)基本说明 中文名称:计算机图形学基础课程代码:16JS062 总学时/学分:48/3 考核方式:考试 适用专业:计算机科学与技术 (二)课程属性 1.课程性质 本课程是计算机科学与技术专业选修课,主要介计算机图形学的经典核心体系:图形系统、二维图形生成、几何变换、二维与三维观察、三维对象(实体造型与曲线曲面)、真实感图形技术、交互技术及动画等。通过本课程的学习,有助于学生对计算机图形学原理的理解和图形编程技术的掌握。 2.课程与课程群的联系 本课程与《Java程序设计基础》、《C语言程序设计》、《线性代数》等基础课程有着密切的关系,通过本课程的学习,使学生掌握图形方面的基本知识。为了使学生能够顺利完成本课程的学习,在学习本课程之前,需对相关课程(群)有一定的了解和掌握。 前修课程:《Java程序设计基础》、《C语言程序设计》、《数据库原理及应用》等,这些课程对本课程学习起着基础铺垫作用。 二、教学设计 (一)课程设置的主要依据 本课程是一门理实融合、教学做一体的理论课程,着眼于满足计算机科学与技术专业对应用型人才需求,遵循“基础/应用”的导向原则,教学内容与教学组织紧紧围绕应用型的计算机科学与技术专业人才培养目标进行设计、选择和实施,以“必需、够用、适度超前”为度,突出打牢理论基础和实践能力培养。在教学过程中,注重创新精神、实践能力和职业道德的培养,倡导探究性学习(或研讨式、案例式、专题式、项目式等),引导学生主动参与教学过程,主动思考、勤于实践、知行合一,逐步培养学生分析解决计算机类项目开发过程中实际问题、沟通交流与团队协作能力。 (二)课程设计思路 以《Java程序设计基础》、《C语言程序设计》、《线性代数》等课程为基础,紧紧围绕计算机科学与技术专业应用型人才培养目标,准确把握本课程在计算机科学与技术课程群中的定位和作用,以能力为本位,强调打牢基本知识和基本理论基础,强化基本技能训练,充分利用信息化教学平台,打破以知识

土木工程CAD考试大纲

《土木工程CAD》考试大纲 第一部分期末考试说明 一、期末考试要求 1.土木工程CAD是土木工程科学中一个比较年轻的分支学科,它的核心内容是研究如何运用计算机处理土木工程设计中的信息。本课程要求学生了解计算机技术在土木工程中应用的最新发展,掌握CAD技术的基本概念和理论。 2.土木工程CAD硬件环境是本课程的核心内容之一,要求学生熟悉各类图形输入、输出设备(如:键盘、鼠标、扫描仪、显示器、显示卡、打印机、绘图仪等)的工作原理和各项主要技术指标。 3.计算机图形学是土木工程CAD技术的数学基础。要求学生掌握二维图形生成的原理和常用算法,掌握主要几种图形变换(二维、三维几何变换、投影变换和窗口裁剪)的工作原理和实现方法。 4.AutoCAD2000是目前比较流行的绘图软件工具,在土木工程中有广泛的应用,要求学生熟练掌握AutoCAD2000的基本命令,能够用该软件完成中等复杂程度的土木工程施工图。 二、课程的教学要求层次 本课程的教学内容要求由低到高分为“了解、熟悉、掌握”三个层次,上机实践内容由低到高分为“了解、学会、熟练”三个层次。 三、试题类型 本课程试卷采用四种题型:填空题、选择题、简答题、作图题。 四、考核形式 期末考试采用闭卷笔试形式,卷面满分为100分。 五、答题时限 考试时间为90分钟。 第二部分考核的内容和要求 第一章绪论 考核知识点 1.CAD的基本概念及其研究与应用领域 2.CAD的发展历史、当前现状及难点与热点问题 考核要求 了解CAD的发展历史、当前现状及难点与热点问题 第二章常用图形输入、输出设备 考核知识点

1.常用图形输入设备的种类、主要性能指标及使用方法。 2.常用图形输出设备的种类、主要性能指标及使用方法。 考核要求 1.了解键盘、鼠标、扫描仪、显示卡、显示器、打印机和绘图仪的种类及主要性能指标; 2.掌握键盘、鼠标、打印机和绘图仪的使用方法. 第三章二维图形的生成算法 考核知识点 1、逐点比较法、数值微分法、Bresenham法的基本原理。 2、逐点比较法、数值微分法生成直线和圆的基本方法和步骤。 3、填充的基本原理。 考核要求 1、了解线性变换及其逆变换 2、了解点、直线的生成 3、了解填充的基本原理 第四章图形变换 考核知识点 1、二维基本几何变换 2、齐次坐标与平移变换 3、二维基本变换矩阵的级联——组合变换 4、三维基本几何变换 5、投影变换(1)三视图投影(2)透视变换 6、图形裁剪 考核要求 了解平移变换、投影变换和图形裁剪 第五章AutoCAD概述 考核知识点 1、AutoCAD2000的主要功能 2、AutoCAD2000的用户界面 3、AutoCAD2000的基本命令 4、AutoCAD2000的系统需求 考核要求 了解AutoCAD2000的主要功能、掌握AutoCAD2000的用户界面、基本命令和系统需求 第六章AUTOCAD绘图 考核知识点 1、AutoCAD2000中的开始创建新图 2、图层与实体特性 考核要求 1、掌握绘图环境的设置 2、熟练掌握图层的设置(颜色、线型和线宽) 第七章AUTOCAD基本绘图技术 考核知识点 1、基本绘图命令 2、图形的编辑与修改 3、目标捕捉 4、图块与属性 5、图案及其填充 6、外部引用

计算机图形学复习要点

计算机图形学 C o m p u t e r G r a p h i c s E-M A I L:t y z h u w e n b o@163.c o m 主要内容 ?计算机图形学绪论 ?基本二维图形的生成(图形生成算法原理)?二维变换及二维观察(二维图形变化的数 学原理) ?三维变换及三维观察(三维图形变化的数 学原理及变化方法) ?曲线曲面的生成(三维曲线曲面的几种形 式) ?总结全课程 图形学概述 计算机图形学(C o m p u t e r G r a p h i c s) ?定义:计算机图形学是研究怎样用数字计 算机生成、处理和显示图形的一门学科。 ?图形表示和绘制+输入/输出设备 M o d e l i n g+R e n d e r i n g v i a I n p u t/o u t p u t ?计算机图形学计算机科学中,最为活跃、 得到广泛应用的分支之一 数据计算机图形系统图形 计算机图形学 图形及图形的表示方法 ?图形:计算机图形学的研究对象 ?能在人的视觉系统中产生视觉印象的 客观对象 ?包括自然景物、拍摄到的图片、用数学 方法描述的图形等等 ?构成图形的要素 ?几何要素:刻画对象的轮廓、形状等 ?非几何要素:刻画对象的颜色、材质 等 ?表示方法 ?点阵表示 ?枚举出图形中所有的点(强调图 形由点构成) ?简称为图像(数字图像) ?参数表示 ?由图形的形状参数(方程或分析 表达式的系数,线段的端点坐标 等)+属性参数(颜色、线型等)来 表示图形简称为图形 ?图形主要分为两类: ?基于线条信息表示 ?明暗图(S h a d i n g) 第一章绪论 ?1.计算机图形学的发展简史 ?2.计算机图形学的研究内容 ?3.计算机图形学的应用 ?4.常用的图形设备 1.1C G的发展历史 ?50年代 ?1950年,第一台图形显示器作为美国 麻省理工学院(M I T)旋风I号 (W h i r l w i n d I)计算机的附件诞生了 ?1958年,美国C a l c o m p公司由联机的 数字记录仪发展成滚筒式绘图仪, G e r B e r公司把数控机床发展成为平板 式绘图仪 ?50年代末期,M I T的林肯实验室在 “旋风”计算机上开发S A G E空中防 御体系 ?60年代 ?1962年,M I T林肯实验室的I.E. S u t h e r l a n d发表了一篇题为 “S k e t c h p a d:一个人机交互通信的图 形系统”的博士论文--确定了交互图 形学作为一个学科分支(提出基本交互 技术、图元分层表示概念及数据结 构…)。 ?1962年,雷诺汽车公司的工程师P i e r r e Béz i e r提出Béz i e r曲线、曲面的理论 ?1964年M I T的教授S t e v e n A.C o o n s提出 了超限插值的新思想,通过插值四条任 意的边界曲线来构造曲面。 ?70年代(蓬勃发展时期) ?光栅图形学迅速发展 ?区域填充、裁剪、消隐等基本图形 概念、及其相应算法纷纷诞生 ?图形软件标准化 ?1974年,A C M S I G G R A P H的“与机 器无关的图形技术”的工作会议 ?A C M成立图形标准化委员会,制定 “核心图形系统”(C o r e G r a p h i c s S y s t e m) ?I S O发布C G I、C G M、G K S、P H I G S

《计算机图形学》课程教学大纲

《计算机图形学》课程教学大纲 课程编号:11090132 课程名称:计算机图形学 英文名称:Computer Graphics 学时与学分:2总学时:32实验学时:0课内上机学时:8 先修课程要求:大学数学、工程图学、C语言 适应专业:交通设备信息工程 参考教材: 1、Donald Hearn,M. Pauline Baker ,Computer Graphics (C Version),Prentice Hall ,1997; 2、陆润民等,计算机绘图,高等教育出版社(面向21世纪教材); 3、孙家广等,计算机图形学(第三版),清华大学出版社,1999。 课程简介: 计算机图形学是关于计算机图形技术的科学,它是研究用计算机生成、处理和输出图形的一门新兴学科,是CAD/CAM技术以及信息化设计、制造及图像处理的重要技术基础。本课程着重研究怎样将工程技术人员获得的数据、几何模型等信息或设计思想用计算机数字化模型和图形表达,是工程技术人员表达和交流设计思想和信息的一门现代化工具课程。一、课程在培养方案中的地位、目的和任务 本课程是交通设备信息工程专业应该选修的一门学科基础课。课程的主要目的是培养学生形、数结合的能力和图形程序设计能力,为图形的数学处理、后续课程的学习、图形软件开发打下必要的基础。本课程的主要任务是学习计算机图形学的基本原理和基础知识;学习应用高级语言编制图形程序的基本方法和技能;学习各种基本图形生成算法;学习常用的图形变换和图形处理算法;培养开发图形程序的基本能力。 二、课程的基本要求 1、了解计算机图形系统的硬件和软件; 2、了解基本的图形数据结构; 3、掌握常用的图形生成算法; 4、掌握常用的图形几何变换和观察变换方法; 5、了解通用的图形标准; 6、掌握常用的三维对象表达方法; 7、掌握基于一种图形软件包的图形程序设计方法。 三、课程的基本内容以及重点难点 基本内容: 1、计算机图形学的应用; 2、计算机图形系统; 3、图形标准及图形软件包; 4、输出图元及其属性; 5、二维几何变换及二维观察; 6、三维物体的表达; 7、三维几何和建模变换; 8、三维观察。 重点:图形生成、图形变换、图形程序设计。

计算机图形学复习题带答案

一.判断题(请在后面括号中打T或F)1.阴极射线管的技术指标主要是分辨率和显示速度 ; ( Y ) 2.光栅扫描式图形显示器可看作是点阵单元发生器,可直接从单元阵列中的一个可编地址的象素画一条直线到另一个可编地址的象素 ; ( N )3.计算机图形学标准通常是指数据文件格式标准和子程序界面标准; ( Y )4.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区 ; ( Y )5.边填充算法中是将扫描线与多边形交点左方的所有象素取补; ( N )6.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;( Y )7.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;( N )8.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;( Y )9.显式方程和参数曲线均可以表示封闭曲线或多值曲线;( N ) 10. 凡满足G'连续的曲线同时满足C'连续条件,反之则不成立;( N ) 11.计算机图形生成的基本单位是线段。( F ) 12.一个逻辑输入设备可以对应多个物理输入设备。( T ) 13.DDA(微分方程法)是Bresenham算法的改进。( F ) 14.光的强度计算公式通常表示为: I = 0.59I + 0.30I + 0.11I ( T ) 15.Bezier曲线具有对称性质。( T ) 16.Gourand光照模型能够即使出高光部位的亮度。( F ) 17. NURBS曲线方法不能够提供标准解析曲线和自由曲线的统一数学 表达。( F ) 18.Phong算法的计算量要比Gourand算法小得多。( F ) 19.齐次坐标系不能表达图形中的无穷远点。( F ) 20.欧拉公式 v – e + f = 2 也适用于三维形体中的相关信息描述。( T ) 二.单选题 1.下面关于反走样的论述哪个是错误的?( D ) A.提高分辨率; B.把象素当作平面区域进行采样; C.采用锥形滤波器进行加权区域采样; D.增强图象的显示亮度; 2.多边形填充时,下述哪个论述是错误的?( C ) A.多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边 上,并且相间排列;

计算机图形学考试大纲

计算机科学与技术学科综合水平全国统一考试大纲及指南 计算机图形学 一、考试大纲 要求掌握设计和使用计算机图形学系统所必须的基本原理,其主要内容包括: 1.基本图形生成算法 2.二维图形显示 3.曲线和曲面的表示 4.三维物体的几何表示和几何变换 5.真实感图形的实现原理和算法 二、复习指南 (-)概述 1.计算机图形学和图形系统基本知识 计算机图形学研究对象及应用领域;图形系统的硬件和软件;图形标准接口。 2.基本图形的属性及生成算法 直线,曲线,填充区域,文字等。 (二)二维图形变换和显示 1.二维几何变换 平移、旋转、缩放及其组合,坐标系变换。 2.二维图形显示 点、线、多边形、曲线及文字的裁剪。 (三)曲线、曲面和三维图形 1.曲线和曲面的参数表示 Bezier曲线和曲面,双三次曲面的表示,B样条,插值,曲面拟合。 2.三维物体的几何表示方法 物体的定义及性质,特征参数法,边界表示法,曲面离散近似表示,实体构造表示法,八叉树表示法。 3.三维形体的输出过程 平面几何投影变换,观察空间,空间转换,三维裁剪。 (四)光学模型及其算法实现 l.简单光反射模型 基本光学原理,简单光反射模型(Phong模型)的导出和实现。 2.增量式光反射模型 双线性光强插值法(Crourand Shading),双线性法向插值法(Phong Shading),加速算法。 3.局部光反射模型 局部光反射模型及其实现。 4.光源模型 光源模型及其光强分布。 5.简单光透射模型 透明效果的模拟方法,Witted光透射模型,Hall光透射模型。 6.光线跟踪显示技术

基本光线跟踪算法,光线与物体求交,光线跟踪中的简单阴影。 (五)消隐显示和阴影生成技术 1.消隐显示技术 深度缓存算法(Z-Buffer),扫描线算法,多边形区域排序算法,列表优先算法。 2.阴影生成技术 阴影扫描线算法,阴影多边形算法,阴影空间算法,阴影深度缓存算法,反走样软影生成算法。 三、思考题 1.计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?它们之间的关系如何? 2.简述侦缓存与显示器分辨率的关系。分辨率分别为640 * 480,1280 * 1024,和2560 * 2048的显示器各需要多少字节位平面数为24的帧缓存? 3.画直线的算法有哪几种?圆圆弧的算法有哪几种?写一个画带线宽的虚线的程序。 4.写一个画饼分图的程序,用不同的颜色填充各个区域。 5.写一个显示一串字符的程序。 6.分别写出平移、旋转、缩放及其组合的变换矩阵。 7.如何用几何变换实现坐标系的变换? 8.写出几种线裁剪算法;写出几种多边形裁剪算法。 9.写出Bezier曲线和面片的几种表达形式。 10.写出B样条的矩阵形式和调和函数。为什么使用非均匀有理B样条? 11.简述边界表示法(BREP)实体构造表示法(CSG) 12.写出透视变换矩阵和各种投影(三视图、正轴测和斜投影)变换矩阵。 13.观察空间有哪些参数?其作用是什么?写出从物体空间坐标系到观察空间坐标系转换矩阵。 14.分别写出对于透视投影和平行投影的从裁剪空间到规范化投影空间的转换矩阵。 15.写出从规范化投影空间到图象空间的转换矩阵。 16.写出简单光反射模型近似公式,并说明其适用范围及能产生的光照效果。 17.写出线光源的光强公式及其积分算法。 18.试描述Witted光透射反射模型和Hall光透射模型。 19.写出光线跟踪算法。 20.写出光线与几种常见物体面的求交界法。 21.简述消隐算法的分类。 22.简述深度缓存算法及其特点。 23.简述点与多边形之间的包合性检测算法。 24.描述扫描线算法。 25.简述阴影生成算法的分类及各种算法。 四、考试样卷 请从以下每小题的所给A~D答案中选出一个正确答案: 1.计算机绘图设备一般使用什么颜色模型? A)RGB;B)CMY:C)HSV;D)HLS 2.计算机图形显示器一般使用什么颜色模型? A)RGB;B)CMY;C)HSV;D)HLS 3.分辨率为1024*1024的显示器各需要多少字节位平面数为24的侦级存? A)512KB;B)1MB;C)2MB;D)3MB

计算机图形学必考知识点

Phong Lighting 该模型计算效率高、与物理事实足够接近。Phong模型利用4个向量计算表面任一点的颜色值,考虑了光线和材质之间的三种相互作用:环境光反射、漫反射和镜面反射。Phong模型使用公式:I s=K s L s cosαΦα:高光系数。计算方面的优势:把r和v归一化为单位向量,利用点积计算镜面反射分量:I s=K s L s max((r,v)α,0),还可增加距离衰减因子。 在Gouraud着色这种明暗绘制方法中,对公用一个顶点的多边形的法向量取平均值,把归一化的平均值定义为该顶点的法向量,Gouraud着色对顶点的明暗值进行插值。Phong着色是在多边形内对法向量进行插值。Phong着色要求把光照模型应用到每个片元上,也被称为片元的着色。 颜色模型RGB XYZ HSV RGB:RGB颜色模式已经成为现代图形系统的标准,使用RGB加色模型的RGB三原色系统中,红绿蓝图像在概念上有各自的缓存,每个像素都分别有三个分量。任意色光F都可表示为F=r [ R ] + g [ G ] + b [ B ]。RGB颜色立方体中沿着一个坐标轴方向的距离代表了颜色中相应原色的分量,原点(黑)到体对角线顶点(白)为不同亮度的灰色 XYZ:在RGB 系统基础上,改用三个假想的原色X、Y、Z建立了一个新的色度系统, 将它匹配等能光谱的三刺激值,该系统称为视场XYZ色度系统,在XYZ空间中不能直观地评价颜色。 HSV是一种将RGB中的点在圆柱坐标系中的表示法,H色相S饱和度V明度,中心轴为灰色底黑顶白,绕轴角度为H,到该轴距离为S,沿轴高度为S。 RGB优点:笛卡尔坐标系,线性,基于硬件(易转换),基于三刺激值,缺点:难以指定命名颜色,不能覆盖所有颜色范围,不一致。 HSV优点:易于转换成RGB,直观指定颜色,’缺点:非线性,不能覆盖所有颜色范围,不一致 XYZ:覆盖所有颜色范围,基于人眼的三刺激值,线性,包含所有空间,缺点:不一致 交互式计算机程序员模型 (应用模型<->应用程序<->图形库)->(图形系统<->显示屏).应用程序和图形系统之间的接口可以通过图形库的一组函数来指定,这和接口的规范称为应用程序编程人员接口(API),软件驱动程序负责解释API的输出并把这些数据转换为能被特定硬件识别的形式。API提供的功能应该同程序员用来确定图像的概念模型相匹配。建立复杂的交互式模型,首先要从基本对象开始。良好的交互式程序需包含下述特性:平滑的显示效果。使用交互设备控制屏幕上图像的显示。能使用各种方法输入信息和显示信息。界面友好易于使用和学习。对用户的操作具有反馈功能。对用户的误操作具有容忍性。Opengl并不直接支持交互,窗口和输入函数并没有包含在API中。 简单光线跟踪、迭代光线跟踪 光线跟踪是一种真实感地显示物体的方法,该方法由Appel在1968年提出。光线跟踪方法沿着到达视点的光线的相反方向跟踪,经过屏幕上每一象素,找出与视线所交的物体表面点P0,并继续跟踪,找出影响P0点光强的所有的光源,从而算出P0点上精确的光照强度。光线跟踪器最适合于绘制具有高反射属性表面的场景。优缺点:原理简单,便于实现,能生成各种逼真的视觉效果,但计算量开销大,终止条件:光线与光源相交光线超出视线范围,达到最大递归层次。一般有三种:1)相交表面为理想漫射面,跟踪结束。2)相交表面为理想镜面,光线沿镜面反射方向继续跟踪。3)相交表面为规则透射面,光线沿规则透射方向继续跟踪。 描述光线跟踪简单方法是递归,即通过一个递归函数跟踪一条光线,其反射光想和折射光线再调用此函数本身,递归函数用来跟踪一条光线,该光线由一个点和一个方向确定,函数返回与光线相交的第一个对象表面的明暗值。递归函数会调用函数计算指定的光线与最近对象表面的交点位置。 图形学算法加速技术BVH, GRID, BSP, OCTree 加速技术:判定光线与场景中景物表面的相对位置关系,避免光线与实际不相交的景物表面的求交运算。加速器技术分为以下两种:Bounding Volume Hierarchy 简写BVH,即包围盒层次技术,是一种基于“物体”的场景管理技术,广泛应用于碰撞检测、射线相交测试之类的场合。BVH的数据结构其实就是一棵二叉树(Binary Tree)。它有两种节点(Node)类型:Interior Node 和Leaf Node。前者也是非叶子节点,即如果一个Node不是Leaf Node,它必定是Interior Node。Leaf Node 是最终存放物体/们的地方,而Interior Node存放着代表该划分(Partition)的包围盒信息,下面还有两个子树有待遍历。使用BVH需要考虑两个阶段的工作:构建(Build)和遍历(Traversal)。另一种是景物空间分割技术,包括BSP tree,KD tree Octree Grid BSP:二叉空间区分树 OCTree:划分二维平面空间无限四等分 Z-buffer算法 算法描述:1、帧缓冲器中的颜色设置为背景颜色2、z缓冲器中的z值设置成最小值(离视点最远)3、以任意顺序扫描各多边形a) 对于多边形中的每一个采样点,计算其深度值z(x,y) b) 比较z(x, y)与z缓冲器中已有的值zbuffer(x,y)如果z(x, y) >zbuffer(x, y),那么计算该像素(x, y)的光亮值属性并写入帧缓冲器更新z缓冲器zbuffer(x, y)=z(x, y) Z-buffer算法是使用广泛的隐藏面消除算法思想为保留每条投影线从COP到已绘制最近点距离,在投影后绘制多边形时更新这个信息。存储必要的深度信息放在Z缓存中,深度大于Z缓存中已有的深度值,对应投影线上已绘制的多边形距离观察者更近,故忽略该当前多边形颜色,深度小于Z缓存中的已有深度值,用这个多边形的颜色替换缓存中的颜色,并更新Z缓存的深度值。 void zBuffer() {int x, y; for (y = 0; y < YMAX; y++) for (x = 0; x < XMAX; x++) { WritePixel (x, y, BACKGROUND_VALUE); WriteZ (x, y, 1);} for each polygon { for each pixel in polygon’s projection { //plane equation doubl pz = Z-value at pixel (x, y); if (pz < ReadZ (x, y)) { // New point is closer to front of view WritePixel (x, y, color at pixel (x, y)) WriteZ (x, y, pz);}}}} 优点:算法复杂度只会随着场景的复杂度线性增加、无须排序、适合于并行实现 缺点:z缓冲器需要占用大量存储单元、深度采样与量化带来走样现象、难以处理透明物体 着色器编程方法vert. frag 着色器初始化:1、将着色器读入内存2、创建一个程序对象3、创建着色器对象4、把着色器对象绑定到程序对象5、编译着色器6、将所有的程序连接起来7、选择当前的程序对象8、把应用程序和着色器之间的uniform变量及attribute变量关联起来。 Vertex Shader:实现了一种通用的可编程方法操作顶点,输入主要有:1、属性、2、使用的常量数据3、被Uniforms使用的特殊类型4、顶点着色器编程源码。输入叫做varying变量。被使用在传统的基于顶点的操作,例如位移矩阵、计算光照方程、产生贴图坐标等。Fragment shader:计算每个像素的颜色和其他属性,实现了一种作用于片段的通用可编程方法,对光栅化阶段产生的每个片段进行操作。输入:Varying 变量、Uniforms-用于片元着色器的常量,Samples-用于呈现纹理、编程代码。输出:内建变量。 观察变换 建模变换是把对象从对象标架变换到世界标架 观察变换把世界坐标变换成照相机坐标。VC是与物理设备无关的,用于设置观察窗口观察和描述用户感兴趣的区域内部分对象,观察坐标系采用左手直角坐标系,可在用户坐标系中的任何位置、任何方向定义。其中有一坐标轴与观察方向重合同向并与观察平面垂直。观察变换是指将对象描述从世界坐标系变换到观察坐标系的过程。(1):平移观察坐标系的坐标原点,与世界坐标系的原点重合,(2):将x e,y e轴分别旋转(-θ)角与x w、y w轴重合。 规范化设备坐标系 规范化设备坐标系是与具体的物理设备无关的一种坐标系,用于定义视区,描述来自世界坐标系窗口内对象的图形。 光线与隐式表面求交 将一个对象表面定义为f(x,y,z)=f(p)=0,来自P0,方向为d的光线用参数的形式表示为P(t)=P0+td. 交点位置处参数t的值满足:f(P0+td)=0,若f是一个代数曲面,则f是形式为X i Y j Z k的多项式之和,求交就转化为寻求多项式所有根的问题,满足的情况一:二次曲面,情况二:品面求交,将光线方程带入平面方程:p*n+c=0可得到一个只需做一次除法的标量方程p=p0+td。可通过计算得到交点的参数t的值:t=(p0*n+c)/(n*d). 几何变换T R S矩阵表示 三维平移T 三维缩放S旋转绕z轴Rz( ) 100dx 010dy 001dz 0001 Sx000 0Sy00 00Sz0 0001 cos-sin00 sin cos00 0010 0001 θθ θθ 旋转绕x轴Rx(θ) 旋转绕y轴Ry(θ) 1000 0cos-sin0 0sin cos0 0001 θθ θθ cos0sin0 0100 -sin0cos0 0001 θθ θθ 曲线曲面 Bezier曲线性质:Bezier曲线的起点和终点分别是特征多边形的第一个顶点和最后一个顶点。曲线在起点和终点处的切线分别是特征多边形的第一条边和最后一条边,且切矢的模长分别为相应边长的n倍;(2)凸包性;(3)几何不变性(4)变差缩减性。端点插值。 均匀B样条曲线的性质包括:凸包性、局部性、B样条混合函数的权性、连续性、B样条多项式的次数不取决于控制函数。 G连续C连续 C0连续满足:C1连续满足: (1)(0) p(1)=(1)(0)(0) (1)(0) px qx py q qy pz qz == ???? ???? ???? ???? (1)(0) p'(1)=(1)'(0)(0) (1)(0) p x q x p y q q y p z q z == ???? ???? ???? ???? C0(G0)连续:曲线的三个分量在连接点必须对应相等 C1连续:参数方程和一阶导数都对应相等 G1连续:两曲线的切线向量成比例 三维空间中,曲线上某点的导数即是该点的切线,只要求两个曲线段连接点的导数成比例,不需要导 数相等,即p’(1)=aq’(0) 称为G1几何连续性。将该思想推广到高阶导数,就可得到C n和G n连续性。

计算机图形学课程教学大纲

《计算机图形学》课程教学大纲一、课程基本信息 课程代码:110053 课程名称:计算机图形学 英文名称:Computer Graphics 课程类别:专业课 学时:72 学分: 适用对象:信息与计算科学专业本科生 考核方式:考试(平时成绩占总成绩的30%) 先修课程:高级语言程序设计、数据结构、高等代数 二、课程简介 中文简介: 计算机图形学是研究计算机生成、处理和显示图形的学科。它的重要性体现在人们越来越强烈地需要和谐的人机交互环境:图形用户界面已经成为一个软件的重要组成部分,以图形的方式来表示抽象的概念或数据已经成为信息领域的一个重要发展趋势。通过本课程的学习,使学生掌握计算机图形学的基本原理和基本方法,理解图形绘制的基本算法,学会初步图形程序设计。 英文简介: Computer Graphics is the subject which concerned with how computer builds, processes and shows graphics. Its importance has been shown in people’s more and more intensively need for harmony human-machine interface. Graphics user interface has become an important part of software. It is a significant trend to show abstract conception or data in graphics way. Through the learning of this course, students could master Computer Graphics’basic theories and methods,understand graphics basic algorithms and learn how to design basic graphics program. 三、课程性质与教学目的 《计算机图形学》是信息与计算科学专业的一门主要专业课。通过本课程的学习,使学生掌握基本的二、三维的图形的计算机绘制方法,理解光栅图形生成基本算法、几何造型技术、真实感图形生成、图形标准与图形变换等概念和知识。学会图形程序设计的基本方法,为图形算法的设计、图形软件的开发打下基础。 四、教学内容及要求 第一章绪论 (一)目的与要求 1.掌握计算机图形学的基本概念; 2.了解计算机图形学的发展、应用; 3.掌握图形系统的组成。

相关主题
文本预览
相关文档 最新文档