文档库 最新最全的文档下载
当前位置:文档库 › 1计算机图形学试题及答案

1计算机图形学试题及答案

1计算机图形学试题及答案
1计算机图形学试题及答案

一、 判断题(10x1=10分)

1、 构成图形的要素可分为两类:刻画形状的点、线、面、体的非几何要素与反映物体表面属性或材质的明暗、色

彩等的几何要素。( 错误 )

2、 参数法描述的图形叫图形;点阵法描述的图形叫图像。( 正确 )

3、 EGA/VGA 为增强图形显示效果的一种图形处理软件的名称。( 错误 )

4、 对山、水等不规则对象进行造型时,大多采用过程式模拟方法。( 正确 )

5、 若两个图形是拓扑等价的,则一个图形可通过做弹性运动与另一个图形相重合。( 正确 )

6、 0阶参数连续性和0阶几何连续性的定义是相同的。( 正确 )

7、 Bezier 曲线可做局部调整。( 错误 )

8、 字符的图形表示分为点阵和矢量两种形式。( 正确 )

9、 LCD 表示发光二极管显示器。( 错误 )

10、 使用齐次坐标可以将n 维空间的一个点向量唯一的映射到n+1维空间中。( 错误 ) 二、 填空题(15x2=30分)

1、目前常用的PC 图形显示子系统主要由3个部件组成:(1)帧缓冲存储器、(2)显示控制器、(3)ROM BIOS 。

2、 图形的输入设备有(4)键盘、鼠标、光笔(至少写三种);图形的显示设备有(5)CRT 显示器、LCD 、投影仪(至少写三种)。

3、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。

4、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。

5、一个交互式计算机图形系统应具有(11)计算 、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。 三、 简答题(5x6=30分)

1、 请列举常用的直线段裁减算法(四种)。

答:答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck 算法。

2、 考虑三个不同的光栅系统,分辨率依次为480640?,10241280?,20482560?。欲存储每个像素12位,

这些系统各需要多大的帧缓冲器(字节数)?

答:480640?需要的帧缓存为KB 4508/12480640=?? 10241280?需要的帧缓存为KB 19208/1210241280=?? 2048

2560?需要的帧缓存为KB 76808/1220482560=?? 3、 什么叫做走样?什么叫做反走样?反走样技术包括那些? 答:走样指的是用离散量表示连续量引起的失真。

为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。

其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。 4、 试说明一致缩放(s x =s y )和旋转形成可交换的操作对。

答:?????

?????-=??????????-???????????=1000cos sin 0sin cos 1000cos sin 0sin cos 10

00001θθθθ

θθθθ

y y x x y x s s s s s s T ????

?????

?-=?????????????????????-=10

00cos sin 0sin cos 10

000010

00cos sin 0sin cos 2θθθθθθθθ

y x y x y x

s s s s s s T

因为s x =s y ,故有T 1=T 2,所以一致缩放(s x =s y )和旋转可以形成可交换的操作对。 5、用参数方程形式描述曲线曲面有什么优点?

答:①点动成线;②可以满足几何不变性的要求;③可以避免斜率带来的问题; ④易于定界;⑤可以节省工作量;⑥参数变化对各因变量的影响明显。

四、 利用中点Bresenham 画圆算法的原理推导第一象限从y=x 到x=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式)。(10分)

解:x 方向为最大走步方向,x i+1=x i -1,y i+1由d 确定

d i =F(x m ,y m )=(x i -1)2+(y i +0.5)2-R 2

⑴ d i <0时,点在圆内,x i+1=x i -1, y i+1= y i +0.5

d i+1=F(x m ,y m )= (x i -2)2+(y i +1.5)2-R 2 =x i 2-4x i +4+y i 2+3y i +1.52-R 2 =(x i -1)2-2x i +3+(y i +0.5)2+2y i +2-R 2 = d i -2x i +2y i +5 = d i +2(y i -x i )+5 ⑵ di ≥0时,点在圆外,x i+1=x i -1,y i+1=y i d i+1=F(x m ,y m )=(x i -2)2+(y i +0.5)2-R 2 =x i 2-4x i +4+(y i +0.5)2-R 2 = di -2xi+3

五、 如下图所示多边形,若采用改进的有效边表算法进行填充,试写出该多边形的ET 表和当扫描线Y=4时的AET

表。(本题10分)

六、

1

2

3

4

5

6

7

1

2

3

4

5

6

A7

A6

A5

A4

A3

A2

A1

Y

X

解:ET 表:

六、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50,wyt=50)。设备坐标系中视区的左下角坐标为(vxl=10,vyb=30),

右上角坐标为(vxr=50,vyt=90)。已知在窗口内有一点p(20,30),要将点p 映射 到视区内的点p`,请问p`点在设备坐标系中的坐标是多少?(本题10分)

解:○1将窗口左下角点(10,10)平移至观察坐标系的坐标原点,平移矢量为(-10,-10)。 ○

2针对坐标原点进行比例变换,使窗口的大小和视区相等。比例因子为: S x =(50-10)/(50-10)=1; S y =(90-30)/(50-10)=1.5。

3将窗口内的点映射到设备坐标系的视区中,再进行反平移,将视区的左下角点移回到设备坐标系中原来的位置(10,30),平移矢量为(10,30)。

??

??????????????????--=?=130

10

0100

0110

05.10001110

10

010001

2

1T T T ??

????=115

05.100

011]

60 [20115

05.100

011]. 30 [20115

05.10

01

1].y [x 1]y [x p`====??

??????????

p`点在设备坐标系中的坐标是(20,60)。

1、以计算机中所记录的形状参数与属性参数来表示图形的一种方法叫做( ),一般把它描述的图形叫做( );而

用具有灰度或颜色信息的点阵来表示图形的一种方法是( ),它强调图形由哪些点组成,并具有什么灰度或色彩,一般把它描述的图形叫做( )。A

A 参数法、图形、点阵法、图像

B 点阵法、图像、参数法、图形

C 参数法、图像、点阵法、图形

D 点阵法、图形、参数法、图像 2、下列设备中属于图形输出设备的是( B ) ○

1鼠标○2LCD ○3键盘○4 LED ○

5打印机○6扫描仪○7绘图仪○8触摸屏 A ○

1○3○6○8 B ○2○4○5○7 C ○2○5○6○7 D ○4○6○7○8 3. 下面给出的四个选项中( D )是绕Z 轴负向旋转θ的三维旋转变换矩阵。

A ?????????

???-1000

0cos sin 00sin cos 00001θθθθ B ?????

????

???-10000cos 0sin 00100sin 0cos θθθθ C ?????

????

???-10

010000cos sin 00sin cos θθθθ D ?????

???????-10

010000cos sin 00sin cos θθθθ 4. 下面给出的四个选项中,( A )不是Bezier 曲线具有的性质。 A 局部性 B 几何不变性 C 变差缩减性 D 凸包性

5、B 样条曲线中,按照节点矢量T 的不同可以将B 样条分为均匀B 样条,开放均匀B 样条和非均匀B 样条,以下

选项中属于开放均匀B 样条节点矢量的是(C )。 A 、T =(0,1,2,3,4,5,6)

B 、T =(0,0,1,1,2,2,3,3)

C 、T =(0,0,0,1,2,3,4,5,5,5)

D 、T =(0,0.1,0.2,0.2,0.5,1)

二、填空题(共8小题,每空1分,总计25分,请直接在原题上作答)

1、一个交互式计算机图形系统应具有( 计算 )、( 存储 )、( 对话 )、( 输入 )、

( 输出 )等五个方面的功能。

2. 将三维物体变为二维图形的变换称为(投影变换),其有两种基本方式:(平行投影)、(透视投影)。

3、形体的定义和图形的输入输出都是在一定的坐标系下进行的,通常这些坐标系分为:建模坐标系, (用户坐标系),(观察坐标系),规格化设备坐标系和 (设备坐标系)。

4、X 扫描线算法中,每次用一条扫描线进行填充,对一条扫描线填充的过程可分为4个步骤:(求交)、(排序)、(交点配对)、(区间填色)。

5、平面几何投影可分为两大类,分别是:(透视投影),(平行投影)。

6、用一组型值点来指定曲线曲面的形状时,形状完全通过给定的型值点列,用该方法得到的曲线曲面称为曲线曲面的(拟和),而用控制点列来指定曲线曲面的形状时,得到的曲线曲面不一定通过控制点列,该方法称为曲线曲

面的(逼近)。

7、对于基本几何变换,一般有平移、旋转、反射和错切等,这些基本几何变换都是相对于(坐标原点)和(坐标轴)

进行的几何变换。

三、简答题(共3小题,每小题5分,总计15分,请直接在原题上作答)

1、走样与反走样的定义是?反走样技术包括那些?

答:走样指的是用离散量表示连续量引起的失真。

为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。

其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。

2.如下图所示,裁减窗口为正方形,采用逐边裁件算法,依次按左、下、右、

上的顺序,用四条窗口边界裁减多边形ABCDE。试写出每条框口边界裁减后

输出的新的多边形的顶点序列。

答:左边界裁减后:ABCD12 下边界裁减后:4B56D123

右边界裁减后:4B7D123 上边界裁减后:4B789123

3、Bezier曲线在端点处的一阶导数为:p’(0)=n(P1-P0),p’(1)=n(P n-P n-1),二阶导数为:p”(0)=n(n-1)((P2-P1)-(P1-P0)),

p”(1)=n(n-1)((P n-2-P n-1)-(P n-1-P n))。写出如图2所示的两段三次Bezier曲线在连接点处的G1,G2连续性条件。答:因为是三次Bezier曲线,所以有n=3。

图2

根据G1连续性条件有:p’(1)=a* p’(0)即:Q1-Q0= a*(P3-P2)

又根据G2连续性条件有:

p”(1)=b*p”(0)即:Q0-2Q1+Q2=b*(P1-2P2+P3)

四、证明题(本题5分,请直接在原题上作答)

试证明一个绕原点的旋转变换和一个均匀比例变换是可交换的变换对。

证明:?????

??

???-=?????????????????????-=10

00cos sin 0sin cos 1000000

10

0cos sin 0sin cos 1θθθθ

θθθθS S S S S S

T ????

?

?????-=???????

???-???????????=10

0cos sin 0sin cos 10

00cos sin 0sin cos 10000

002θθθθ

θθθθ

S S S S S S

T T 1=T 2,所以一个绕原点的旋转变换和一个均匀比例变换是可交换的变换对。

五、(本题10分)利用中点Bresenham 画圆算法的原理推导第一象限从y=0到x=y 圆弧段的扫描转换算法(设半径为R ,

要求写清原理、误差函数、递推公式)。

解:算法原理:如图a 所示,从y=0到x=y 圆弧段即为逆时针方向,此时当

y 方向走一步时,x 方向能否走一步需要根据判别式进行判断,推导如下:

先构造函数F(x,y)=x 2+y 2-R 2,对于圆上点F(x,y)=0;对于圆外点F(x,y)>0;

圆内点F(x,y)<0。

假设M 为Pr 和Pl 的中点即M(x i -0.5,y i +1)

所以判别式为:

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

当d<0时,如图b ,下一点取Pr (x i ,y i +1) 当d>0时,如图c ,下一点取Pl(x i -1,y i +1) 当d =0时,任取上述情况中一种即可。

误差项的递推:如图b 所示,当d<0时,取Pr (x i ,y i +1),欲判断下一个象素,应计算:

d’=F(x i -0.5,y i +2)=d+2y i +3,即d 的增量为2y i +3;

如图c 所示,当d>0时,取Pl(x i -1,y i +1),欲判断下一个象素,应计算:

d’=F(x i -1.5,y i +2)=d-2x i +2y i +3, 即d 的增量为-2x i +2y i +3。 绘制第一个点为(R,0),所以d 的初始值为

d 0=F (R-0.5,1)=1.25-R

六、(本题15分)如右图所示的多边形,若采用

改进的有效边表算法进行填充,在填充

时采用“下闭上升”的原则(即删除y=y max 的边之后再填充)试画出该多边形的ET 表和当扫描线Y=3和Y=8时的AET 表。

多边形P 0P 1P 2P 3P 4P 5P 6P 0

x 图a

图c

解:ET 表如下:

当扫描线Y=8时的AET 表:

当扫描线Y=3时的AET 表:

七、(本题15分)如图所示四边形ABCD ,求绕P (5,

时针旋转90度的变换矩阵,

并求出各端点坐标,画出变换后的图形。

解:

5、 考虑三个不同的光栅系统,分辨率依次为480640?,10241280?,20482560?。欲存储每个像素12位,

这些系统各需要多大的帧缓冲器(字节数)?

答:480640?需要的帧缓存为KB 4508/12480640=??

?????????????????????-???????????--=145010001100090cos 90sin 090sin 90cos 145010001

T ????

??????--=119001010??????

?

??

?????=???????

???--???????????????110652166138119001010114717137114

10241280?需要的帧缓存为KB 19208/1210241280=?? 2048

2560?需要的帧缓存为KB 76808/1220482560=?? 3、按照所构造的图形对象来分,点、曲线、平面、曲面或实体属于( ),而山、水、云、烟等自然界丰富多彩的对

象属于( )。A

A 、规则对象、不规则对象

B 、规则对象、属性对象

C 、不规则对象、几何对象

D 、不规则对象、属性对象

4、对于区域内外测试中,常常使用奇-偶规则测试的方法,按照该规则测试

图形,如图1所示,试选出以下属于外部点的是( D )。

A 、M 点

B 、P 点

C 、O 点

D 、N 点

5、B 样条曲线中,按照节点矢量T 的不同可以将B 样条分为均匀B 样条,开

放均匀B 样条和非均匀B 样条,以下选项中属于开放均匀B

T =(0,1,

2,3,4,5,6)

B 、T =(0,0,1,1,2,2,3,3)

C 、T =(0,0,0,1,2,3,4,5,5,5)

D 、T =(0,0.1,0.2,0.2,0.5,1)

七、(本题10分)试用Liang-Barsky 算法裁剪如图所示

线段。

解:

A(-2,6) x1=-2, y1=6 B(7,-2) x2=7, y2=-2

窗口:wxl=0, wxr=4, wyb=0, wyt=3 * ??

?-+=-+=)

12(1)

12(1y y U y y x x U x x 0≤U ≤1

P 1=-Δx=-(7+2)=-9 q 1=x1-wxl=-2 U 1=2/9 P 2=Δx=9 q 2=wxr-x1=6 U 2=2/3 P 3=-Δy=-(-2-6)=8 q 3=y1-wyb=6 U 3=3/4 P 4=Δy=-8 q 4=wyt-y1=3 U 4=3/8 U k =

k

k

p q (k=1、2、3、4) Umax=max (0,0

Umin=min(1,0

>k p k

U )=min(1, 2/3, 3/4)= 2/3

将Umax , Umin 代入方程组* 中求得直线与窗口的两个交点: x max =11/8, y max =3

x min =4, y min =2/3

即将A ’(11/8,3) B ’(4,2/3)直线保留,AA ’B ’B 删去。 八、(本题10分)如图所示,物体ABCDEFGH 进行如下变换,

写出其变换矩阵并求出复合变换后顶点的齐次坐标。 1、 平移使点C 与点P (1,-1,0)重合; 2、绕z 轴旋转60°。

解:平移点C 与点P 重合的平移矩阵为

??

???

??

??

???-=10200100001000011T 绕z 轴旋转60°矩阵为?

???

???

??????

?-=100

00100000022

12

32321

T 所以,复合变换后的矩阵为T1*T2,有:

?

???

?

???????

????????????=??????????????????????????+--+-=??

??

?

?

?

?

?

???

????????????=*????????????????????????--+--+''''''''12121213

121310*********

32*1*1210

1211120112001010101110011000

2*121

2

32

1

3231212

1

2

32

1

323123

21

H G F E D C B A T T T T H G F E D C B A 其中A ’B ’C ’D ’E ’F ’G ’H ’为变换后对应的齐次坐标。

X

计算机图形学实验一

实验一二维基本图元的生成与填充 实验目的 1.了解并掌握二维基本图元的生成算法与填充算法。 2.实现直线生成的DDA算法、中点算法和Bresenham算法。 3.实现圆和椭圆生成的DDA和中点算法, 对几种算法的优缺点有感性认识。 二.实验内容和要求 1.选择自己熟悉的任何编程语言, 建议使用VC++。 2.创建良好的用户界面,包括菜单,参数输入区域和图形显示区域。 3.实现生成直线的DDA算法、中点算法和Bresenham算法。 4.实现圆弧生成的中点算法。 5.实现多边形生成的常用算法, 如扫描线算法,边缘填充算法。 6.实现一般连通区域的基于扫描线的种子填充算法。 7.将生成算法以菜单或按钮形式集成到用户界面上。 8.直线与圆的坐标参数可以用鼠标或键盘输入。 6. 可以实现任何情形的直线和圆的生成。 实验报告 1.用户界面的设计思想和框图。 2.各种实现算法的算法思想。 3.算法验证例子。 4.上交源程序。 直线生成程序设计的步骤如下: 为编程实现上述算法,本程序利用最基本的绘制元素(如点、直线等),绘制图形。如图1-1所示,为程序运行主界面,通过选择菜单及下拉菜单的各功能项分别完成各种对应算法的图形绘制。 图1-1 基本图形生成的程序运行界面 2.创建工程名称为“基本图形的生成”单文档应用程序框架 (1)启动VC,选择“文件”|“新建”菜单命令,并在弹出的新建对话框中单击“工程”标签。 (2)选择MFC AppWizard(exe),在“工程名称”编辑框中输入“基本图形的生成”作为工程名称,单击“确定”按钮,出现Step 1对话框。 (3)选择“单个文档”选项,单击“下一个”按钮,出现Step 2对话框。 (4)接受默认选项,单击“下一个”按钮,在出现的Step 3~Step 5对话框中,接受默认选项,单击“下一个”按钮。

计算机图形学实验内容汇总

计算机图形学实验 肖加清

实验一图形学实验基础 一、实验目的 (1)掌握VC++绘图的一般步骤; (2)掌握OpenGL软件包的安装方法; (3)掌握OpenGL绘图的一般步骤; (4)掌握OpenGL的主要功能与基本语法。 二、实验内容 1、VC++绘图实验 (1)实验内容:以下是绘制金刚石图案。已给出VC++参考程序,但里面有部分错误,请改正,实现以下图案。 N=3 N=4

N=5 N=10 N=30

N=50 (2)参考程序 //自定义的一个类 //此代码可以放在视图类的实现文件(.cpp) 里class CP2 { public: CP2(); virtual ~CP2(); CP2(double,double); double x; double y; }; CP2::CP2() { this->x=0.0; this->y=0.0; } CP2::~CP2() { } CP2::CP2(double x0,double y0) { this->x=x0; this->y=y0; }

//视图类的一个成员函数,这个成员函数可以放在OnDraw函数里调用。 //在视图类的头文件(.h)里定义此函数 void Diamond(); //在视图类的实现文件(.cpp)里实现此函数 void CTestView::Diamond() { CP2 *P; int N; double R; R=300; N=10; P=new CP2[N]; CClientDC dc(this); CRect Rect; GetClientRect(&Rect); double theta; theta=2*PI/N; for(int i=0;i #include #include #include //定义输出窗口的大小 #define WINDOW_HEIGHT 300

计算机图形学题目1答案

一、选择题(20分) 1、计算机绘图设备一般使用什么颜色模型?( B ) 色的简写) C. HSV D. HLS (计算机图形显示器用RGB) 2、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的? ( A ) A. S和P均在可见的一侧,则输出S和P. B. S和P均在不可见的一侧,则输出0个顶点. C. S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点. D. S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P. 3、在物体的定义中对边的哪条限制不存在?( C ) A. 边的长度可度量且是有限的 B. 一条边有且只有两个相邻的面 C. 一条边有且只有两个端点 D. 如果一条边是曲线,那么在两个端点之间不允许曲线自相交 4、在三维齐次变换矩阵(右图)中,平移线性变换对应的矩阵元素的最大非零个数是( C ) A. 3 B. 6 C. 7 D. 8 5、下列有关平面几何投影的叙述,错误的是( C ) A. 透视投影又可分为一点透视、二点透视、三点透视; B. 斜

投影又可分为斜等测、斜二测; C. 正轴测又可分为正一测(正等测)、正二测、正三测; D. 正视图又可分为主视图、侧视图、俯视图。 6、在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? ( D ) A. 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次 B. 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2 次 C. 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次 D. 当射线与多边形的某边重合时,计数1次 7、在下列叙述语句中,不正确的论述为( C ) A. 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述; B. 在图形系统中,图形处理运算的精度不取决于显示器的分辨率; C. 在光栅扫描图形显示器中,所有图形都按矢量直接描绘显示,不存在任何处理; D. 在彩色图形显示器中,使用RGB颜色模型。 8、下列不属于组成平面多面体的基本元素的是( B )。 A. 顶点 B. 环 C. 棱边 D. 面。

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

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 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. 什么是图像的分辨率?

计算机图形学第1_5章课后习题参考答案

第一章 1、试述计算机图形学研究的基本内容? 答:见课本P5-6页的1.1.4节。 2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画制作。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中的射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 3、计算机图形学与CAD、CAM技术关系如何? 答:见课本P4-5页的1.1.3节。 4、举3个例子说明计算机图形学的应用。 答:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 5、计算机绘图有哪些特点? 答:见课本P8页的1.3.1节。 6、计算机生成图形的方法有哪些? 答:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 ②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形。 7、当前计算机图形学研究的课题有哪些? 答:见课本P10-11页的1.4节。

计算机图形学实验三报告

计算机科学与通信工程学院 实验报告 课程计算机图形学 实验题目二维图形变换 学生姓名 学号 专业班级 指导教师 日期

成绩评定表

二维图形变换 1. 实验内容 完成对北极星图案的缩放、平移、旋转、对称等二维变换。 提示:首先要建好图示的北极星图案的数据模型(顶点表、边表)。另外,可重复调用“清屏”和“暂停”等函数,使整个变换过程具有动态效果。 2. 实验环境 软硬件运行环境:Windows XP 开发工具:visual studio 2008 3. 问题分析

4. 算法设计 程序框架: //DiamondView.h class CDiamondView : public CView { …… public: //参数输入和提示对话框 void Polaris();//北极星 …… }; //DiamondView.cpp void CDiamondView::OnMenuDiamond() { IsCutting = FALSE; if(dlgDiamond.DoModal()==IDOK) DrawDiamond(dlgDiamond.m_nVertex,dlgDiamond.

m_nRadius,100);//调用绘制金刚石的函数 } //北极星 void CDiamondView::Polaris() {......} 5. 源代码 //北极星 void hzbjx(CDC* pDC,long x[18],long y[18]) { CPen newPen1,*oldPen; newPen1.CreatePen(PS_SOLID,2,RGB(255,0,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex1[11]={{x[1],y[1]},{x[2],y[2]},{x[3],y[3]},{x[4],y[4]},{x[5],y[5]},{x[3],y[3]},{x[1],y[1]}, {x[6],y[6]},{x[3],y[3]},{x[7],y[7]},{x[5],y[5]}}; pDC->Polyline(vertex1, 11); newPen1.DeleteObject(); newPen1.CreatePen(PS_SOLID, 2, RGB(0,255,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex2[5]={{x[6],y[6]},{x[8],y[8]},{x[9],y[9]},{x[3],y[3]},{x[8],y[8]}}; pDC->Polyline(vertex2, 5); POINT vertex3[5]={{x[4],y[4]},{x[10],y[10]},{x[11],y[11]},{x[3],y[3]},{x[10],y[10]}}; pDC->Polyline(vertex3, 5);

(完整版)计算机图形学题库及答案

注意:答案仅供参考 第一章 一、名词解释 图形;图像;点阵表示法;参数表示法; 二、选择题: 1. 下面哪个不是国际标准化组织(ISO)批准的图形标准。(D ) A.GKS B.PHIGS C.CGM D.DXF 2. 下面哪一项不属于计算机图形学的应用范围?(B) A. 计算机动画; B. 从遥感图像中识别道路等线划数据; C. QuickTime技术; D. 影视三维动画制作 3. 关于计算机图形标准化的论述,哪个是正确的(B ); A. CGM和CGI是面向图形设备的接口标准; B. GKS、IGES、STEP均是ISO标准; C. IGES和STEP是数据模型和文件格式的标准; D. PHIGS具有模块化的功能结构; 4. 与计算机图形学相关的学科有_ A、C、D___。 A. 图像处理 B. 测量技术 C. 模式识别 D. 计算几何 E. 生命科学 F. 分子生物学 三、判断题: 计算机图形学和图像处理是两个近似互逆的学科。(F) 计算机图形学处理的最基本的图元是线段。(F) 四、简答题: 图形包括哪两方面的要素,在计算机中如何表示它们? 阐述计算机图形学、数字图像处理和计算机视觉学科间的关系。图形学作为一个学科得以确立的标志性事件是什么? 试列举出几种图形学的软件标准?工业界事实上的标准有那些?举例说明计算机图形学有哪些应用范围,解决的问题是什么? 第二章 一、选择题:

1. 触摸屏是一种(C ) A. 输入设备; B. 输出设备; C. 既是输入设备,又是输出设备; D. 两者都不是; 2. 空间球最多能提供(D )个自由度; A. 一个; B. 三个; C. 五个; D. 六个; 3. 等离子显示器属于(C) A. 随机显示器; B. 光栅扫描显示器; C. 平板显示器; D. 液晶显示器; 4. 对于一个1024×1024存储分辨率的设备来说,当有8个位平面时,显示一帧图像所需要的内存为(A、D) A. 1M字节; B. 8M字节; C. 1M比特; D. 8M比特; 5. 分辨率为1024*1024的显示器,其位平面数为24,则帧缓存的字节数应为(A) A. 3MB; B. 2MB; C. 1MB; D. 512KB; 6. 下面对光栅扫描图形显示器描述正确的是:(A) A. 荧光粉涂层均匀离散分布; B. 是一种点画设备; C. 电子束从顶到底扫描; D. 通过控制电子束的强弱实现色彩的强弱; 7. 一个逻辑输入设备可以对应(C)物理输入设备。 A. 仅一个 B. 仅二个 C. 多个 D. 以上都不是 8. 彩色阴极射线管的三基色指得是:(A、C、D) A. 绿色; B. 黄色; C. 蓝色; D. 红色; 9. 计算机显示设备一般使用的颜色模型是(A) A. RGB B. HSV

计算机图形学实验

实验1 直线的绘制 实验目的 1、通过实验,进一步理解和掌握DDA和Bresenham算法; 2、掌握以上算法生成直线段的基本过程; 3、通过编程,会在TC环境下完成用DDA或中点算法实现直线段的绘制。实验环境 计算机、Turbo C或其他C语言程序设计环境 实验学时 2学时,必做实验。 实验内容 用DDA算法或Besenham算法实现斜率k在0和1之间的直线段的绘制。 实验步骤 1、算法、原理清晰,有详细的设计步骤; 2、依据算法、步骤或程序流程图,用C语言编写源程序; 3、编辑源程序并进行调试; 4、进行运行测试,并结合情况进行调整; 5、对运行结果进行保存与分析; 6、把源程序以文件的形式提交; 7、按格式书写实验报告。 实验代码:DDA: # include # include

void DDALine(int x0,int y0,int x1,int y1,int color) { int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { putpixel((int)(x+0.5),(int)(y+0.5),4); x+=xIncre; y+=yIncre; } } main(){ int gdriver ,gmode ;

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

计算机图形学复习题及答 案 This manuscript was revised on November 28, 2020

中南大学现代远程教育课程考试模拟复习试题.及参考答案 计算机图形学 一、名词解释 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 二、判断正误(正确写T,错误写F) 1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位 图。() 2.光栅扫描显示器的屏幕分为m行扫描线,每行n个点,整个屏幕分为m╳n个点,其中每个点称为一个像 素。―――――――――――――――――――――() 3.点阵字符用一个位图来表示,位图中的0对应点亮的像素,用前景色绘制;位图中的1对应未点亮的像素,用背景色绘 制。――――――――――――――――-() 4.矢量字符表示法用(曲)线段记录字形的边缘轮廓线。―――――――――――() 5.将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效 果。―――――――――――――――――――――――――()

6.在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的内 部。―――――――――――――――――――――――() 7.多边形的扫描变换算法不需要预先定义区域内部或边界的像素值。――――――() 8.齐次坐标表示法用n维向量表示一个n+1维向 量。―――――――――――――() 9.实体的边界由平面多边形或空间曲面片组成。―――――――――――――――() 10.平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性 质。―――――――――――――――――――――――――――――――() 11.实体几何性质包括位置、长度和大小 等。―――――――――――――――――() 12.实体的拓扑关系表示实体之间的相邻、相离、方位、相交和包含等关系。―――() 13.实体的扫描表示法也称为推移表示法,该表示法用一个物体和该物体的一条移动轨迹来描述一个新的物 体。――――――――――――――――――――――――() 14.如果投影空间为平面,投影线为直线,则称该投影为平面几何投影。――――-() 15.平面几何投影分为两大类:透视投影和平行投影。――――――――――――- () 16.当投影中心到投影面的距离为有限值时,相应的投影为平行投 影。――――――() 17.当投影中心到投影面的距离为无穷大时,相应的投影即为透视投影。―――――()

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

计算机图形学试题及答案

计算机图形学试题及答 案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

一、判断题(10x1=10分) 1、0阶参数连续性和0阶几何连续性的定义是相同的。(正确) 2、Bezier曲线可做局部调整。(错误) 3、字符的图形表示分为点阵和矢量两种形式。(正确) 4、LCD表示(液晶显示器)发光二极管显示器。(错误) 5、使用齐次坐标可以将n维空间的一个点向量唯一的映射到n+1维空间中。(错误) 二、填空题(15x2=30分) 1、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。 2、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。 3、一个交互式计算机图形系统应具有(11)计算、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。 三、简答题(5x6=30分) 1、什么叫做走样什么叫做反走样反走样技术包括那些 答:走样指的是用离散量表示连续量引起的失真。 为了提高图形的显示质量。需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。 其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。 2、试说明一致缩放(s x=s y)和旋转形成可交换的操作对。

答:???? ? ???? ?-=??????????-???????????=10 00cos sin 0sin cos 10 0cos sin 0sin cos 10 00 001θθθθ θθθθ y y x x y x s s s s s s T 因为s x =s y ,故有T 1=T 2,所以一致缩放(s x =s y )和旋转可以形成可交换的操作对。 5、用参数方程形式描述曲线曲面有什么优点? 答:①点动成线;②可以满足几何不变性的要求;③可以避免斜率带来的问题; ④易于定界;⑤可以节省工作量;⑥参数变化对各因变量的影响明显。 四、 利用中点Bresenham 画圆算法的原理推导第一象限从y=x 到x=0圆弧段的扫描转换算法(要求写清原 理、误差函数、递推公式)。(10分) 解:x 方向为最大走步方向,x i+1=x i -1,y i+1由d 确定 d i =F(x m ,y m )=(x i -1)2+(y i +2-R 2 ⑴ d i <0时,点在圆内,x i+1=x i -1, y i+1= y i + d i+1=F(x m ,y m )= (x i -2)2+(y i +2-R 2 =x i 2-4x i +4+y i 2+3y i + =(x i -1)2-2x i +3+(y i +2+2y i +2-R 2 = d i -2x i +2y i +5 = d i +2(y i -x i )+5 ⑵ di ≥0时,点在圆外,x i+1=x i -1,y i+1=y i d i+1=F(x m ,y m )=(x i -2)2+(y i +2-R 2 =x i 2-4x i +4+(y i +2-R 2 = di -2xi+3 五、 如下图所示多边形,若采用改进的有效边表算法进行填充,试写出该多边形的ET 表和当扫描线 Y=4时的AET 表。(本题10分) 解:ET 表: 六、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50, wyt=50)。设备坐标系中视区的左下角坐标为(vxl=10,vyb=30), 右上角坐标为(vxr=50,vyt=90)。已知在窗口内有一点p(20,30),要将点p 映射 到视区内的点p`,请问p`点在设备坐标系中的坐标是多少(本题10分) 解:○ 1将窗口左下角点(10,10)平移至观察坐标系的坐标原点,平移矢量为(-10,-10)。 ○ 2针对坐标原点进行比例变换,使窗口的大小和视区相等。比例因子为: S x =(50-10)/(50-10)=1; S y =(90-30)/(50-10)=。 ○ 3将窗口内的点映射到设备坐标系的视区中,再进行反平移,将视区的左下角点移回到设备坐标系中原来的位置(10,30),平移矢量为(10,30)。 p`点在设备坐标系中的坐标是(20,60)。

计算机图形学实验一_画直线

大学实验报告 学院:计算机科学与技术专业:计算机科学与技术班级:计科131

如果 d<0,则M在理想直线下方,选右上方P1点; 如果 d=0,则M在理想直线上,选P1/ P2点。 由于d是xi和yi的线性函数,可采用增量计算提高运算效率。 1.如由pi点确定在是正右方P2点(d>0).,则新的中点M仅在x方向加1,新的d值为: d new=F(xi+2,yi+0.5)=a(xi+2)+b(yi+0.5)+c 而 d old=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c d new=d old+a= d old-dy 2.如由pi点确定是右上方P1点(d<0),则新的中点M在x和y方向都增加1,新的d值为 d new=F(xi+2,yi+1.5)=a(xi+2)+b(yi+1.5)+c 而 d old=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c d new=d old+a+b= d old-dy+dx 在每一步中,根据前一次第二迭中计算出的d值的符号,在正右方和右上方的两个点中进行选择。d的初始值: d0=F(x0+1,y0+0.5)=F(x0,y0)+a+b/2=a+b/2=-dy+dx/2 F(x0,y0)=0,(x0,y0)在直线上。 为了消除d的分数,重新定义 F(x,y)=2(ax+by+c) 则每一步需要计算的d new 是简单的整数加法 dy=y1-y0,dx=x1-x0 d0=-2dy+dx d new=d old-2*dy,当 d old>=0 d new=d old-2(dy-dx),当d old<0 Bresenham画线算法 算法原理: 与DDA算法 相似,Bresenham 画线算法也要在 每列象素中找到 与理想直线最逼 近的象素点。 根据直线的 斜率来确定变量 在x或y方向递 增一个单位。另 一个方向y或x

计算机图形学实验报告

目录

实验一直线的DDA算法 一、【实验目的】 1.掌握DDA算法的基本原理。 2.掌握DDA直线扫描转换算法。 3.深入了解直线扫描转换的编程思想。 二、【实验内容】 1.利用DDA的算法原理,编程实现对直线的扫描转换。 2.加强对DDA算法的理解和掌握。 三、【测试数据及其结果】 四、【实验源代码】 #include

#include #include #include GLsizei winWidth=500; GLsizei winHeight=500; void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,150.0); } void DDALine(int x0,int y0,int x1,int y1) { glColor3f(1.0,0.0,0.0); int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { glPointSize(3); glBegin(GL_POINTS); glV ertex2i(int(x+0.5),(int)(y+0.5)); glEnd(); x+=xIncre; y+=yIncre; } } void Display(void) { glClear(GL_COLOR_BUFFER_BIT); DDALine(100,100,200,180); glFlush(); }

计算机图形学第1阶段测试题

江南大学现代远程教育第一阶段测试题 考试科目:《计算机图形学》第1 章至第3 章(总分100分)时间:90分钟 ______________学习中心(教学点)批次:层次: 专业:学号:身份证号: 姓名:得分: 一、回答下列问题: 1.什么是计算机图形学? 2.计算机常用的图形输入设备有哪些?。 3.计算机图形学所涉及的算法有哪些? 4.说明计算机图形系统的功能及组成 5.说明下面几个函数的功能: putpixel(int x, int y, int color) rectangle (int left,int top,int right,int bottom) drawpoly(int numpoints,int far *polypoints) 二、简述图形的增、删、改操作。 三、简述点的拾取的条件是什么? 四、编程完成一个点在一条圆周上运动的动画程序 参考答案 一、回答下列问题: 1.什么是计算机图形学? 计算机图形学是使用计算机通过算法和程序在显示设备上构造出图形,对物体的模型和图象进行生成、存取和管理的新学科。主要研究怎样用数字计算机生成、处理和显示图形。 2.计算机常用的图形输入设备有哪些?。 图形输入设备从逻辑上分有:(要求写出其中3中) 鼠标器:是一种移动光标和做选择操作的计算机输入设备,鼠标器的基本工作原理是:当移动鼠标器时,它把移动距离及方向的信息变成脉冲送给计算机,计算机再把脉冲转换成鼠标器光标的坐标数据,从而达到指示位置的目的。

光笔:是一种检测装置,确切地说是能检测出光的笔。 触摸屏:是一种定位设备,它是一种对于物体触摸能产生反应的屏幕。当人的手指或其他物体触到屏幕不同位置时.计算机能接收到触摸信号并按照软件要求进行相应的处理。 数字化仪:是一种把图形转变成计算机能接收的数字形式专用设备。数字化仪由一块平板和一个探头组成。在平板的板面下边,是一块由x方向和y方向组成的导线风印刷线路板。平板内装有一套电子线路,它向导线网的x方向线与y方向线依次进行时序脉冲扫瞄。扫描电流对导线的瞬间激励会引起一个时序脉冲的时间进行比较之后,探头所在的位置数据就可以自动得出并送入计算机。 图形扫描仪:是直接把图形(如工程图纸)和图象(如照片)扫描输入到计算机中,以象素信息进行存储表示的设备。技其所支持的颜色分类,可分为单色扫描仪和彩色扫描仪;按一定密度采样的方式输入图形。主要的输入数据形式为一幅由亮度值构成的象素矩阵图象(Image)。 3.计算机图形学所涉及的算法有哪些? 4.说明计算机图形系统的功能及组成 一个计算机图形系统起码应具有计算、存储、对话、输入、输出等五方面的基本功能: (1)计算功能:应包括形体设计、分析的算法程序库棚描述形体的数据库。其中最基本的功能应有点、线(含直线和曲线)、面(含平面和曲面)的表示及其求交、分类(用于形体的集合运算).几何变换,光、色模型的建立和计算,干涉检测等内容。 (2)存储功能:在计算机的内存、外存中能疗放图形数据,尤其要存放形体几何元素(点、边、面)之间的连接关系以及各种属性信息.并且可基于设计人员的要求对有关信息进行实时检索、变化、增加、删除等操作。 (3)对话功能:是通过图形显示器进行人—机通信。用户通过显示屏幕观察设计的结果和图形 (4)输入功能:把图形设计和绘制过程中的有关定位、定形尺寸及必要的参数和命令输入到计算机中去,其中约束条件、属性参数也是必不可少的。 (5) 输出功能:为了较长期地保存分析计算的结果或对话需要的图形和非图形信息,图形系统应有文字、图形、图象信息的输出功能。由于对输出的结果有精度、形式、时间等要求.因此输出设备应是多种多样的。 5.说明下面几个函数的功能: putpixel(int x, int y, int color) 在指定的位置(x,y)上像素置为color的颜色 rectangle (int left,int top,int right,int bottom) 给出左上角(left,top)及右下角(right,bottom)的坐标画出矩形 drawpoly(int numpoints,int far *polypoints)

《计算机图形学实验报告》

一、实验目的 1、掌握中点Bresenham直线扫描转换算法的思想。 2掌握边标志算法或有效边表算法进行多边形填充的基本设计思想。 3掌握透视投影变换的数学原理和三维坐标系中几何图形到二维图形的观察流程。 4掌握三维形体在计算机中的构造及表示方法 二、实验环境 Windows系统, VC6.0。 三、实验步骤 1、给定两个点的坐标P0(x0,y0),P1(x1,y1),使用中点Bresenham直线扫描转换算法画出连接两点的直线。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、使用中点Bresenham直线扫描转换算法实现自己的画线函数,函数原型可表示如下: void DrawLine(CDC *pDC, int p0x, int p0y, int p1x, int p1y); 在函数中,可通过调用CDC成员函数SetPixel来画出扫描转换过程中的每个点。 COLORREF SetPixel(int x, int y, COLORREF crColor ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用DrawLine 函数画出不同斜率情况的直线,如下图:

最后、调试程序直至正确画出直线。 2、给定多边形的顶点的坐标P0(x0,y0),P1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4)…使用边标志算法或有效边表算法进行多边形填充。 实验基本步骤 首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。 其次、实现边标志算法或有效边表算法函数,如下: void FillPolygon(CDC *pDC, int px[], int py[], int ptnumb); px:该数组用来表示每个顶点的x坐标 py :该数组用来表示每个顶点的y坐标 ptnumb:表示顶点个数 注意实现函数FillPolygon可以直接通过窗口的DC(设备描述符)来进行多边形填充,不需要使用帧缓冲存储。(边标志算法)首先用画线函数勾画出多边形,再针对每条扫描线,从左至右依次判断当前像素的颜色是否勾画的边界色,是就开始填充后面的像素直至再碰到边界像素。注意对顶点要做特殊处理。 通过调用GDI画点函数SetPixel来画出填充过程中的每个点。需要画线可以使用CDC的画线函数MoveTo和LineTo进行绘制,也可以使用实验一实现的画直线函数。 CPoint MoveTo(int x, int y ); BOOL LineTo(int x, int y ); 实现边标志算法算法需要获取某个点的当前颜色值,可以使用CDC的成员函数 COLORREF GetPixel(int x, int y ); 再次、找到文档视图程序框架视图类的OnDraw成员函数,调用FillPolygon 函数画出填充的多边形,如下: void CTestView::OnDraw(CDC* pDC) { CTestcoodtransDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);

计算机图形学上机实验指导

计算机图形学上机实验指导 指导教师:张加万老师 助教:张怡 2009-10-10

目录 1.计算机图形学实验(一) – OPENGL基础 ..................................... - 1 - 1.1综述 (1) 1.2在VC中新建项目 (1) 1.3一个O PEN GL的例子及说明 (1) 2.计算机图形学实验(二) – OPENGL变换 ..................................... - 5 - 2.1变换 (5) 3.计算机图形学实验(三) - 画线、画圆算法的实现....................... - 9 - 3.1MFC简介 (9) 3.2VC6的界面 (10) 3.3示例的说明 (11) 4.计算机图形学实验(四)- 高级OPENGL实验...................... - 14 - 4.1光照效果 (14) 4.2雾化处理 (16) 5.计算机图形学实验(五)- 高级OPENGL实验........................ - 20 - 5.1纹理映射 (20) 5.2反走样 (24) 6.计算机图形学实验(六) – OPENGL IN MS-WINDOWS .......... - 27 - 6.1 实验目标: (27) 6.2分形 (28)

1.计算机图形学实验(一) – OpenGL基础 1.1综述 这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。 OpenGL提供了一系列的辅助函数,用于简化Windows操作系统的窗口操作,使我们能把注意力集中到图形编程上,这次试验的程序就采用这些辅助函数。 本次实验不涉及面向对象编程,不涉及MFC。 1.2在VC中新建项目 1.2.1新建一个项目 选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,如Test,回车即可。VC为你创建一个工作区(WorkSpace),你的项目Test就放在这个工作区里。 1.2.2为项目添加文件 为了使用OpenGL,我们需要在项目中加入三个相关的Lib文件:glu32.lib、glaux.lib、opengl32.lib,这三个文件位于c:\program files\microsoft visual studio\vc98\lib目录中。 选中菜单Project->Add To Project->Files项(或用鼠标右键),把这三个文件加入项目,在FileView中会有显示。这三个文件请务必加入,否则编译时会出错。或者将这三个文件名添加到Project->Setting->Link->Object/library Modules 即可。 点击工具条中New Text File按钮,新建一个文本文件,存盘为Test.c作为你的源程序文件,再把它加入到项目中,然后就可以开始编程了。 1.3一个OpenGL的例子及说明 1.3.1源程序 请将下面的程序写入源文件Test.c,这个程序很简单,只是在屏幕上画两根线。 #include

相关文档