考试计算机图形学.docx
- 文档编号:8279315
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:18
- 大小:525.91KB
考试计算机图形学.docx
《考试计算机图形学.docx》由会员分享,可在线阅读,更多相关《考试计算机图形学.docx(18页珍藏版)》请在冰豆网上搜索。
考试计算机图形学
计算机图形学大题第四章1个。
第六章2个第七章1个
第一章
4、比较个人计算机与工作站的图形功能
个人计算机仅限于符合二维,又是单任务操作方式
工作站可处理二、三维,多任务操作方式
区别
个人计算机
工作站
显示分别率
640X480
1024X900以上
具有8个以上位面
显示器尺寸
12~14英寸
16、19、27英寸
图形处理能力
符号或二维
具有反走样、线和面消隐、光照模型等处理硬件;同时还具有丰富的图形生成和处理软件
主要处理二维或三维图形、图象
计算机性能
主要取决于微处理器的性能
具有更强的处理功能,在操作系统、页面虚拟存储器和主要用途都有所不同
操作方式
单任务
多任务、多进程
●个人计算机的主要功能是字符处理,而工作站不仅有字符处理功能,还有较强的图形处理功能
●个人计算机的显示分辨率较小,一般在640X480的图形处理符号或二维图形;而工作站为了满足强大的图形处理,显示分辨率为一般为1024x1024的二维或三维图形
●个人计算机的显示器相对工作站较小
●个人计算机的图形系统是由个人计算机加上图形输入输出设备和有关的图形支撑软件集成起来的系统,其性能取决于个人计算机所采用的微处理器芯片,个人计算机的图形功能由于受到软件和硬件的限制,只适合处理比较简单的事情;个人计算机的显示分辨率一般在640X480的图形处理符号或二维图形
●而工作站在处理器、总线设计、存储器、操作系统等多个方面都有比个人计算机优越的地方,它配有专业的图形输入输出设备,并配有图形处理器以处理大量的复杂的图形运算;它可以处理多任务进程、处理显示分辨率为1024x1024的二维或三维图形、具有高速的科学计算能力、丰富的图形处理、灵活的窗口及网络管理功能的交互式计算机系统,它的图形功能比个人计算机图形系统强德多,但在造价上远高于个人计算机。
6、具有相同分辨率的彩色光栅显示器与黑白光栅在结构上有何区别?
彩色:
对于红、绿、蓝的三个原色有三个位面的帧缓存和三个电子枪,每个位面的帧缓冲对应一个电子枪即对应一种颜色;对每个颜色的电子枪可以通过增加帧缓存位面来提高颜色种类和灰度级,通过三种原色的组合可以产生不同种类的颜色。
彩色光栅显示器主要是有红、绿、蓝的三个原色所组成,每种原色电子枪有8个位面的帧缓存和8位的数模转换器,每种原色有256种亮度,三种原色组合可为16771216种颜色,也可以通过颜色查找表查找,故帧缓存位数至少24位。
黑白:
黑白光栅显示器的帧缓存是一块连续的计算机存储器,每个像素需1位存储器,每个存储器只有0或1两个状态。
因此一个位面的帧缓存只能产生黑白图形。
可以增加象素点的位面数,通过多个位面显示出多种灰度级。
第二章:
P128
1、为什么要制定和采用计算机图形标准?
已经ISO批准的计算机图形标准软件有哪些?
为了提高计算机图形软件、计算机图形的应用软件以及相关软件的编程人员在不同的计算机和图形设备之间的可移植性。
已获ISO批准的计算机图形标准软件有:
计算机图形核心系统(GKS)及其语言联编
程序员层次交互式图形系统(PHIGS)及其语言联编
三维图形核心系统(GKS-3D)及其语言联编
l计算机图形元文件(CGM)
l计算机图形接口(CGI)
l基本图形转换规范(IGES)
l产品数据转换规范(STEP)等
5、GKS与GKS-3D之间的主要不同点是什么?
应用GKS-3D输出图形的过程是什么?
过程:
图素→规格化变换→图段变换→规格化裁减→视图变换→裁减操作和视图映象→工作站裁剪和变换→显示输出
6、GKS-3D与PHIGS的主要区别是什么?
用GKS-3D编写的程序能否用PHIGS实现之?
理由是什么?
主要区别:
(1)数据结构
GKS-3D:
提供了单层、平面的图形数据结构
其图段用来表示的是图象信息而不是图形的构造信息,
其图段数据经过坐标规格化变换后,不再是定义该图段的坐标空间的数据
PHIGS:
其结构始终是在造型空间中定义的数据
(2)可修改性
GKS-3D:
产生的图段,其内容不能修改,但影响图段整体特征的某些属性,如可见性、可检测性、图段的几何变换等是可以修改
PHIGS:
其任何结构,结构中的任何一部分元素则可以在任何时候进行修改
(3)属性的存储
GKS-3D:
把图素属性和图素一起存入图形数据结构中,为了修改某图段中某个图素的属性,必须去除该图素的旧属性,重新生成一个新属性
PHIGS:
只要当遍历一个结构并要显示该结构时,其中的图素才能变成输出图素,此时,那些属性结构元素是灵活的,图形数据的修改也是容易的。
(4)输出流水线
GKS-3D:
采用三种坐标系,用户坐标系、设备坐标系和规格化设备坐标系
PHIGS:
采用五种坐标系,造型坐标系、用户坐标系、观察坐标系、规格化的投影(空间)坐标系、设备坐标系
10、IGES和STEP有什么共同点和不同点?
共同点:
IGES和STEP都是与CAD/CAM系统提供中性产品数据的公共资源和应用模型,它涉及到土建工程、机械、结构、电气、电子工程及船舶结构等领域,为了解决数据在不同的CAD/CAM系统之间进行数据传送的问题,定义了一套表示CAD/CAM系统中常用的几何和非几何数据格式以及相应的文件结构。
不同点:
IGES是1982年ANSI标准,而STEP是ISO/IECJTCL下的SC4开发的ISO标准,它克服了IGES的一些缺点:
(1)不能精确地完整地转换数据,其原因是不同的CAD/CAM系统之间许多概念不一样,使得某些定义数据像表面定义数据会丢失
(2)不能转换属性信息
(3)层信息常丢失
(4)不能把两个零部件的信息放在一个文件中
(5)产生的数据量太大,以至许多CAD系统难以处理(无论是时间还是存储容量上都不适应)
(6)在转换数据的过程发生的错误很难确定,常常需要人工去处理IGES
文件,对此要花费大量的时间和精力。
而STEP克服了IGES中存在的问题,扩大了转换CAD/CAM系统中几何拓扑数据的范围,STEP即产品模型数据的公共资源和应用模型。
STEP的产品模型数据是覆盖产品整个生命周期的应用而全面定义的产品所有数据元。
在STEP中采用了形状特征信息模型进行各种产品模型定义数据的转换,强调建立能存入数据库中的一个产品模型的完整表示,而不只是它的图形或可视的表示
IGES采用了对实体单元进行数据描述的文件结构,而STEP采用了形状特征信息模型进行各种产品模型定义数据的转换的概念模式;
IGES的文件格式为目录入口、参数节、整体节、结束节和定义信息5个节;STEP的产品信息分为应用层、逻辑层和物理层3个层结构。
第三章
7、常见的交互技术有哪几种?
你认为哪一种交互技术最容易使用?
交互技术指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。
它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。
人机交互技术是计算机用户界面设计中的重要内容之一。
它与认知学、人机工程学、心理学等学科领域有密切的联系。
常见的交互技术有:
选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术、橡皮筋技术、徒手画技术、拖动技术;其中定量技术最容易使用。
第四章
Cs剪裁算法
2、采用整数Bresenham算法,为一台计算机编制直线扫描转换程序。
从键盘敲入两端点坐标,就能在显示器屏幕上画出对应的直线。
VoidDrawLine(intcolor)
{
intx0,y0,x1,y1,color,I;
scanf(“%d,%d,%d,%d”,&x0,&y0,&x1,&y1);
dx=x1–x0;
dy=y1–y0;
e=-dx;
x=x0;
y=y0;
for(i=0;i<=dx;i++)
{
putpixel(x,y,color);
x=x+1;
e=e+2*dy;
if(e>=0)
{
y=y+1;
e=e–2*dy;
}
}
}
4、试编写按逆时针方向生成第二个8分圆的中点算法
算法设计:
(1)输入圆的半径
(2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb
(3)计算d=1.25-R,x=0,y=R,rgb=RGB=(0,0,255).
(4)绘制点(x,y),及其在八分圆中的另外7个对称点‘
(5)判断d的符号,若d<0,则(x,y)更新为(x+1,y),d更新为d+2x+3,否则(x,y)更新为(x+1,y-1),d更新为d+2(x-y)+5.
(6)当x小于等于y,重复步骤(4)和(5),否则结束。
MidpointCircle(r,color)
intr,color;
{
floatx,y;
floatd;
x=0;
y=r;
d=1.25–r/1.414;
drawpixel(x,y,color);
while(x { if(d<0) { d+=2*x+3; x++; } else { d+=5+2*(x-y); x++; y--; } drawpixel(x,y,color); } } 7、设计一个多边形区域填充算法,使其边界像素具有一个值,而内部的像素具有另一个值。 算法设计: (1)使用画线语句绘制多边形 (2)计算窗口客户区的水平边界最大值MaxX和垂直边界最大值MaxY (3)调用系统调色板,设置颜色值FillColor为调色板上取得的颜色,CBackColor为白色。 (4)对于每一条边,y从ymin开始,执行下面的循环。 (5)x从扫描线和边的交点处开始到窗口客户区右边界,先获得(x,y)位置的像素颜色,如果是填充色,则置成背景色,否则所有填充色填充。 执行x=x+1/k,计算下一个x起点值。 (6)如果y=ymin,则扫描结束,否则y++,转(5)。 主要代码: intMaxX,MaxY; VoidGetMaxX()//求屏幕最大x值 { CRectrect; GetClientRect(rect); MaxX=rect.riht; } VoidGetMaxY()//求屏幕最大y值 { CRectrect; GetClientRect(rect); MaxX=rect.bottom; } VoidDraw()//填充多边形函数 { COLORREFCBackColor=RGB(255,255,255);//白色 CClientDCdc(this); intm,n,ymin,ymax; doublex,y,k; for(inti=0;i<=6;i++) { m=i,n=i+1; if(7==n)n=0; k=(double(Point[m].x-Point[n].x)/(Point[m].y-Point[n].y);//计算1/k; if((Point[m].y { ymin=Point[m].y; ymax=Point[n].y; x=Point[m].x;//得到x|ymin } else { ymin=Point[n].y; ymax=Point[m].y; x=Point[n].x; } For(y=ymin;y { For(intj=ROUND(x);j { If(dc.GetPixel(j,ROUND(y)==FillColor)//如果像素的颜色是填充色 { dc.SetPixel(j,ROUND(y),CBackColor);//改为背景色 } else { dc.SetPixel(j,ROUND(y),FillColor);//改为填充色 } } x+=k;//计算下一个x起点值 } } } DrawPolygon()//绘制多边形函数 { CClientDCdc(this); intm,n; for(intj=0;j<=6;j++) { M=j;n=j+1; If(7==n)n=0; dc.MoveTo(Point[m]); dc.LineTo(Point[n]); } } 10、试设计一个生成具有宽度的直线条的算法,使得在直线条连接处不出现图示的缺口 对于第一种方案: c d e abf 可以把整个线条分成两个部分, 对于左半部分: 先计算出线条的四个顶点,a,b,c,d 再用直线段把相邻角点连接起来, 最后调用多边形填充算法把所得的四边形进行填色 同样,对于右半部分,依法处理 对于第二种方案: c e df g abh 可以把整个线条分成三个部分, 对于左半部分: 先计算出线条的四个顶点,a,b,c,d 再用直线段把相邻角点连接起来, 最后调用多边形填充算法把所得的四边形进行填色 对于中间部分: 先计算出线条的四个顶点,c,d,e,f 再用半径为某个值如R圆弧分别把c,e和d,f连接起来, 最后调用区域填充算法把所得的圆环段c,e,d,f进行填色 同样,对于右半部分,依法处理 先计算出线条的四个顶点,e,f,g,h 再用直线段把相邻角点连接起来, 最后调用多边形填充算法把所得的四边形进行填色 12、为26个英文大写字母设计5X7的字符掩膜矩阵。 第六章 1 3、参照Hermite三次曲线的几何形式,试用B[P0P1P0uP1uP0uuP1uu]T,推导相应五次曲线的调和函数和系数矩阵M。 解: 设Hermite五次曲线的几何形式为: P(t)=a5t5+a4t4+a3t3+a2t2+a1t+a0其中t∈[0,1] 按题意,已知曲线两端点的坐标值P0P1 曲线两端点的一阶导数值P0uP1u 曲线两端点的二阶导数值P0uuP1uu 则求出系数a5,a4,a3,a2,a1,a0 则P(t)就可确定; 由于P(t)=a5t5+a4t4+a3t3+a2t2+a1t+a0其中t∈[0,1] P’(t)=5a5t4+4a4t3+3a3t2+2a2t+a1 P”(t)=20a5t3+12a4t2+6a3t+2a2 P0=P(0)=a0 P1=P (1)=a5+a4+a3+a2+a1+a0 P0’=P’(0)=a1 P1’=P’ (1)=5a5+4a4+3a3+2a2+a1 P0”=P”(0)=2a2 P1”=P” (1)=20a5+12a4+6a3+2a2 所以a0=P(0) a1=P’(0) a2=P”(0)/2 a3=10P (1)-10P(0)-4P’ (1)-6P’(0)+P” (1)/2-3P”(0)/2 a4=-15P (1)+15P(0)+7P’ (1)+8P’(0)-P” (1)-3P”(0)/2 a5=6P (1)-6P(0)-3P’ (1)-3P’(0)-P”(0)/2+P” (1)/2 => P(t)=[-6P(0)+6P (1)-3P’(0)-3P’ (1)-P”(0)/2+P” (1)/2]t5 +[+15P(0)-15P (1)+8P’(0)+7P’ (1)+3P”(0)/2]t4 +[-10P(0)+10P (1)-6P’(0)-4P’ (1)-3P”(0)/2+P” (1)/2]t3 +[P”(0)/2]t2 +[P’(0)]t +P(0) 整理得: P(t)=(-6t5+15t4-10t3+1)P(0)+(6t5-15t4+10t3)P (1) +(-3t5+8t4-6t3+t)P’(0)+(-3t5+7t4-4t3)P’ (1) +(-t5/2+3t4/2-3t3/2+t2/2)P”(0)+(t5/2-t4+t3/2)P” (1) 故调和函数为: F(0)=-6t5+15t4-10t3+1 F (1)=6t5-15t4+10t3 F (2)=-3t5+8t4-6t3+t F(3)=-3t5+7t4-4t3 F(4)=-t5/2+3t4/2-3t3/2+t2/2 F(5)=t5/2-t4+t3/2 系数矩阵为: -66-3-3-1/21/2 15-15873/2-1 -1010-6-4-3/21/2 00001/20 001000 100000 5 6 1010.给定四点P1(0,0,0),P2(1,1,1),P3(2,-1,-1),P4(3,0,0),用其作为特征多边形来构造一条三次Bezier曲线,并计算参数为0,1/3,2/3,1的值。 11.已知由P1(0,0,0),P2(2,2,-2),P3(2,-1,-1),P4(3,0,0),Q1(4,0,0),Q2(6,-2,1),Q3(8,-3,2),Q4(10,0,1)确定的两段三次Bezier曲线,试求其在P4(Q1)处达到C1连续的条件 解: 设两段连续的三次Bezier曲线分别为: P(t),Q(t)t∈[01] 则P(t1)=(1-t1)3P1+3t1(1-t1)2P2+3t12(1-t1)P3+t13P4 t1∈[01] Q(t2)=(1-t2)3Q1+3t2(1-t2)2Q2+3t22(1-t2)Q3+t23Q4 t2∈[01] 将P1、P2、P3、P4的分量分别代入P(t)得到相应的分量 Px(t)=(1-t)3*0+3t(1-t)2*2+3t2(1-t)*2+t3*4 =4t3–6t2+6t Py(t)=(1-t)3*0+3t(1-t)2*2+3t2(1-t)*(-1)+t3*0 =9t3–15t2+6t Pz(t)=(1-t)3*0+3t(1-t)2*(-2)+3t2(1-t)*(-1)+t3*0 =-3t3+9t2-6t 即三次Bezier曲线的矩阵式为: P(t)=[t3t2t1]49-30 -6-1590 66-60 0000 将Q1、Q2、Q3、Q4的分量分别代入Q(t)得到相应的分量 Qx(t)=(1-t)3*4+3t(1-t)2*6+3t2(1-t)*8+t3*10 =6t+4 Qy(t)=(1-t)3*0+3t(1-t)2*(-2)+3t2(1-t)*(-3)+t3*0 =3t3+3t2-6t Qz(t)=(1-t)3*0+3t(1-t)2*1+3t2(1-t)*2+t3*1 =-2t3+3t 即三次Bezier曲线的矩阵式为: Q(t)=[t3t2t1]03-20 0300 6-630 4004 P(t)和Q(t)在P4(Q1)处达到C1连续的条件是: P (1)和Q(0)在P4(Q1)处重合,且其在在P4(Q1)处的切矢量方向相同,大小相等 即: P(t=1)=Q(t=0) P’(t=1)=Q’(t=0) 13 第七章 7 10 13 17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 计算机 图形学
![提示](https://static.bdocx.com/images/bang_tan.gif)