计算机图形学复习概要.docx
- 文档编号:6267841
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:17
- 大小:29.02KB
计算机图形学复习概要.docx
《计算机图形学复习概要.docx》由会员分享,可在线阅读,更多相关《计算机图形学复习概要.docx(17页珍藏版)》请在冰点文库上搜索。
计算机图形学复习概要
第一章绪论
1.计算机图形学这一术语最早是在_1962_年首次被提出,从而确立了计算机图形学的学科地位.
2.计算机图形学的应用范围包括(A,B,C,D,E,F).
A.计算机艺术B.计算机辅助设计与制造
C.医疗诊断D.计算机动画
E.算机辅助教学F.办公自动化和电子出版技术
3.计算机图形学研究的内容是什么?
答:
计算机图形学(ComputerGraphics)是研究怎样用数字计算机生成、处理和显示图形的一门学科,是研究用计算机将由概念或数学描述所表示的物体(而不是实物)图像进行处理和显示的过程,是在计算机的帮助下生成图形图像的一门艺术。
4.计算机图形学处理的图形分为哪两种?
答:
一类是线条式,它用线段来表现图形。
这种图形容易反映客观实体的内部结构,因而适合表示各类工程技术中的结构图。
如机械设计中的零件结构图、土木没计中的房屋结构图及各种曲线图等等;另一类是具有面模型、色彩、浓淡和明暗层次效果的、有真实感的图形,这种图形与我们用照相机拍摄的照片相似。
它适合于表现客观实体的外形或外貌,如汽车、飞机等的外形设计以及各种艺术品造型设计等。
5.试举例说明你所见到过的计算机图形学的应用实例.
答:
如医疗图像诊断,计算机动画等。
第二章计算机图形系统
1.图形系统的基本功能包括:
计算、存储、输入、输出、对话等五方面的功能。
2.图形输出设备主要包括:
显示器、绘图仪、打印机等.
3.计算机图像的输入设备包括(A,B,C,D,E,F,G,H).
A.键盘B.鼠标C.跟踪球D.数字化仪
E.图像扫描仪F.图像扫描仪G.触摸屏H.声音系统和视觉系统
4.名词解释:
分辨率场频行频
分辨率:
分辨率就是屏幕图像的密度。
我们可以把屏幕想象成是一个大型的棋盘,而分辨率的表示方式就是每一条水平线上面的点的数日乘上水平线的数目。
分辨率越高,屏幕上所能呈现的图像也就越精细。
场频:
场频又称为“垂直扫描频率”,也就是屏幕的刷新频率。
指每秒钟屏幕刷新的次数,通常以赫兹(Hz)为单位。
行频:
行频指电子枪每秒在荧光屏上扫描过的水平线数量,等于“行数×场频”。
行频足一个综合分辨率和场频的参数,其值越大就意味着显示器可以提供的分辨率越高,稳定性越好。
5.光栅扫描显示器和随机扫描显示器在图形显示上有何不同?
为什么二者都需要刷新?
答:
随机扫描的图形显示器和存储管式的图形显示器都是画线设备,在屏幕卜显示一条直线是从屏幕上的一个可编地址点直接画到另一个町编地址点。
光栅扫描式显示器是画点设备,可以看作是一个点阵单元发生器,并可控制每个点阵单元的高度。
光栅扫描式显示器可以生成多种灰度和颜色,色彩连续变化具有真实感的图形。
随机扫描显示器是利用电子束在荧光屏上扫描的轨迹来画图的。
屏幕采用短余辉荧光粉,南于余辉短.因此为了获得稳定的画面.必须不断地扫描显示文件,即刷新。
刷新频率一般为25-50次/秒,既每秒25-50帧。
光栅扫描显示器每秒也要刷新。
其原理同彩色CRT的刷新原理。
通常刷新频率应为30-50帧,秒。
随着刷新频率的降低,会出现闪烁。
使图像不闪烁的刷新频率成为临界停闪频率CFF(criticalfusionfrequency)。
决定CFF的因素有:
荧光屏的余辉时间,图像亮度及环境的亮度,发射光的波长以及观察者本身。
6.CRT显示器的原理是什么?
它的优点和缺点是什么?
答:
CRT显示器的原理:
CRT一般是利用电磁场产生高速的、经过聚焦的电子束,偏转到屏幕的不问位置轰击屏幕表面的荧光材料而产生可见图形。
彩色CRT和单色显示器的不同是由于荧光粉的缘故。
它的优点是:
亮度高对比度好、聚焦精确、分辨率高和色彩鲜艳并丰富,缺点是体积大、厚且笨重。
7.液晶显示的原理是什么?
它的优点和缺点是什么?
答:
液晶显示是将液晶置于两片导电玻璃之间,靠两个电极间电场的驱动,引起液晶分子扭曲的电场效应,以控制光源透射或遮蔽功能,在电源关开之间产生明暗而将影像显示出来,若加上彩色滤光片,则可显示彩色影像。
优点:
(1)零辐射、低耗能、散热小。
(2)纤薄轻巧。
(3)精确还原图像。
(4)显示字符锐利,画而稳定不闪烁。
(5)屏幕调节方便。
缺点:
(1)价格比较贵。
(2)液晶显示器的数字接口尚未形成统一标准,带有数字输出的显示卡在市场上并不多见。
这样一来,液晶显示器的关键性的优势却很难充分发挥。
(3)可视角度小。
(4)相应时间过慢。
(5)亮度和对比度低。
第三章OpenGL编程基础
1.OpenGL是SGI公司开发的一套高性.能的计算机图彤处理系统,是图形硬件的软件接口,GL代表图形库.
2.GLUT代表OpenGL应用工具包,是一个和窗口系统无关的工具包.它作为AUX库的功能更强的替代品,用于隐藏不同窗口系统API的复杂性。
GLUT的子程序的前缀使用字母glut.
3.在OpenGL的命令函数中,核心库的函数以(C)为前缀,编程辅助库的函数的前级为(B),实用函数库的函数前缀为(D).
A.gluB.auxC.glD.glut
4.简要说明OpenGL的概念及其功能.
答:
OpenGL所具有的功能基本上涵盖了计算机图形学所要包括的各个方面的内容。
包括绘制基本几何图形如点、线、多边形等,实现图形变换如几何变换、观察变换和裁剪,封闭边界内的填充、纹理、反走样等,二次曲面、B6zier曲线曲面和NURBS曲线曲面的生成,消隐处理以及具有光照颜色的真实感图形生成等。
5.简要说明用OpenGL进行编程的主要步骤.
答:
用OpenGL进行编程一般包括以下几个部分:
(1)定义绘制对象:
通常对象绘制于指定的窗口之上。
首先必须定义窗口在屏幕上的位置及窗口的大小等属性,然后在窗口上建立坐标系,定义图形在窗口中的生成位置。
(2)初始化:
即初始化OpenGL中的状态变量,为下一步图形显示做准备T作。
包括定义投影类型、定义光照模型及纹理映射等。
(3)渲染屏幕图像:
按照显示的方位角度等要求绘制并显示图形,将物体的数学描述及状态变量(如颜色、纹理等)变换为屏幕像素。
6.试编一程序绘制GLUT中的三堆茶壶模型,并上机运行.
程序如下:
#include
#include
voidinit()
{
glClearColor(1.0,1.0,1.0,1.0);
}
voidRenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
/*设值作图颜色为蓝色*/
glColor4f(0.0,0.0,1.0,1.0);
//绘制一个线框茶壶
glutWireTeapot(2.0);
glFlush();
}
voidmain(intargc,char**argv)
{
glutlnit(&argc,argv);
glutlnitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(200,200);
glutlnitWindowPosition(100,100);
glutCreateWindow("cube");
init();
glutDisplayFunc(RenderScene);
glutMainLoop();
}
7.编写一个程序,并在一蓝色窗口中绘制一红色的正方形,且正方形大小可随窗口尺寸改变而调整。
#include
#include
voidDisplay(void)
{
glClear(GL_COLOR_BUFFERBIT);
//将作图颜色设为蓝色
glColor3f(0.0f,0.0f,1.0f);
//作一个正方形
glRectf(50.0f,50.0f,150.0f,150.0f);
glFlush();
}
voidmyinit(void)
{
//将背景颜色设为红色
glClearColor(1.0f,0.0f,0.0f,0.0f);
}
voidMyreshape(GLsizeiw,GLsizeih)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMamxMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
gluOrth02D(0.0,200.0,0.0,
200.0*(GLfloat)h/(GLfloat)w);
elsegluOrth02D(0.0,200*(GLfloat)w/(GLfloat)h,
0.0,200.0);
glMatrixMode(GL_MODELVIEW);
}
voidmain(void)
{
glutlnitDisplayMode(GLUTSINGLE|GLUT_RGB);
glutlnitWindowSize(200,200);
glutlnitWindowPosition(150,150);
glutCreateWindow(“GLRect”);
myinit();
glutDisplayFunc(Display);
glutReshapeFunc(Myreshape);
glutMainLoop();
}
第四章基本图元的生成
1.对图形的扫描转换,一般可以分为两个步骤,先确定有关像素的集合,然后再对像素进行操作。
2.对于端点坐标为Pl(x1,y1)和P2(x2,y2)的直线段,线段的方程可表示为
3.在对中心落在坐标原点的标准椭圆进行扫描转换时,已知像素点(x,y)位于椭圆之上,则根据椭圃的对称性,可以确定像素点(A、B、D)也位于椭圆之上.
A.(-x,y)B.(x,-y)C.(y,x)D.(-x,-y)
4.名词解释:
光栅化八分法画圃区域填充种子填充八向连通区域
光栅化:
由显示器的原理我们知道,光栅图形显示器司以看成一个像素的矩阵,每个像素可以用一种或多种颜色显示。
在光栅显示器上的任何一种图形,实际上都是一些具有一种或多种颜色的像素的集合。
因此,确定一个像素集合及其颜色,用于显示一个图形的过程,称为图形的扫描转换或光栅化。
八分法画网:
由于网的形状在每个象限中是相似的,生成圆时考虑网的对称性可以减少计算量。
圆中八分之一圆上的一点(x,y)根据对称关系被映射到其他八分之七的圆上。
利用园的这种对称性我们只需要计算从x=0到x=y这段圆弧就可以得到整个圆的所有像素点的位置了。
区域填充:
区域通常南一个封闭的轮廓来定义,处于一个封闭轮廓线内的所有像素点即构成了一个区域。
所调用区域填充就是将区域内的像素置成的颜色值或图案。
区域填充可以分为两步进行,第一步先确定需要填充哪些像素;第二步确定用什么颜色值来进行填充。
种子填充:
在进行区域填充时,首先假设在多边形的区域内部,至少有一个像素点(称为种子)是已知的,然后算法开始搜索与种子点相邻且位于区域内的其他像素。
如果相邻点不在区域内,那么就达到了区域的边界;如果相邻点在区域内,那么这一点就成为新的种子点,然后继续递归地搜索下去。
八向连通区域:
八向连通区域指的是区域内每一个像素可通过上、下、左、右、左上、左下、右上、右下八个方向的移动组合来到达。
5.一条直线的两端点为(0,3)和(5,13),计算当x从0变到5时,y所对应的值.
答:
直线的斜率为k=Δy/Δx=13-3/5=2。
直线在y轴上的截距为3,则直线方程为:
y=2x+3
则可求出x从0变到5时直线上的点为(0,3),(1,5),(2,7),(3,9),(4,11),(5,11)。
6.写出使用级坐标法扫描转换圆的步骤。
答:
对于园的极坐标表示为:
x=xc+rcosθ
y=yc+rsinθ
可按以下步骤进行:
(1)设置初始变量,圆心坐标(xc,yc),半径r,θ:
0—>π/4;步长为d。
(2)测试θ是否大于π/4,如是,则停止。
(3)计算坐标值。
x=rcosθ
y=rsinθ
(4)根据圆的对称性,对当前坐标(x,y),作出8个圆上的点:
plot(x+xc,y+yc);plot(y+xc,x+yc)
plot(-x+xc,-y+yc);plot(-y+xc,-x+yc)
p1ot(-y+xc,x+yc);plot(y+xc,-x+yc)
plot(-x+xc,y+yc);plot(x+xc,-y+yc)
(5)角度θ递增:
θ=θ+d。
(6)转步骤
(2)。
7.写出用数值微分法扫描转换一条直线的程序,其中直线的斜率大于1.
答:
已知直线的两端点(x0,y0),(xl,y1),其中y0 参见4.2.2节,可写出其程序如下: voidDDALine(intx0,inty0,intxl,inty1) intx0,y0,xl,yl; { intx; floatdx,dy,k,y; dy=yl-y0; dx=xl-x0; k=dx/dy; x=x0; for(y=y0);y<=y1;y++) { putpixel(int(x+0.5),y); x=x+k; } } 8.写出中点画线法的步骤,并上机实现。 答: 其步骤如下: (1)设初值: 已知直线的起点和终点分别为(x0,y0)和(x1,y1),设x=x0,y=y0,a=y0-yl,b=x0-xl,d=2a+b。 (2)判断终止条件x>xl,如是.则终止。 (3)作出当前像素。 putpixel(x,y); (4)计算下一像素点。 当d<0时,d=2*(a+b)x=x+1y=y+l 当d≥0时,d=2*ax=x+ly=y (5)转步骤 (2)。 程序参见4.2.3节 9.写出用Bresenham算法扫描转换圆的步骤,并编程上机实现. 答: 步骤如下: (1)设初值: 已知圆心坐标(xc,yc),半径为r; 设x=0,y=r,d=3-2r。 (2)测试终止条件,x>y,如是,则终止。 (3)根据圆的对称性,对当前坐标(x,y),作出8个圆上的点: plot(x+xc,y+yc);plot(y+xc,x+yc) plot(-x+xc,-y+yc);plot(-y+xc,-x+yc) p1ot(-y+xc,x+yc);plot(y+xc,-x+yc) plot(-x+xc,y+yc);plot(x+xc,-y+yc) (4)计算下一像素位置。 如果d≥0,则;d=d+4(x-y)+l0x=x+ly=y-1 如d<0,则: d=d+4x+6x=x+ly=y (5)转步骤 (2)。 程序略.参见4.3.2节。 10.写出中点椭圆算法的步骤,并上机实现. 答: 其步骤如下: (1)设初值: 已知椭圆长半轴为a,短半轴为b;设x=0,y=b,d=b2+a2(-b+0.25)。 (2)测试上半部分终止条件: b2(x+1)>a2(y-0.5),如满足,则转(6)。 (3)根据对称性,作出椭圆上四个点位置: putpixel(x,y);putpixel(-x,y); putpixel(x,-y);putpixel(-x,-y); (4)计算下一像素位置。 如果d≥0,则: d=d+b2(2x+3)+a2(-2y+2) x=x-ly=y-1 如果d<0,则: d=d+b2(2x+3)2,x=x+1y=y (5)转步骤 (2)。 (6)用上半部分计算的最后的点(x,y),计算初值: d=b2(x+0.5)2+a2(yp-1)2-a2b2 (7)测试下半部分终止条件: y≥0,如满足,则终止。 (8)根据对称性,作出椭圆上四个点位置: putpixel(x,y);putpixel(-x,y); putpixel(x,-y);putpixel(-x,-y); (9)计算下一像素点。 如果d≥0.则d=d+a2(-2y+3),x=xy=y-1 如果d d=d+b2(2x+2)2+a2(-2y+3),x=x+ly=y-1 (10)转步骤(7)。 程序参见4.4.2节。 11.在计算机上绘制各种点、线与多边形,并上机实现. 参见4.6节。 第五章二维图形变换 1.将二堆坐标(x,y)表示为三元组的坐标形式(xh,yh,h)称为齐次坐标表示法,其中二者之间的关系满足x=xh/h,y=yh/h。 2.通常我们把世界坐标系中要显示的区城称为窗口,其映射到显示设备上的坐标区域称为视区。 3.通常图形在方向、尺寸方面的变化是通过图形的(A)来完成的,而要将窗口内的内容在视区中显示出来,必须经过图形的(B)来完成. A.几何变换B.观察变换C.裁剪 4.简述二维现察流程. 答: 观察变换可经过以下几个步骤来完成。 首先,在世界坐标系中生成图形;其次对世界坐标系中的窗口区域进行裁剪,得到要显示的内容;然后进行从窗口到视区的变换,即将世界坐标系中的窗口图形转换到规程化的设备坐标系的视区中;最后,将规格化设备坐标系描述的图形变换到设备坐标系中进行显示。 此即为二维观察的变换流程,参见5.4.2节。 5.已知平面上一任意直线P1(x1,y1)和P2(x2,y2),试推导将其通过变换与y轴重合的变换矩阵。 答: 可由以下步骤完成: (1)将一端点P1(xl,y1)平移至坐标原点,变换矩阵为: (2)将直线绕原点旋转,使端点P2(x2,y2)与y轴重合: α为直线与y轴所成夹角。 A=arctg(x2-x1)/(y2-y1),则变换矩阵: 6.证明两个连续的旋转变换R(θ1)和R(θ2)满足关系: 证明: 所以: 7.写出关于直线L的反射变换矩阵,其中L与x轴的正向成θ角,与y轴交于(0,b)。 答: 可由以下几步完成: (1)将直线与y轴的交点平移到原点。 (2)将直线旋转-θ角与x轴重合。 (3)作关于x轴的反射变换。 (4)将直线旋转θ角。 (5)将原点移回(O,b)。 则关于该直线的反射变换矩阵表示为: 8.设已知一直线段两端点为Pl(-2,3)和P2(3,0),窗口边界为: x=±1.y=±1 写出其端点编码,并求出直线与窗口交点.编程实现其编码剪裁算法. 答: 对于端点Pl(-2,2),位于窗口左上方,编码为1001。 对于P2(3,O),位于窗口右侧,编码为0010。 直线的参数方程为: y=y1+k(x-x1)=2-2(x+2)/5 或: x=x1+(y-y1)/k=-2-5(y-2)/2 代入窗口边界,得到其交点坐标为(-1,8/5),(1,4/5),(11/2,-1),(1/2,1)。 程序参见5.5.2节。 9.写出粱友栋_Barsky裁剪算法的过程,并编程实现. 答: 梁友栋-Barsky算法的步骤如下: (1)输入直线两端点坐标Pl(xl,y1)和P2(x2,y2),及裁剪窗口的四条边界的坐标xl,xr,yb和yt。 (2)设初始化参数ul=0,u2=l。 (3)计算四条裁剪边界的参数值p,q。 对于p<0时的参数值ua,ub.用于更新u1的值,ul=max(ua,ub,0);对于p>O时的参数值ua,ub,用于更新u2的值.u2=min(uc,ud,1)。 (4)当p=0时,如q<0,则舍弃。 (5)判断是否ul>u2,如是,则舍弃。 (6)得到参数值ul,u2,并根据直线参数公式得到新的端点坐标,画出直线。 程序参见5.5.2节。 第7章三维物体的表示 1.工业产品的形状大致上可分为两类: 第一类是初等解析曲面,例如: 平面、圆柱面、圆锥面、球面、元环面等;第二类是自由型曲线曲面,如飞机、汽车、船舶的外形零件。 2.设有两段相邻参数曲线Ci(t)和Ci+1(t),t∈[0,I],若在连接点P处满足Ci(t)=Ci+1(t),则Ci(t)和Ci+1(t)是在P处是C0或G0连续的;若两线段在满足以上条件的基础上,还满足条件C'i(0)=αC'i+1 (1),其中α>0,则称为两曲线段是G1连续的。 3.Bézier曲线的性质包括(A、B、D、E). A.曲线的首末端点与特征多边形的首末端点重合 B.凸包性C.局部性D.几何不变性E.对称性 4.B样条曲线满足的性质包括(B、C、D)。 A.曲线的首末端点与特征多边形的首末端点重合B.凸包性C.局部性D.几何不变性E.对称性 5.名词解释: 插值逼近拟合样条曲线几何不变性 插值: 给定一有序的数据点Pi,i=0,1,…,n,现要求构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值。 所构造的曲线称为插值曲线。 逼近: 当型值点较多时,构造插值函数通过所有的型值点是相当困难的。 而且在某些情况下,测量所得的或设计员给出的数据点本身就比较粗糙,要求构造一条曲线严格通过一组数据点也没有什么意义。 此时人们往往选择一个次数较低的函数,使其在某种意义上最为接近于给定的数据点,称之为对这些数据点的逼近。 所构造的曲线称为逼近曲线。 拟合: 插值和逼近统称为拟合。 样条曲线: 在计算机图形学中,样条曲线是指南多项式曲线段连接而成的曲线,在每段边界处满足特定的连续性条件。 几何不变性: 曲线或曲面的表示与坐标系的选择无关,在旋转与平移变换下不变。 6.写出由五个控制点决定的Bézier曲线方程. 答: Bézier曲线的矩阵形式为: 将已知的五个控制点代人,得到四次Bézier曲线的表达 式: 7.试说明Bézier曲线、B样条曲线与NURBS曲线的主要几何特性,并比较其优劣. 答: Bézier曲线的起点与终点和特征多边形的起点与终点重合,且多边形的第一条边和最后一条边表示了曲线在起点和终点处的切矢方向。 而且由于曲线的形状趋向于控制多边形的形状,所以可以通过调整顶点的位置来控制曲线的形状。 但控制多边形的顶点数决定了Bézier曲线的阶次,不能作局部的修改。 B样条曲线具备了Bézier曲线的一切优点。 其次数与控制点的个数无关,且具有局部性,可作局部修改。 但B样条方法不能表示解析曲线与曲面。 NURBS曲线为标准的解析形状(如圆椎曲线和自由型曲线)的表示与设计提供了一个统一的数学形式。 而且由操纵控制顶点及权因子为各种形状设计提供了充分的灵活性。 8.写出二次与三次均匀B样条曲线的矩阵表达式,并说明其主要几何特征,画出其图形. 答: 二次均匀B样条曲线方程为: 其首末端位置满足: Ci(0)=(Pi+Pi+1)/2 Ci (1)=(Pi+1+Pi+2)/2 首末端的切矢满足: C’i(0)=Pi+1-Pi C’i (1)=Pi+2-Pi+1 因此二次均匀B样条曲线段的首末点即为控制多边形各边的中点,且样条曲线在连接点处与控制多边形该边相切。 三次均匀B样条曲线可表示为: 各三次均匀B样条曲线的分段连接点及其各阶导矢与控制顶点的关系为: Ci-1 (1)=Ci(0)=(Pi+4Pi+1+Pi+2)/6 C’i-1 (1)=C’i(0)=(Pi+2-Pi)/2 因此曲线段c,可按如下几何作图求出,连接Pi与Pi+2两点,取中点m,然后从m到Pi+l连线上取2/3长度得一点,即为端点C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 复习 概要