2011图形学A+答案
民生2011级A卷答案(3)2022

河南大学民生学院2011~2012学年第一学期期末考试画法几何与工程制图试卷A卷答案及评分标准
一、单选(每小题2分,共10分)
1、A
2、A
3、D
4、C
5、C
二、填空(每小题2分,共10分)
1、30,10,20
2、交叉
3、直线
4、标高
5、4号
三、作图(共60分)
1、已知空间两直线AB⊥AC,求AB的水平面投影。
(10分)
图形正确:8分(H面4分,V面4分),图形质量:2分
2、求两平面的交线,并判定可见性。
(12分)
图形正确:10分(V面2分、H面8分),图形质量:2分
3、绘出现浇梁板的2-2剖面图。
(13分)
图形正确:9分,图形质量:4分
4、补绘坡道的侧面投影。
(10分)
图形正确:8分,图形质量:2分
5、求作带切口四棱锥的水平面和侧面投影。
(15分)
图形正确:10分(H面5分、W面5分),图形质量:5分
四、补绘构件详图(共20分)
图形正确:15分【钢筋4分(每根2分),断面10分(每个5分),钢筋表6分(每竖行1分)】,图形质量:5分。
计算机图形学A卷答案

一、单项选择题(共15小题,每小题1分,共15分)。
1-5 DDCAA 6-10 CBCDD 11-15 BCDBC二、填空题(共15小题,每小题1分,共15分)。
线宽栅格表示法内点表示区域边界的像素点填充颜色窗口区域几何变换后连通性边界点边界闭包二维流形实体的边界表示法扫描体一个元组三、判断题(共10小题,每小题1分,共10分)。
(正确的写T,错误写F)1-5:FTFFT 6-10:FFFFF四、名词解释(共4题,每小题4分,共16分)计算机图形学:用计算机建立、存储、处理某个对象的模型,并根据模型产生该对象图形输出的有关理论、方法与技术,称为计算机图形学。
计算几何:计算几何研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。
走样:在光栅显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状。
这是由于直线或多边形边界在光栅显示器的对应图形都是由一系列相同亮度的离散像素构成的。
这种用离散量表示连续量引起的失真,称为走样(aliasing)。
坐标系统:为了描述、分析、度量几何物体的大小、形状、位置、方向以及相互之间的各种关系使用的参考框架叫做坐标系统。
五、简答题(共4题,每小题6分,共24分)请列举常用的直线段裁减算法(列举3种)。
答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck算法。
利用线段裁剪的Cohen-Sutherland算法,对线段P1P2 进行裁剪,写出裁剪的步骤。
答:(1)对P1P2进行编码,P1的编码code1为0001,P2的编码为code2为0100。
由于code1|code2≠0,且code1&code2=0,故属于第三种情况。
(1分)(2)code1=0001知P1在窗口左外侧,计算线段与窗口左边界的交点P3。
P1P3必在窗口外,可弃之。
河南理工大学20102011学年图形学考试题资料

一、 名词解释(每题2分,共10分) 1 计算机图形学答:计算机图形学是一门旨在研究用计算机来生成、显示和处理图形信息的学科。
2 屏幕分辨率答:屏幕上显示的像素个数。
(屏幕单位长度上能分辨出的最大光点(像素)数) 3 窗口答:用户在用户坐标系中定义的任一区域称为窗口。
(P110) 4 外法线答:有立体内部指向外部的法线称为外法线。
5 平行投影 答:投影中心与投影平面的距离为无穷大时的投影称为平行投影。
(P103)1图形系统中输入设备常用的有键盘、_鼠标___、___光笔__、 触摸屏____等。
(P15) 2直线的属性主要包括线型、_____直线的宽度_和____直线的颜色__。
3在简单光反射模型中,反射光由____漫反射光____、___镜面反射光_______和_____环境光______三部分组成。
4直线生成的常用算法有____DDA 画线算法___、___中线画线算法_等。
(P36) 三、单项选择题(每题2分,共20分) 1.触摸屏是计算机图形系统的( A )设备。
A 输入B 输出C 输入输出D 不是输入设备 2.计算机图形显示器一般使用( A )颜色模型。
A RGBB CMYC HSVD HLS3.使用右边二维图形变换矩阵,将产生变换的结果为( D ) A 图形放大2倍B 图形放大2倍,同时沿X 、Y 坐标轴方向各移动1个绘图单位C 沿X 坐标轴方向各移动2个绘图单位D 沿X 坐标轴方向放大2倍,同时沿X 、Y 坐标轴方向各平移1个绘图单位。
T =4.二维视象变换中,根据窗口和视区的关系,下列哪一种说法正确()。
A窗口不变,视区变大,则图形缩小 B窗口不变,视区变大,则图形扩大C视区不变,窗口变大,则图形扩大 D 视区不变,窗口缩小,则图形缩小5.当观察光照下的光滑物体表面时,在某个方向上看到高光或强光,这个现象称为(B)。
A 漫反射B 镜面反射C 环境光D 折射6.绘制样条曲线时,如果控制点中的任一个发生了变动,只有局部曲线形状受到影响,该曲线是(D )曲线。
2011数学建模A题程序及答案参考

程序:clcclearclose all% ZuoBiao.dat和JinShu.dat为导入的两个题目所给数据文件x=D(:,2);y=D(:,3);z=D(:,4);c=D(:,5);xi=linspace(min(x),max(x),100);yi=linspace(min(y),max(y),100);[xi,yi]=meshgrid(xi,yi);zi=griddata(x,y,z,xi,yi);ci=griddata(x,y,c,xi,yi);marker={'*','o','s','^','p'};color={'k','r','m','c','b'};mat={'As','Cd','Cr','Cu','Hg','Ni','Pb','Zn'};str={'等高线','1生活区','2工业区','3山区','4交通区','5公园绿地区'};for j=1:8% 等高线图形figurecontourf(xi,yi,zi,0:10:500);% set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)% clabel(C,h,[0:10:50,50:50:300,300:100:500]);title(['重金属',mat{j}, ' 在该区域的空间分布图'])xlabel('X')ylabel('Y')colormap hsvcolorbargrid onhold onfor i=1:5loc=c==i;plot(x(loc),y(loc),marker{i},'markerfacecolor',color{i},'MarkerEdgeColor',color{i});endlegend(str,'location','best') for k=1:length(x)text(x(k)-200,y(k)+200,num2str(M(k,j+1)),'fontsize',8); end end % 三维体图figureh=surf(xi,yi,zi); set(h,'cdata',ci); colormap hsvtitle('三维图立体(颜色条表示分类)') xlabel('X') ylabel('Y') colorbar hidden off hold onfor i=1:5 loc=c==i;plot3(x(loc),y(loc),z(loc),marker{i},'markerfacecolor',color{i}); endstr{1}='三维图';legend(str,'location','best')第1章 污染物在水体中迁移模型1.1 流体运动的某些概念 1.1.1 浓度设V ∆是以点(,,)x y z 为中心的微小体积,M ∆是该微小体积内包含的污染物的质量,某时刻t ,点(,,)x y z 的浓度定义为0(,,,)limV MC x y z t V∆→∆=∆(1-1-1)某一时刻污染物质在水域中的分布,一般来说是随着空间位置的变化而变化的。
理工2011图形学试题重点材料及答案

1.阴极射线管主要由三部分组成:( 电子枪 )、( 偏转系统 )和荧光屏2.Hermite 曲线是给定曲线段的两个端点坐标以及两端点处的(切线矢量)来描述曲线的3.三次B 样条曲线的表达式为:]1,0[],)1333()463()133[()(3322312302361∈++++-++-++-+-=u P u P u u u Pu u P u u u u P 它具有( 3 )阶导数的连续性。
4.二维图形的几何变换中的二维几何变换矩阵可以表示为:⎪⎪⎪⎭⎫⎝⎛=i hgf e dc b aT 其中(g h )是对图形进行( 平移)变换。
5. 区域填充算法分为两大类:一类是( 种子填充算法 );另一类是扫描转换填充算法。
6. 将多边形外部一点A 与某一点B 用线段连接,若此线段与多边形边界相交的次数为偶数,则点B 在多边形外部,若此线段与多边形边界相交的次数为奇数则点B 在多边形内部。
7. 投影变换中,透视投影的投影中心到投影面之间的距离是 有限的,平行投影的投影中心到投影面之间的距离是 无限的。
8. Bezier 曲线P(t),对于任意给定的t ,P(t)是 多边形各顶点Pi 的加权平均。
9.在裁剪算法中主要解决两个问题:第一是判断计算图形在区域内部或外部,第二是计算图形与裁减区域边界 的交点10. 在三位空间内,是用一个向量 来标定一格点在空间的位置。
11. 抛物样条曲线的连续的 阶次 越高,曲线越光滑。
12. Bezier 曲线的形状是通过一组 多边折线 的各顶点唯一地定义出来的。
13. 为了记录下每个像素所对应的颜色和深度这两个参数,就需要定义两个数组:一个是深度数组;另一个是颜色数组 。
1.图形软件的建立方法包括提供图形程序包、 修改高级语言 和采用专用高级语言。
2.直线的属性包括线型、 线宽 和颜色。
3.颜色通常用红、绿和蓝三原色的含量来表示。
对于不具有彩色功能的显示系统,颜色显示为 灰度级(或亮度级)。
《计算机图形学》试题-A卷及参考答案

4、灰度等级为 256 级,分辨率为 1024*1024 的显示器,至少需要的帧缓存容量 为( B ) A) 512KB; B) 1MB C) 2MB; D)3MB
5、使用下列二维图形变换矩阵: A) 图形放大 2 倍;
将产生变换的结果为( D )
B) 图形放大 2 倍,同时沿 X、Y 坐标轴方向各移动 1 个绘图单位; C) 沿 X 坐标轴方向各移动 2 个绘图单位; D) 沿 X 坐标轴方向放大 2 倍,同时沿 X、Y 坐标轴方向各平移 1 个绘图 单位 6、计算机图形显示器一般使用什么颜色模型?( A ) A)RGB B)CMY C)HSV D)HLS
= P0+3(P1-P0)t +3(P0-2P1+P2)t2+(-P0+3P1-3P2+P3)t3 写成分量形式: X(t)= X0+3(X1-X0)t +3(X0-2X1+X2)t2+(-X0+3X1-3X2+X3)t3 Y(t)= Y0+3(Y1-Y0)t +3(Y0-2Y1+Y2)t2+(-Y0+3Y1-3Y2+Y3)t3 Z(t)= Z0+3(Z1-Z0)t +3(Z0-2Z1+Z2)t2+(-Z0+3Z1-3Z2+Z3)t3 将P 0 (0,0,0),P 1 (1,1,1),P 2 (2,-1,-1),P 3 (3, r
T
P(t ) PiBi , n(t ), t [0,1]
i 0
其中
n! B i , n (t ) t i (1 t ) n i , (i 0 ,1, 2 n ) i! ( n i )!
《计算机图形学》试题-A卷及参考答案
7、对于由P 0 P 1 P 2 三点所决定的二次B样条曲线,下列叙述中错误的是( D )
A)起始点位于(P 0 +P 1 )/2 处; B)终止点位于(P 2 +P 1 )/2 处; C)若P 0 P 1 P 2 三点共线时,该曲线是一条线段; D)起始点的切矢为:2(P 1 -P 0 )。 8、下列不属于计算机图形学中三维形体表示模型的是:( C )。 A 线条模型 B 表面模型 C 粒子模型 D 实体模型
X(t)=3t 2 3 Y(t)=3t-9t +6t 2 3 Z(t)= 3t-9t +6t 将 t 分别等于 0,1/3, 2/3,1 代入上述参数曲线,得 P(0)=(0,0,0) P(1/3)=(1,2/9,2/9) P(1/2)=(3/2,0,0) P(2/3)=(2,-2/9,-2/9) P(1)=(3,0,0)
计算机图形学试题
一、选择题(20 分) 1、种子填充算法中,正确的叙述是( C ) A)按扫描线的顺序进行象素点的填充; B)四连接算法可以填充八连接区域;
A
C)四连接区域内的每一象素可以通过上下左右四个方向组合到达; D)八连接算法不能填充四连通区域。 2、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点 S 到端点 P)与 某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点. 请问哪种情况下输出的顶点是错误的? ( A ) A) S 和 P 均在可见的一侧,则输出 S 和 P. B) S 和 P 均在不可见的一侧,则输出 0 个顶点. C) S 在可见一侧,P 在不可见一侧,则输出线段 SP 与裁剪线的交点. D) S 在不可见的一侧,P 在可见的一侧,则输出线段 SP 与裁剪线的交点和 P. 3、透视投影中主灭点最多可以有几个?( D ) A)0 B)1 C)2 D)3
图形学模拟试题 (含答案)
计算机图形学课程模拟试卷(参考答案含评分标准)2010—2011学年第二学期年级专业学号姓名得分一、简要回答题(每题7分,共7题,共49分)1.被誉为“图形学之父”的伊万•萨瑟兰(Ivan Sutherland)对计算机图形学理论和应用的主要贡献有哪些?答:(1)(3分)萨瑟兰在MIT攻读博士学位时,在著名的林肯实验室完成基于光笔的交互式图形系统:Sketchpad。
这一系统中许多交互式图形设计的创意是革命性的,它的影响一直延续到今天。
(2)(4分)用于显示立体和彩色图像的“Lorgnette”技术和一系列图形图像算法,如分区编码的直线段裁剪算法、多边形裁剪算法、曲面的表示和消除隐藏线算法等等。
2.有人认为图形学算法主要依赖于点和向量的数学运算,你是否认同这一观点?给出同意或反对的理由,并举例说明。
答:这一观点是正确的(2分),主要理由和举例如下(5分):(1)图形学的很多算法属于几何算法,点(从三维、二维到一维)是最基本的几何要素,也是统一基本几何的计算机表示形式。
例如,在观察流水线上的主要图形学算法,无论是表示和生成(显示)、建模(造型)、变换(包括投影、观察、消隐)都可以统一到建立基于点的几何模型;(可以以典型的光栅图形学的算法如基本图形的生成和变换、三维观察、Z-Buffer算法为例说明)(2)向量几何是图形学的重要数学基础、建立了以“方向性”概念的基本理论、思想方法、几何结构、几何算法与复杂性分析的几何计算理论体系。
例如,借助向量几何可以将二维布尔运算降为一维向量计算、将三维布尔运算下降为二维布尔运算、将三维消隐算法最终归结为一维交集算法等等,从而使几何计算的复杂性大为简化。
(可以以比较典型的Liang-Barsky裁剪算法、三维实体造型CSG树生成,隐藏线消除算法等为例说明)。
『评分说明』若认为这一观点是错误的或持有含糊的态度,且给出的例子是片面的、主观的,则本题不得分。
其他错误情况者,如未举例说明,酌情扣2分左右。
2011大学生数学建模AB全部答案
题目B题交巡警服务平台的设置与调度摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。
在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。
由警车的数目m,将全区划分成m个均匀的分区,从每个分区的中心点出发,找到最近的道路节点,作为警车的初始位置,由Floyd算法算出每辆警车3分钟或2分钟行驶路程范围内的节点。
考虑区域调整的概率大小和方向不同会影响调整结果,本文利用模拟退火算法构造出迁移几率函数,用迁移方向函数决定分区的调整方向。
计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。
在选取巡逻显著性指标时,本文考虑了两个方面的指标:一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。
问题三:为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。
在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大时,用算法2计算巡逻方案和对应的参数,结果见附录所示。
本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。
关键词:模拟退火算法;Floyd算法;离散化一问题的重述110警车在街道上巡逻,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能够增加市民的安全感,同时也加快了接处警时间,提高了反应时效,为社会和谐提供了有力的保障。
现给出某城市内一区域,其道路数据和地图数据已知,该区域内三个重点部位的坐标分别为:(5112,4806),(9126, 4266),(7434 ,1332)。
高考数学真题解析分项版08立体几何 文
2011年高考试题解析数学(文科)分项版08 立体几何一、选择题:1.(2011年高考安徽卷文科8)一个空间几何体得三视图如图所示,则该几何体的表面积为(A ) 48 (B)32+817 (C) 48+817 (D) 80 【答案】C【命题意图】本题考查三视图的识别以及空间多面体表面积的求法.【解析】由三视图可知几何体是底面是等腰梯形的直棱柱.底面等腰梯形的上底为2,下底为4,高为4,两底面积和为()12244242⨯+⨯=,四个侧面的面积为()44221724817++=+,所以几何体的表面积为48817+.故选C.【解题指导】:三视图还原很关键,每一个数据都要标注准确。
2.(2011年高考广东卷文科9)如图1-3,某几何体的正视图(主视图),侧视图(左视图)和俯视图分别为等边三角形、等腰三角形和菱形,则该几何体体积为( )A .B .C .D . 2【答案】C【解析】由题得该几何体是如图所示的四棱锥P-ABCD ,,棱锥的高,3232322131331233231222=⨯⨯⨯⨯⨯=∴=-=-==∴=-=V PO h AO 所以选择C.3.(2011年高考湖南卷文科4)设图1是某几何体的三视图,则该几何体的体积为A .942π+ B.3618π+ C.9122π+ D.9182π+ 答案:D解析:有三视图可知该几何体是一个长方体和球构成的组合体,其体积3439+332=18322V ππ=⨯⨯+()。
4.(2011年高考湖北卷文科7)设球的体积为V 1,它的内接正方体的体积为V 2,下列说法中最合适的是A. V 1比V 2大约多一半B. V 1比V 2大约多两倍半C. V 1比V 2大约多一倍D. V 1比V 2大约多一倍半答案:D解析:设球半径为R ,其内接正方体棱长为a 2222a a a R ++=,即23,3a R =由 3 32正视图侧视图俯视图图13331248,339v R v a R π===,比较可得应选D.5.(2011年高考山东卷文科11)下图是长和宽分别相等的两个矩形.给定下列三个命题:①存在三棱柱,其正(主)视图、俯视图如下图;②存在四棱柱,其正(主)视图、俯视图如下图;③存在圆柱,其正(主)视图、俯视图如下图.其中真命题的个数是(A)3 (B)2 (C)1 (D)0 【答案】A【解析】对于①,可以是放倒的三棱柱;容易判断②③可以.6.(2011年高考海南卷文科第8题)在一个几何体的三视图中,正视图和俯视图如右图,则相应的侧视图可以为( )解析:D. 由主视图和府视图可知,原几何体是由后面是半个圆锥,前面是三棱锥的组合体,所以,左视图是D 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成都理工大学2010—2011学年 第一学期《计算机图形学》考试试卷 A一、 填空(将正确答案填入对应小题中,每小题3分,共30分)1、计算机图形学是研究利用计算机来 显示、生成和处理图形 的原理、方法和技术的一门学科。
2、光栅图形子系统的两个重要部件是: 帧缓冲存储器和显示控制器 。
3、平行投影与透视投影区别是 平行投影不具有透视缩小性 ;正投影与斜投影的区别是 投影方向和投影面是否垂直 。
4、三次样条曲线常用的约束条件有 自由端、夹持端、抛物端 。
5、使用下面的二维图形变换矩阵:T =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡103020001 产生变换的结果是 沿Y 方向放大2倍,沿X 方向平移3 。
6、构造一个3次Bezier 曲面需要 16 个控制点;若修改3次B 样条曲线控制点,最多影响三次B 样条曲线段数是 4 。
7、OpenGL 三维平行投影函数是 glOrtho(left, bottom, right, top, near, far) 。
8、请写出正等测投影的投影矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛---1000006/62/2003/60006/62/2 。
9、在图形学中通常用哪几个参数定义观察坐标系 观察参考点、观察平面法向量、观察正向 。
10、 消隐算法按实现方式分为: 图像空间和景物空间消隐算法 两类。
二、 选择填空(选择正确的答案填入对应题号,每小题2分,共20分)1、使用下列二维图形变换矩阵:T =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-100001010,产生变换的结果为 D 。
A 沿X 坐标轴平移1个单位,同时沿Y 坐标轴平移-1个单位 B 绕原点逆时针旋转90度C 沿X 坐标轴平移-1个单位,同时沿Y 坐标轴平移1个单位D 绕原点顺时针旋转90度2、下面哪个OpenGL 函数的调用会改变材质的漫反射光系数 B 。
A glMaterialfv(GL_FRONT, GL_AMBIENT, amb)B glMaterialfv(GL_FRONT, GL_DIFFUSE, dif)C glLightfv(GL_FRONT, GL_AMBIENT, amb)D glLightfv(GL_FRONT, GL_DIFFUSE, dif)3、下面那种特性是B 样条曲线不具有的 C 。
A 对称性B 凸包性C 通过特征多边形的起点和终点D 局部性4、下面几种连续变换,试问哪一种变换矩阵不能互换 D 。
A 两个连续的旋转变换 B 两个连续的平移变换 C 两个连续的比例变换 D 平移变换与旋转变换5、下列有关投影的叙述语句中,不正确的论述为 A 。
A 透视投影与平行投影相比,能真实的反映物体的精确的尺寸和形状B 平行投影的投影中心到投影面距离是无限的C 透视投影的灭点可以有多个D 与斜等测投影面垂直的任何直线段,其投影长度不变6、下面对于Bezier曲线端点的描述是最准确的 C 。
A 曲线过多边形的端点P1和PnB 曲线与多边形的端点直线P1P2和P n P n-1相切C 曲线过多边形的端点P1和Pn并与端点直线P1P2和P n P n-1相切D 曲线无约束,仅与控制点有关。
7、下面那种方法不会减少图形走样现象 A 。
A 增加画线宽度B 提高屏幕分辨率C 使用区域采样算法D 使用加权区域采样8、图形学引入齐次变换矩阵的意义是 B 。
A 便于矩阵运算B提高图形变换速度C 便于进行投影变换D 有利于将二维图形变换为三维图形9、连续的三次参数样条曲线是由一系列的Hermite曲线段连接起来的,指出是依据下面哪个条件建立构成的 C 。
A C(0)B C(1)C C(2)D 两Hermite曲线段端点值相等10、下面关于Bresenham圆弧生成算法描述正确的是 A 。
A Bresenham不必做四舍五入运算B Bresenham算法速度快但效果没有DDA方法好C Bresenham算法需要做除法D Bresenham算法只能绘制八分之一圆弧三、问答题(共30分)1、试写出实现下面图形的组合变换矩阵。
其中A(X a,Y a),矩形的宽度为W,矩形的高度为H,旋转角度为α。
(10分)评分标准:每写出一步得2.5分(1) 用平移矩阵T 1将坐标原点平移到(Xa ,Ya )处; (2) 用旋转矩阵T 2旋转α角度;(3) 用平移矩阵T 3将坐标原点移回到(0,0); (4) 组合变换矩阵T = T 1*T 2*T 3⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1010011aaY X T ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=100cos sin 0sin cos 2ααααT ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=10100013aaY X T2、 已知空间轴AB ,A 点坐标为(0,0,0), B 点的坐标(2,1,1)请写出关于AB 旋转θ角度的组合旋转矩阵,及简要过程。
(10分) 评分标准:(1)(2)(3)(6)各2分,(4)(5)各1分(1) 用关于X 轴旋转的变换矩阵T1将AB 旋转到ZOX 平面; (2) 用关于Y 轴旋转的变换矩阵T2将AB 旋转到X 轴; (3) 用关于X 轴旋转的变换矩阵T3旋转θ角度; (4) 用关于Y 轴反旋转的变换矩阵T4进行反旋转;(5) 用关于X 轴反旋转的变换矩阵T5将AB 反旋转到初始位置; (6) 组合变换矩阵T = T 1*T 2*T 3*T 4*T 5⎪⎪⎪⎪⎪⎭⎫⎝⎛-=100002/12/1002/12/1000011T ,⎪⎪⎪⎪⎪⎭⎫⎝⎛-=100003/103/8001003/803/12T ⎪⎪⎪⎪⎪⎭⎫⎝⎛-=10000cos sin 00sin cos 000013θθθθT ,⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=100002/12/1002/12/1000014T ,B C x⎪⎪⎪⎪⎪⎭⎫⎝⎛-=100003/103/8001003/803/15T3、已知多边形顶点坐标:P0(2, 5)、P1(1, 3)、P2(2, 1)、P3(6, 3)、P4(4, 6)要求写出利用扫描线算法填充时的: (1) 多边形边表桶结构(2) 扫描线Y=2时的有效边表 (10分)评分标准:(1)题6分,其中总体结构1分,每个表项1分 (2)题4分,其中总体结构2分,每个表项1分四、编程题(共20分)1、试编写函数lineClip(int &x0, int &y0, int &x1, int &y1, int xl, int yb, int xr, int yt);实现直线的编码裁剪。
其中x0, y0, x1, y1为直线端点处坐标,xl, yb, xr, yt定义了裁剪窗口。
(10分)评分标准:写出直线端点编码子函数得4分,写出编码裁剪算法得6分// 计算端点编码char clipCode(int x, int y, int xl, int yb, int xr, int yt){char code = 0;if(y > yt) code |= 0x01;else if(y < yb) code |= 0x02;if(x > xr) code |= 0x04;else if(x < xl) code |= 0x08;return code;}// 交换函数template class<T>void swap(T &a, T &b){T t = a;a = b;b = t;}// 编码裁剪bool lineClip (int &x0, int &y0, int &x1, int &y1,int xl, int yb, int xr, int yt){char c0, c1;int x, y;while(true){c0 = clipCode(x0, y0, xl, yb, xr, yt);c1 = clipCode(x1, y1, xl, yb, xr, yt);if((c0 & c1) != 0) return false;if(c0 == 0 && c1 == 0) return true;if(c0 == 0){swap(x0, x1);swap(y0, y1);swap(c0, c1);}if(c0 & 0x01) // 在Yt之上{x = x0+(yt-y0)*(x1-x0)/(y1-y0);y = yt;}else if(c0 & 0x02) // 在Yb之下{x = x0+(yb-y0)*(x1-x0)/(y1-y0);y = yb;}else if(c0 & 0x04) // 在Xr之右{y = y0+(xr-x0)*(y1-y0)/(x1-x0);x = xr;}else if(c0 & 0x08) // 在Xl之左{y = y0+(xl-x0)*(y1-y0)/(x1-x0);x = xl;}x0 = x; y0 = y;}}2、试编写程序函数drawBSpline(Point *pts, int n);实现三次B样条曲线绘制,其中pts为控制点数组,n为控制点个数,顶点结构体定义如下:typedef struct _Point {int x, y;}Point;另设直线绘制函数为drawLine(int x0, int y0, int x1, int y1);(10分)评分标准:写出三次B样条计算函数5分,写出曲线绘制函数5分,由于代码较多对编程中出现的语法错误可以酌情扣分。
// 三次B样条计算函数Point bSpline(int i0, Point *pts, double t){Point pt;double b0 = ( -t * t * t + 3 * t * t - 3 * t + 1) / 6;double b1 = (3 * t * t * t - 6 * t * t + 4) / 6;double b2 = ( -3 * t * t * t + 3 * t * t + 3 * t + 1) / 6;double b3 = (t * t * t) / 6;pt.x = b0*pts[i0].x + b1*pts[i0+1].x + b2*pts[i0+2].x + b3*pts[i0+3].x;pt.y = b0*pts[i0].y + b1*pts[i0+1].y + b2*pts[i0+2].y + b3*pts[i0+3].y;return pt;}// 绘制三次B样条曲线void drawBSpline(Point *pts, int n){int x0, y0;double t, dt;GPoint2d pt;dt = 0.05;for(int i=0; i<n-3; i++){pt = bSpline(i, pts, 0);x0 = pt.x(); y0 = pt.y();for(t=dt; t<=1; t+=dt){pt = bSpline(i, pts, t);drawLine(x0, y0, pt.x, pt.y); x0 = pt.x;y0 = pt.y;}pt = bSpline(i, pts, 1);drawLine(x0, y0, pt.x, pt.y);}。