湖北理工计算机图形学考试Word文档格式.docx

上传人:b****5 文档编号:17453541 上传时间:2022-12-01 格式:DOCX 页数:16 大小:254.79KB
下载 相关 举报
湖北理工计算机图形学考试Word文档格式.docx_第1页
第1页 / 共16页
湖北理工计算机图形学考试Word文档格式.docx_第2页
第2页 / 共16页
湖北理工计算机图形学考试Word文档格式.docx_第3页
第3页 / 共16页
湖北理工计算机图形学考试Word文档格式.docx_第4页
第4页 / 共16页
湖北理工计算机图形学考试Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

湖北理工计算机图形学考试Word文档格式.docx

《湖北理工计算机图形学考试Word文档格式.docx》由会员分享,可在线阅读,更多相关《湖北理工计算机图形学考试Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

湖北理工计算机图形学考试Word文档格式.docx

1024*768

QVAG多频彩显

1028*1024

6.

计算机图形输入输出设备

计算机图形输出设备:

显示器、绘图仪、打印机

7.图形核心系统(GKS)GKS的功能一、提供了各种物理的图形输入、输出设备和应用软件之间的接口,二、提供了与各种高级语言的接口。

8.GKS图形输入设备1定位设备(鼠标器、操纵杆、跟踪球、数字化仪)2笔画设备(数字化仪、鼠标器、光笔)3拣取设备(数字化仪、鼠标器、光笔)4选择设备(按钮,功能键,鼠标器)5数值输入设备(数字键盘、按钮)6字符串输入设备(ASCII键盘)。

9.通用图形软件的分类:

图形程序包,基本图形资源软件,二维、三维交互图形软件,几何造型软件,动画技术软件。

10.TurboC中图形函数均在头文件“”中定义,所以,凡是在程序中要调用这些图形函数,都必须在程序文件的开头写上文件包含命令:

#include<>

11.画实心长方形

#include"

"

#include“”

main()

{intgdriver=DETECT,gmode;

/*自启动搜寻显示器类型和显示模式*/

initgraph(&

gdriver,&

gmode,"

c:

\\tc"

);

/*初始化*/

bar3d(10,20,50,80,0,0);

/*画实心长方形*/

getch();

/*等待按一键*/

closegraph();

/*关闭图形系统,返回文本模式*/

return(0);

}

12.画一个圆把背景色设置为淡灰色

Voidmain()

"

Setbkcolor(LIGHTGRAY);

Cleardevice();

Circle(120,100,50);

Restorecrtmode();

13.将背景颜色设置为黄色,画笔设置为红色,画一圆。

#include"

voidmain()

{intgdriver,gmode;

gdriver=VGA;

gmode=EGAHI;

initgraph(&

setbkcolor(YELLOW);

/*设置背景色为黄色*/

setcolor(RED);

/*设置画笔为红色*/

circle(120,100,50);

/*画一圆*/

14.

线

例:

1111111111111111

16位全置1,因此画一条16个像素的点实线(就是实线)。

1010101010101010

则隔位置1,因此画一条16个像素的点虚线(就是点线)。

15.指定两点间画一直线voidfarline(intx1,inty1,intx2,inty2);

用当前颜色从点(x1,y1)到点(x2,y2)画一条直线,当前位置(CP)不变。

16.从当前位置到(x,y)点画一条直线voidfarlineto(intx,inty);

用当前颜色从当前位置(CP)到(x,y)点画一条直线,并把(CP)位置定位在(x,y)点。

17.从当前坐标以相对增量方式画直线voidfarlinerel(intdeltax,intdeltay)

从当前位置到相对CP位置在X方向增大deltax,在Y方向增大deltay画一直线。

18.数值微分法(DDA法)基本思想:

选定x2-x1和y2-y1中较大者作为步进方向(假设x2-x1较大)取该方向上的Δx为一个像素单位长,即x每次递增一个像素,然后利用前面公式计算相应的y值,把每次计算出的(xi+l,yi+1)经取整后顺序输出到显示器,则得光栅化后的直线。

算法程序DDA-line(xl,y1,x2,y2)

intxl,y1,x2,y2;

{

floatincrex,increy,x,y,length;

inti;

if(abs(x2-xl)>

abs(y2-y1))

length=abs(x2-x1);

else

length=abs(y2-y1);

increx=(x2-x1)/length;

increy=(y2-y1)/length;

x=x1;

y=y1;

for(i=l;

i<

=length;

i++)

{putpixel(x,y,l);

x=x+increx;

y=y+increy;

}}

19.Bresenham法算法如下:

Bresenham-line(x1,y1,x2,y2,value)

Intx1,y1,x2,y2,value;

{intsign();

intx,y,s1,s2,increx,increy,tamp,interchange;

inte,i;

s1=sign(x2-x1);

s2=sign(y2-y1);

increx=abs(x2-x1);

increy=abs(y2-y1);

if(increy>

increx)

{temp=increx;

increx=increy;

increy=temp;

interchange=1;

}

Elseinterchange=0;

e=2*increy-increx;

for(i=1;

i<

=increx;

i++)

{putpixel(x,y,value);

if(e>

=0)

{if(interchange=1)x=x+s1;

elsey=y+s2;

e=e-2*increx;

}

if(interchange=1)y=y+s2;

Elsex=x+s1;

e=e+2*increy}}

20.扫描线种子填充算法算法可分为以下五步

1 初始化。

将算法设置的堆栈置为空。

将给定的种子(x,y)压入堆栈。

2 出栈。

如果堆栈为空,算法结束。

否则从包含种子像素的堆栈中取出栈顶元素(x,y)作为种子像素。

3 区间填充。

沿当前扫描线对种子像素的左右像素进行填充(像素值为new_color),直至遇到边界像素为止,从而填满包含种子像素的区间。

4 定范围。

以xl和xr分别表示步骤(3)区间内最左和最右的两个像素。

5 进栈。

在xl≤x≤xr中,检查与当前扫描线相邻的上下两条扫描线是否全为边界像素(boundary_color)或者前面已经填充过的像素(new_color),是则转到步骤

(2),否则在xl≤x≤xr中把每一个区间的最右像素作为种子像素压入堆栈,再转到步骤

(2)继续执行。

21.

各顶点坐标A(3,0),B(4,2),C(6,0)使其绕原点转90度,再向X方向平移2,Y方向平移–1。

解:

因θ=90O则变换矩阵:

如果先进行平移变换,再进行旋转变换,则矩阵为:

22.设有一三角形ABC,其三个顶点坐标为

A(2,4),B(2,2),C(5,2),求对于直

线–2x+3y+3=0的对称变换后

α=arcty(-A/B)=arcty(2/3)33041’

变换后的如下图所示。

23.

编码裁剪法:

把包含窗口的平面区域沿窗口的四条边线分成九

个区域.每个区域用一个四位代码来表示,代码中

每一位分别是0或1,是按照窗口边线来确定的,

下面给出编码规则,其中最右边的位是第一位,

依次第二、三、四位。

第一位置l:

该端点位于窗口左侧

第二位置l:

该端点位于窗口右侧

第三位置1:

该端点位于窗口下面

第四位置l:

该端点位于窗口上面

否则,相应位置置0。

24.已知多边形各顶点坐标为(2,2)(2,4)(8,6)(12,2)(8,1)(6,2)及(2,2),在用多边形区域填充时,请写出ET及全部AET内容。

如图所示:

则该多边形的ET表为:

6

5

4

3

2

1

该多边形的AET指针的内容为:

(每条扫描线均有3行指针链,第1行表示将ET表加入AET中,第2行表示从AET表中删去yi=ymax,第3行表示xi=xi+1/m后,学生只要写出第2行即可)

1

2

3

4

5

6

25.已知四边形各顶点坐标为(0,0),(20,0),(20,15)和(0,15),对此图形分别进行下列比例变换:

(1)使长度方向缩小一半,高度方向增长一倍;

(2)使整个图形放大一倍。

如图所示,实线部分为原图,虚线部分为变换后得到的图形:

Y

30

15

(1)

(2)

(1)原先坐标变换矩阵变换后坐标

*

=

(2)原先坐标变换矩阵变换后坐标

归一化

26.已知三角形各顶点坐标为(10,10),(10,30),(30,15),试对其进行下列变换,写出变换矩阵,画出变换后的图形。

(1)沿X向平移20,沿Y向平移15,再绕原点旋转90度

(2)绕原点旋转,再沿X向平移20,沿Y轴平移15

(1)由二维图形变换相关知识,可得变换矩阵为

100cos90sin900010

010-sin90cos900=-100

20151001-15201

根据得出的新坐标可画出图形(图形略)

新坐标的值为[-25,30][-45,30][-30,50]

(2)变换矩阵为:

10101010

T=10301-100

3015120151

坐标数据点变换矩阵

10251

T=-10251

5451

由得出的新坐标画图(图形略)

35.三维比例变换

1 局部比例变换

2 

全比例变换

当s>1时,则立体各方向等比例缩小;

当0<s<1对,则立体各方向等比例放大。

3 三维平移交换

例设变换矩阵中l=3,m=3,n=3,试对单位立体进行平移变换。

36.三维旋转变换

1 

绕Z轴旋转θ角变换结果为:

2 绕X轴旋转θ角变换结果为:

3 绕Y轴旋转θ角变换结果为:

37.三维投影变换分类

38.立体透视投影变换

根据透视投影中灭点多少又可分为一点透视、二点透视和三点透视。

39.三维图形裁剪

在二维图形裁剪过程中,图形视见区域是一个矩形窗口,常用的三维窗口有两种形状:

一种是平行投影立方体三维窗口;

另一种是透视投影的棱台。

40.深度缓冲器法

基本思想是:

对于显示屏上的每一个像素点(x,y),测试一系列平面,记录下位于此像素投射线上最靠近观察点的平面的深度。

除了深度外,一般还需记录下用以显示此对象的亮度值。

一般的深度缓冲器算法采用两个数组,一个用来记录每一个像素点的深度值,一个用来记录此像素点所对应的亮度值。

深度缓冲器算法的过程:

1)对于屏幕上每一个像素点(x,y),置深度缓冲器Depth[x][y]为一较大值,置亮度缓冲器为背景值;

2)对于景中的每个多边形,找出多边形投影到屏上时位于其边界内的全部像素(x,y)。

对于这些像素计算出此多边形在(x,y)处的深度z;

如果z<Depth[x][y],此多边形相对于其它多边形在(x,y)处更靠近观察者,所以置Depth[x][y]=z,置亮度数组为该多边形的亮度值。

如果z>Depth[x][y],说明该多边形在此像素点处被其它多边形隐藏,所以不采取任何行动。

当对所有像素进行扫描后,深度缓冲器和亮度缓冲器分别包含了所有可见点及可见的亮度值。

41.消隐的意义是什么

消隐的主要意义是为了得到一个确定的、立体感强的投影图。

42.Phong光照模型

Ir=IaKar+Ip[Kdr(L·

N)+Ks(R·

V)n]

Ig=IaKag+Ip[Kdg(L·

Ib=IaKab+Ip[Kdb(L·

43.Z缓冲器方法

由于阴影是光线照射不到面观察者却可见到的区域,换句话说,阴影是相对于光源不可见而观察点却可见到的区域。

所以在画面中生成阴影的过程基本上相当于二次消隐,一次是对光源消隐,另一次是对视点消隐,Z缓冲器算法就是基于这个原理。

该法的优点:

能处理任意复杂的景物,可以较方便地在光滑曲面上生成阴影,且计算量小,程序简单;

缺点:

阴影缓冲器的存储耗费较大。

44.RGB彩色模型和CMY彩色模型的差异

RGB彩色模型也称为加色模型,色彩来源于红、绿、蓝3种基本色。

它主要用来描述发光设备,如显示器、电视机、扫描仪等装置所表现的颜色

CMY彩色模型也称为减色模型,色彩来源于青、洋红、黄3种基色主要适用彩色印刷领域。

45.传统动画和计算机动画有什么不同

传统动画采用手工方法制作,精度差且效率低;

而计算机动画立体感强,可以改变视角、视距、视野及景深,具有明暗光线变化和阴影,使物体产生不同灰度和颜色渐变以及逼真的光照,可以产生纹理质感,且这些特点与效果是手工动画难以实现或不可能实现的。

46.计算机动画研究的内容是什么

从目前国外对计算机动画的研究来看,计算机动画研究的具体内容可分为以下方面:

(1)关键帧动画;

(2)基于机械学的动画和工业过程动画仿真;

(3)运动和路径的控制;

(4)动画语言与语义;

(5)基于智能的动画,机械人与动画;

(6)动画系统用户界面;

(7)科学可视化计算机动画表现;

(8)特技效果,合成演员;

(9)语言、音响合成,录制技术。

47.简要说说你对OpenGL及OGRE的认识

(1)GL是美国SGI公司为图形工作站开发的一种功能强大的三维图形机制,经过长期发展,在跨平台移植的过程中,由GL扩充形成了OpenGL,目前,它已经成为高性能图形和交互式视景处理的工业标准。

有了OpenGL的帮助,编程者可以轻松地进行三维动画的程序设计。

OpenGL提供的相关库有:

1)OpenGL核心库(GL)

2)OpenGL实用库(GLU)

3)OpenGL辅助库(GLAUX)

4)OpenGL工具库(GLUT)

5)OpenGL对窗口系统的扩展(WGL,等等)

对于各个库,函数功能可分为两大类:

渲染功能,提供图形绘制所需的各种功能函数;

窗口管理功能,管理窗口系统的所有相关功能,如键盘鼠标的响应,各种窗口事件等等。

(2)OGRE(Object-orientedGraphicsRenderingEngine,面向对象的图形渲染引擎)是国际上知名的开源图形渲染引擎。

OGRE是用C++开发的面向对象且使用灵活的3D引擎,它的目的是让编程者能更容易开发基于3D的动画或游戏等应用程序。

引擎中的类库对更底层的系统库(如OpenGL或Direct3D)的全部使用细节进行了简化封装和抽象,同时提供基于现实世界的对象接口以及其它非常有用的工具类。

因此,利用OGRE引擎来进行动画编程可以提高开发的效率,并且一般情况下要比基于OpenGL的动画编程还简单些。

48.简述基于编程实现的动画与基于软件制作的动画的异同点。

编程实现方式:

灵活,可以随心所欲进行动画创作,但要求较高,需要大量编程;

软件制作方式:

方便,可以快速生成动画,但受限于所采用软件的功能强弱,仅需少量脚本;

事实上,很难说哪一种方式更好,主要看需求,若软件制作方式能够完成的,且采购正版软件的费用在用户的承受范围之内,那不妨采用软件制作方式,而当软件制作方式不能实现所需要的功能和效果时,那就必须进行手工编程了。

通常大些的动画作品往往采用两者结合的方式来开发。

49.简述虚拟现实技术的特征

答:

(1)多感知性;

(2)浸没感;

(3)交互性;

(4)构想性。

50.例举几个典型的虚拟现实技术的应用场景

(1)虚拟远程教育;

(2)虚拟室内装潢;

(3)网络3D游戏。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1