计算机图形学复习概要
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1.计算机图形学这一术语最早是在_1962_年首次被提出,从而确立了计算机图形学的学科地位.
2.计算机图形学的应用范围包括(A,B,C,D,E,F).
A.计算机艺术B.计算机辅助设计与制造
C.医疗诊断D.计算机动画
E.算机辅助教学F.办公自动化和电子出版技术
3.计算机图形学研究的内容是什么?
答:计算机图形学(Computer Graphics)是研究怎样用数字计算机生成、处理和显示图形的一门学科,是研究用计算机将由概念或数学描述所表示的物体(而不是实物)图像进行处理和显示的过程,是在计算机的帮助下生成图形图像的一门艺术。
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(critical fusion frequency)。
决定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.glu B.aux C.gl D.glut
4.简要说明OpenGL的概念及其功能.
答:OpenGL所具有的功能基本上涵盖了计算机图形学所要包括的各个方面的内容。
包括绘制基本几何图形如点、线、多边形等,实现图形变换如几何变换、观察变换和裁剪,封闭边界内的填充、纹理、反走样等,二次曲面、B6zier曲线曲面和NURBS曲线曲面的生成,消隐处理以及具有光照颜色的真实感图形生成等。
5.简要说明用OpenGL进行编程的主要步骤.
答:用OpenGL进行编程一般包括以下几个部分:(1)定义绘制对象:通常对象绘制于指定的窗口之上。
首先必须定义窗口在屏幕上的位置及窗口的大小等属性,然后在窗口上建立坐标系,定义图形在窗口中的生成位置。
(2)初始化:即初始化OpenGL中的状态变量,为下一步图形显示做准备T作。
包括定义投影类型、定义光照模型及纹理映射等。
(3)渲染屏幕图像:按照显示的方位角度等要求绘制并显示图形,将物体的数学描述及状态变量(如颜色、纹理等)变换为屏幕像素。
6.试编一程序绘制GLUT中的三堆茶壶模型,并上机运行.
程序如下:
#include<windows.h>
#include<gl/glut.h>
void init( )
{
glClearColor(1.0,1.0,1.0,1.0);
}
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
/*设值作图颜色为蓝色*/
glColor4f(0.0,0.0,1.0,1.0);
//绘制一个线框茶壶
glutWireTeapot(2.0);
glFlush();
}
void main(int argc, char**argv)
{
glutlnit(&argc,argv);
glutlnitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(200,200);
glutlnitWindowPosition(100,100);
glutCreateWindow("cube");
init();
glutDisplayFunc(RenderScene);
glutMainLoop();
}
7.编写一个程序,并在一蓝色窗口中绘制一红色的正方形,且正方形大小可随窗口尺寸改变而调整。
#include<windows.h>
#include<gl/glut.h>
void Display(void)
{
glClear(GL_COLOR_BUFFER BIT);
//将作图颜色设为蓝色
glColor3f(0.0f,0.0f,1.0f);
//作一个正方形
glRectf(50.0f, 50.0f, 150.0f, 150.0f);
glFlush();
}
void myinit(void)
{
//将背景颜色设为红色
glClearColor(1.0f,0.0f,0.0f,0.0f);
}
void Myreshape(GLsizeiw, GLsizei h)
{
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);
else gluOrth02D(0.0,200*(GLfloat)w/(GLfloat)h,
0.0,200.0);
glMatrixMode(GL_MODELVIEW);
}
void main(void)
{
glutlnitDisplayMode(GLUT SINGLE | 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<yl。
参见4.2.2节,可写出其程序如下:void DDALine(int x0, int y0, int xl, int y1)
int x0,y0,xl, yl;
{
int x;
float dx, 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+1 y=y+l
当d≥0时, d=2*a x=x+l y=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)+l0 x=x+l y=y-1
如d<0,则:d=d+4x+6 x=x+l y=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-l y=y-1
如果d<0, 则:d=d+b2(2x+3)2 , x=x+1 y=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=x y=y-1
如果d<O,则:d=d+b2(2x+2)2+a2(-2y+3), x=x+l y=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长度得一点,即为端点Ci(0)。
曲线上Ci(0)点处的切矢为连线矢量Pi+2-Pi的一半。
第8章三维图形变换
1.在透视投影中,定义投影平面后的一点为投影中心,将其与三维物体上的各点的连线称为投影线与投影线的交点即称为各点的投影.
2.对于平行投影,根据投影线与投影平面间的夹角也可分为正平行投影与斜平等投影两类。
当投影线垂直于投影平面时,得到的投影称为正平行投影。
3.任何一束不平行于投影平面的平行线的透视变换将汇聚为一点,称之为灭点。
如果对一立方体作透视变换后三个方向的棱线分别交汇于三个不同的点上,则称为三点透视。
4.( B )保持物体的大小比例不变,但无法给出三维物体的真实性表示.而在( C )中,离投影面近的物体较远的物体生成的图像大,生成真实感结果但不保持相关比例.
A.正平行投影B.平行投影C.透视投影D.斜平行投影
5.名词解释:
投影变换现察空间三视图斜平行投影
投影变换:要将三维物体在这些二维设备上进行显示,就要把j三维坐标中的各点转化为二维平面坐标系中的点。
这种把三维物体变为二维图形表示的过程称为投影变换。
观察空间:将观察窗口沿投影的方向作平移,即可产生一个三维的观察空间。
对于平行投影,观察空间的四侧面形成了与观察窗口为边界的无限长的长方体管道。
而对于透视投影,观察空间是顶点位于投影中心,棱边为穿过观察窗口的边界的无限长棱锥。
三视图:投影方向垂直于投影平面时称为正平行投影。
我们通常所说的三视图即为正平行投影所得的正视图,俯视图与侧视图。
斜平行投影:投影方向不垂直于投影面的平行投影称为斜平行投影,也称为斜轴侧投影。
6.简要说明三堆观察流程.
答:三维观察的过程可以经由以下几个步骤来完成。
首先。
在世界坐标系中生成图形;其次,进行从世界坐标系到观察坐标系的变换,将世界坐标系中的图形描述转换到观察坐标系中。
然后进行观察空间的规范化变换,再在规范化空间内进行图形的三维裁剪。
裁剪完后即可作正投影,将裁剪后的图形投影到观察平面上。
最后,将观察窗口中的内容在图形输出设备上进行显示。
以上的过程就称为是三维观察流程。
参见8.3.5节。
7.写出绕过空间中一任意点P(x,y,z)的直线旋转α角的变换矩阵.
答:可按以下三个步骤完成:
将P点平移到坐标原点,即让直线过坐标轴原点。
绕平移后的直线旋转α角。
将P点平移回原位置。
于是,绕过P点旋转的变换矩阵为:
其中,TR为绕过原点直线旋转的变换矩阵。
参见8.1.3节。
8.试写出二次变换矩阵,并比较当旋转次序变化时对结果是否有影响.
9.若已知一直线段两端点坐标为P1(-2,0,-2)和P2(2,-3,4),写出其端点的六位二进行制编码,井求出该线段与x=1平面的交点.
答:对于端点P1(-2,0,-2),x=-2<-1,-1<y=0<l,z=-2<-l,因此其编码为101000。
对于端点P2(2,-3,4),x=2>l,y=-3<-1,z=4>l,则其编码为010110。
其参数方程为:
x=x1+(x2-x1)t=-2+4t
y=yl+(y2-yl)t=-3t
z=z1+(z2-zl)t=-2+6t
要求与x=l的交点,代人公式得:
t位于0与l之间,因此落于窗口之内。
将t代入直线的参数方程,解出交点为(1,-4/9,5/2)。
第10章真实感图形的生成与处理
本章提要
1.表面明暗处理的三个部分分别是:局部贡献、反射光贡献、透射光贡献.
2.光线与向量的区别是,对向量而言,它是用方向和大小来进行定义的;对光线而言,它是由方向和起始点确定的.
3.在表面明暗处理中,(A)是用于处理局部贡献的.
A.阴影光线B.镜面反射光线C.镜面透射光线
4.二维空间中的直线可以表示为代数方程y=mx+b或参数方程L(t)=s+dt,其中-∞<t<+o。
对于s=i+j和d=i-j,它的等价代数方程是( A )。
A.y=-x+2 B.y=x+2 C.y=x-2
5.物体表面的颜色由什么因素决定,如果是在简单光照模型中,对不透明的物体而言,其表面颜色由什么决定?
答:物体表面的颜色一般决定于物体表面向视线方向辐射的光能中各波长的分布,也即决定于所选择吸收那部分光的波长。
在简单光照模型中,如果物体是不透明的,则物体表面的颜色取决于其反射光。
6.单光照模型中,有哪几种类型的光?各自的特点是什么?
答:在简单光照模型中,一般可分成环境反射光、漫反射光和镜面反射光等。
环境反射光:环境光是周围的景物散发出来的通过物体表面而反射出来的光,没有直接的光源和固定的光线方向,弥漫于整个空间。
这种光线在空间中是均匀的,被照射的物体的各个方向都有相同的明暗度。
漫反射光:光源来自一个方向,反射光均匀地射向各个方向。
镜面反射光:产生所谓的“高光”效应。
镜面反射遵守反射定律,其是位于表面的法矢的两侧的,与反射角有关。
7.假设点P在扫描线Y1上而且亮度值为E1,点P2在扫描线Y2上而且亮度值为E2。
给出Y方向上的递推公式,该公式可以用线性插值计算P1和P2之间所有扫描线的亮度值E’。
答:设Pl点为开始点,则从一条扫描线到下一条扫描线的亮度变化值为:
△E=(E2-E1)/(Y2-Y1)
所以:E'1=E1而且E'i=E'i-1+△E,其中:i=2,3,4,...,
(y2-y1)。
8.设n=i+j+2k为通过点P0=(1,l,0)的平面的法线向量.试判断s=-2i+j+2k,d=i-k的光线是否与平面相交?
答:如果光线与任意平面相交,由于:
n?d=lxl+lx0+2x(-1)=-1<0;
所以:光线与平面相交。
引入:
p=(x0-xs)i+(y0-ys)j+(z0-zs)k
=[l-(-2)]i+(1-1)j+(0-2)k
t=(n?p)/(n?p)=[l×3+l×0+2×(-2)]/(-1)=1
计算:
所以交点是(xs+xd,ys+yd,zs+zd)=(-1,1,1)。
9.恒定光强的明暗处理、Gouraud明暗处理方法、Phong明暗处理方法各有什么特点?
答:恒定光强的明暗处理:这种方法主要适用于平面体的真实感图形的处理。
它只是采用一种颜色来对多边形进行绘制,在多边形上任意取一点,利用简单光照模型计算出该点的颜色作为多边形的颜色。
10.简要说明RGB、CMY和HSV三种颜色模型的特点。
答:红、绿、蓝(RGB)颜色模型通常用于彩色阴极射线管和彩色光栅图形显示器。
它采用直角坐标系,红、绿、蓝原色是加色系统,即各种原色的强度加在一起生成另一种颜色。
因对,对于一种颜色C,在RGB颜色系统下表示为:
C=rR+gG+bB
以红、绿、蓝的补色青、品红、黄为原色构成的CMY颜色系统,常用于从白光中减去某种颜色,故称为减色原色系统。
我们可以使用一个矩阵来表示RGB与CMY颜色模型之间的转换关系,即:
HSV颜色模型可以用六棱锥表示,为这种模型中提供给用户的三种颜色参数是色彩(Hue)、色饱和度(Saturation)和明暗值(Value),即称HSV模型。
用户通过选择一种彩色并将一定量的白色和黑色加到该颜色以获得不同的明暗、浓淡和色调。
11.光线跟踪算法有什么特点?写出该算法的程序处理框图并缟程上机实现.
答:光线跟踪算法的主要特点是利用光线的可逆性,不是从光源出发,而是从视点出发,沿着视线进行追踪的,模拟光的传播路径来确定反射、折射和阴影。
其屏幕上对应点的总光强度由三部分光强所组成:
(1)光源直接照射及环境光所产生的局部光强。
(2)反射光2来的光强对点B的作用。
(3)透射光3来的光强对点B的作用。
基本光线跟踪算法的核心程序描述如下:
RAYTRACE(ray, depth, color)
{
求光线ray与物体的最近的交点;
if(没有交点) color=背景色;
else
{
color=-局部光颜色; /*用Phong公式计算*/
if(depth>1)。