计算机图形学+机械工业出版社+徐长青+答案
- 格式:doc
- 大小:391.00 KB
- 文档页数:18
一、判断题(10x1=10分)1、构成图形的要素可分为两类:刻画形状的点、线、面、体的非几何要素与反映物体表面属性或材质的明暗、色彩等的几何要素。
(错误)2、参数法描述的图形叫图形;点阵法描述的图形叫图像。
(正确)3、EGA/VGA 为增强图形显示效果的一种图形处理软件的名称。
(错误)4、对山、水等不规则对象进行造型时,大多采用过程式模拟方法。
(正确)5、若两个图形是拓扑等价的,则一个图形可通过做弹性运动与另一个图形相重合。
(正确)6、0 阶参数连续性和 0 阶几何连续性的定义是相同的。
(正确)7、Bezier 曲线可做局部调整。
(错误)8、字符的图形表示分为点阵和矢量两种形式。
(正确)9、LCD 表示发光二极管显示器。
(错误)10、使用齐次坐标可以将n 维空间的一个点向量唯一的映射到n+1 维空间中。
(错误)二、填空题(15x2=30分)1、目前常用的PC图形显示子系统主要由 3 个部件组成:( 1)帧缓冲存储器、( 2)显示控制器、( 3) ROM BIOS。
2、图形的输入设备有(4)键盘、鼠标、光笔(至少写三种);图形的显示设备有(5) CRT 显示器、 LCD 、投影仪(至少写三种)。
3、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。
4、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。
5、一个交互式计算机图形系统应具有(11)计算、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。
三、简答题(5x6=30分)1、请列举常用的直线段裁减算法(四种)。
答:答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck算法。
2、考虑三个不同的光栅系统,分辨率依次为640 480 , 1280 1024, 25602048 。
5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。
解:原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别。
∵斜率k 在[-1,0]之间∴x 为最大位移方向,每次在x 加1,而y 或减1或减0。
设直线段的方程F(x,y)=y-kx-b ,假设当前点是P(x i ,y i ),则下一点在P u (x i +1,y i )与P d (x i +1,y i -1)中选一。
设M 为P u 和P d 的中点,则M 点的坐标为(x i +1,y i -0.5)。
构造误差判别式:d i =F(x M ,y M )=F(x i +1,y i -0.5)=y i -0.5-k(x i +1)-b若d i ≥0,取P d (x i +1,y i -1);若d i <0,取P u (x i +1,y i );即有x i+1=x i +1,y i+1=y i -1(d i ≥0)或y i (d i <0)。
误差函数的递推:d i ≥0时,取P d (x i +1,y i -1),再判断下一像素取哪个时,应计算d i+1=F(x i +2,y i -1.5)= y i -1.5-k(x i +2)-b=d i -1-k ,增量为-1-k 。
d i <0时,取P u (x i +1,y i ),再判断下一像素取哪个时,应计算(x 0,yd i+1=F(x i+2,y i-0.5)= y i-0.5-k(x i+2)-b=d i-k,增量为-k。
判别式的初值:从(x0,y0)点出发,下一个像素的选取计算d0=F(x0+1,y0-0.5)= y0-0.5-k(x0+1)-b=-0.5-k取的是误差判别式的符号,因此可进行如下变换:D=d*2∆x∆x=x1-x0,根据选取的起点和绘制方向,∆x>0,因此,D与d同号。
习题解答第2章2.如果线段端点坐标值不是整数,采用DDA 算法产生的直线和将端点坐标值先取整再用Bresenham 算法产生的直线是否完全相同?为什么?能否扩充整数Bresenham 算法使之能处理当线段端点坐标值不是整数的情况(比端点坐标先取整数产生的直线更精确)。
如果线段端点坐标值不是整数,DDA 算法和Bresenham 算法产生的直线不完全相同。
DDA 算法是在直线附近寻找最靠近直线的象素点。
而端点坐标值先取整再用Bresenham 算法,因为端点坐标值先取整,与原直线相比,可能会改变直线的斜率。
因此两种算法相比,前者比后者更精确。
可以将整数Bresenham 算法扩充为实数Bresenham 算法。
算法中的变量都应采用实数类型,在绘制时再对实数坐标值取整数,这样做比端点坐标先取整数产生的直线更精确,具体算法如下:}9.多边形扫描转换的活跃边表算法如何处理给出顶点序列连成多边形时各边有相交的情况?如何处理多边形内部又有多边形空洞的情况?请举例说明。
当各边有相交的情况,在进行完1x x m←+步骤之后,可能破坏了AET 表中各项x 坐标的递增次序,故应按x 坐标递增重新排序,正常填充。
当多边形内部又有多边形空洞的情况,依据区域的奇偶性质,以及局部极大局部极小的特点,正常填充。
10.设五边形的五个顶点是(10.5,10.5),(15,5),(12,5),(8,2.5),(4,5.5),要利用使用活跃边表的扫描转换算法进行填充,写出应填写的ET 表,写出活跃边表的变化情况。
自相交多边形带有空洞的多边形e 1e 5e 2e 3e 463 24 5 6 7 8 9 ET :Y 吊桶表AET 指针 ∧初始化扫描线10 扫描线3e e 扫描线4 扫描线5扫描线6扫描线7扫描线8扫描线9扫描线11∧扫描线12第3章1.平面图形可以对两个坐标轴或原点做反射,这称为对称变换。
平面内任意点),(y x 对x 轴反射变到),(y x -,对原点反射变到),(y x --,写出实现上述三种变换的变换矩阵,并说明这三种反射变换是否可以看作是比例变换或者旋转变换。
习题2答案习题2. 写出完成如下平面图形变换的变换矩阵;(1) 保持点(5,10)固定,x 方向放大3倍,y 方向放大2倍。
(2) 绕坐标原点顺时针旋转︒90。
(3) 对直线x y =成轴对称。
(4) 对直线x y -=成轴对称。
(5) 沿与水平方向成θ角的方向扩大1S 倍,沿与水平方向成θ+︒90角的方向扩大2S 倍。
(6) 对于平面上任意一点),(00y x 成为中心对称。
(7) 对平面上任意一条方程为0=++C By Ax 的直线成轴对称。
解答:(1)变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⋅⋅--11010020003)10,5()2,3()10,5(T S T(2) 变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡︒-︒--︒-︒-=︒-1000010101000)90cos()90sin(0)90sin()90cos()90(R(3) 变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒-⋅-⋅︒10000101010002222022221000100011000222202222)45()1,1()45(R S R(4) 变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒-⋅-⋅︒10000101010002222022221000100011000222202222)45()1,1()45(R S R(5) 变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⋅+⋅⋅⋅-⋅⋅-⋅+⋅=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=⋅⋅-1000cos sin sin cos )(0sin cos )(sin cos 1000)cos()sin(0)sin()cos(10000001000)cos()sin(0)sin()cos()(),()(2221212122212121θθθθθθθθθθθθθθθθθθS S S S S S S S S S R S S S R(6) 变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⋅--⋅--1220100011010001100010001101001),()1,1(),(0000000y x y x y x y x T S y x T(7) 变换矩阵如下:对平面上任意一条方程为0=++C By Ax 的直线成轴对称 当0A ≠时,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+-+-+-+-+-+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡++-++⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=-⋅--⋅-⋅-⋅122020210010001100001000100011000010010001)0,())(()1,1())(()0,(22222222222222222222222222222222B A BC B A AC B A B A B A AB B A ABB A A B AC B A A BA B B A B B A A B A A B A B B A B B A A A C AC T A B arctg R S A B arctg R A C T或者当0≠B 时,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+-+-+-+-+-+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡+++-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡++-++⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=-⋅-⋅-⋅--⋅122020210010001100001000100011000010010001),0())(()1,1())((),0(22222222222222222222222222222222B A BCB A AC B A B A B A AB B A ABB A A B BC B A B B A A B A A B A B B A B B A A B A A B A B B C BC T B A arctg R S B A arctg R B C T习题5. 举例说明由平移、比例或旋转构成的组合变换一般不能交换变换的次序,说明什么情况下可以交换次序。
计算机图形总复习题型及分值一、将英文词语翻译成对应的中文(5*1=5%)二、单项选择题(10*2=20%)三、填空题(15%)四、判断题(10*1=10%)五、简答题(4*5=20%)六、综合题(3*10=30%)一、写出以下各词语对应的中文Computer Graphics:计算机图形学GKS(Graphics Kernel System):图形核心系统Virtual Reality:虚拟现实Graphics Processing System:图形处理系统CRT(Cathode Ray Tube):阴极射线管Digital Differential Analyzer: 数值微分法Translation Transform :平移变换Scale Transform:比例变换Rotation Transform:旋转变换Homogeneous Coordinates :齐次坐标Symmetry Transform:对称变换shear Transform:错切变换Spline Curve :样条曲线Hidden-line :线消隐Hidden-surface :面消隐Illumunation Model:光照模型Solid Modeling:实体造型实体建模Edge Fill Algorithm:填充算法Antialiasing:反走样二、单项选择题1、在下列叙述语句中,正确的为(D)A、一个计算机图形系统至少应具有计算、存储、输入、输出四个方面的基本功能 (交互)B、在图形系统中,图形处理速度取决于CPU的性能C、在图形系统中,存储容量指的是计算机的内存D、在图形系统中,图形处理精度主要是指图形采集输入质量和显示输出质量2、如果一幅512×512像素的图像,每一像素用4位表示,那么存储此图像至少需要的容量为(B )A、512KBB、128KBC、2MBD、3MB(提示:512×512*4/8/1024=128KB)3、如果一个长方形使用右边二维图形变换矩阵:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1555T,将产生变换的结果为( A )A、图形放大5倍;同时沿X坐标轴方向移动5个绘图单位B、图形放大25倍,同时沿X坐标轴方向移动5个绘图单位C、图形放大5倍,同时沿Y坐标轴方向移动5个绘图单位D、图形放大25倍,同时沿Y坐标轴方向移动5个绘图单位4、下列有关Bezier曲线性质的叙述语句中,错误的为( B )A、 Bezier曲线可用其特征多边形来定义B、 Bezier曲线必须通过其特征多边形的各个顶点C、Bezier曲线两端点处的切线方向必须与其特征多边形的相应两端线段走向一致D、Bezier曲线具有凸包性5、下列有关二维几何变换的叙述语句中,正确的为(C )A、几何变换就是把一个图形从一个位置移到别的位置B、几何变换后图形连线次序发生改变C、一个正方体经几何变换后可能会变成长方体D、几何变换使图形都产生了变形6、下列关于B样条的叙述正确的是( D )A、B样条曲线不具有凸包性B、给定n个型值点的三次B样条曲线可由n-2段三次B样条曲线段组成(n+1)C、B样条曲线通过每一个给定的型值点D、二次B样条曲线的起点落在其B特征多边形的第一条边的中点p1537、使用二维图形变换矩阵:T =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-111如果图形的一个顶点坐标为A(6,8),则变换后的坐标A’为 (A )(8,-6,1)A、(8,-6);B、(-6,8);C、(-8,6);D、(6,-8)。
一、填空题(每空0.5分,共 1 0 分)1、 计算机图形学中的图形是指由点、线、面、体等 和明暗、灰度(亮度)、色彩等 构成的,从现实世界中抽象出来的带有灰度、色彩及形状的图或形。
2、 一个计算机图形系统至少应具有 、 、输入、输出、 等基本功能。
3、 常用的字符描述方法有:点阵式、 和 。
4、 字符串剪裁的策略包括 、 和笔划/像素精确度 。
5、 所谓齐次坐标就是用 维向量表示一个n 维向量。
6、 投影变换的要素有:投影对象、 、 、投影线和投影。
7、 输入设备在逻辑上分成定位设备、描画设备、定值设备、 、拾取设备和 。
8、 人机交互是指用户与计算机系统之间的通信,它是人与计算机之间各种符号和动作的 。
9、 按照光的方向不同,光源分类为: , , 。
10、从视觉的角度看,颜色包含3个要素:即 、 和亮度。
二、单项选择题(每题 2分,共 30分。
请将正确答案的序号填在题后的括号内)1、在CRT 显示器系统中,( )是控制电子束在屏幕上的运动轨迹。
A. 阴极B. 加速系统C. 聚焦系统D. 偏转系统 2、分辨率为1024×1024的显示器需要多少字节位平面数为16的帧缓存?( )A. 512KBB. 1MBC. 2MBD. 3MB3、计算机图形显示器一般使用什么颜色模型?( )A. RGBB. CMYC. HSVD. HLS4、下面哪个不属于图形输入设备?( )A. 键盘B. 绘图仪C. 光笔D. 数据手套 5、多边形填充算法中,错误的描述是( )。
A. 扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大B. 边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象素取补C. 边填充算法较适合于帧缓冲存储器的图形系统D. 边标志算法也不能解决象素被重复访问的缺点6、 在扫描线填色算法中,扫描线与顶点相交时,对于交点的取舍问题,下述说法正确的是( )。
A. 当共享顶点的两条边分别落在扫描线的两边时,交点只算2个B. 当共享交点的两条边在扫描线的同一边时,若该点是局部最高点取1个C. 当共享交点的两条边在扫描线的同一边时,若该点是局部最低点取2个D. 当共享顶点的两条边分别落在扫描线的两边时,交点只算0个7、在多边形的逐边裁剪法中,对于某条多边形的边(当前处理的顶点为P ,先前已处理的多边形顶点为S)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点。
《计算机图形学》练习试题及参考答案三、简答题(每题10分):1、 简述随机扫描显示器、存储管式显示器和光栅扫描式图形显示器的工作特点。
答:随机扫描显示器中电子束的定位和偏转具有随机性,即电子束的扫描轨迹随显示内容而变化,只在需要的地方扫描,而不必全屏扫描。
存储管式显示器从表面上看极象一个有长余辉的荧光屏,一条线一旦画在屏幕上,在很长时间之内都将是可见的,常用于显示大量而复杂稳定的图形。
在光栅扫描式图形显示器中,电子束横向扫描屏幕,一次一行,从顶到底顺次进行。
当电子束横向沿每一行移动时,电子束的强度不断变化来建立亮点的图案2、 简述区域连贯性、扫描线的连贯性以及边的连贯性。
答:区域连贯性:对于一个多边形及两条扫描线,会有如下情况:两条扫描线之间的长形区域被多边形的边分割成若干个梯形,位于多边形内部和外部的梯形相间排列。
扫描线的连贯性:多边形与扫描线相交,其交点数为偶数,相邻两交点间的线段有些位于多边形内,有些位于多边形外,且两者间隔排列。
边的连贯性:相邻两条扫描线与多边形的的同一条边相交,其交点可按递增一个常量来计算,如:x2=x1+1,则y2=y1+1/k (k 为该多边形边的斜率)。
3、 写出二次曲线的一般参数方程,并讨论何时是抛物线、双曲线、椭圆。
答:二次曲线的一般参数方程为:[]1,0)(22122101∈=++++t t r t e t e t a t a a , 当e1=0,e2=0时为抛物线;当e1=0,e2=1时为椭圆;当e1=1,e2=0时为双曲线。
4、 试述多项式拟合中最小二乘法的基本原理。
答:多项式拟合是给定一组数据点(x i,,y i )(i=0,1,…,n ),构造一个多项式函数y=f(x)去逼近这些数据点,并使得偏差平方和最小。
20100101(,,,)[()](,,,)。
()()m n n i i i i n m a a a f x y a a a f x a a x a x m n δ=⎧Φ•••=-⎪Φ•••⎨⎪=++•••+≤⎩∑使得取得最小值 加权系数i δ一般取1。
1.计算机图形学的定义答:计算机图形学是研究在计算机中输入、表示、处理和显示图形的原理、方法及硬件设备的学科。
几何计算专门研究几何图形信息(曲面和三维实体)的计算机表示、分析、修改和综合2.图形本质上是有线形、宽度、颜色等属性信息的图形元素的组合。
因此,抽象的图形的本质可以概括为:图形=图元+属性。
几何计算是计算机图形学的基础。
图形学表示、生成和处理是建模-变换-像素点的几何位置决定的过程,属于几何或者3D问题;显示应该是对客观世界的机内表示的再现,是决定屏幕点的显示属性(可见性和颜色:色调、色饱和度、亮度)属于图像或者2D问题。
计算机图形学所研究的图形是从客观世界物体中抽象出来的带有颜色及其形状信息的图和形3.计算机图形学主要研究两个问题:一是如何在计算机中构造一个客观世界——几何(模型)的描述、创建和处理,以“几何”一词统一表述之;二是如何将计算机中的虚拟世界用最形象的方式静态或者动态的展示出来——几何的视觉再现,以“绘制”一词统一描述之。
因此可以说:计算机图形学=几何+绘制。
几何是表示,是输入。
绘制是展现,是输出。
4.计算机图形学、图像处理、计算几何之间的关系。
答:计算机图形学的主要目的是由数学模型生成的真实感图形,其结果本身就是数字图像;而图像处理的一个主要目的是由数字图像建立数字模型,这说明了图形学和图像处理之间相互密切的关系。
计算机几何定义为形状信息的计算机表示、分析与综合。
随着计算机图形学及其应用的不断发展,计算机图形学、图像处理和计算几何等与图相关的学科越来越融合,且与应用领域的学科相结合,产生了诸如可视化、仿真和虚拟现实等新兴学科。
5.一个三维场景视觉实现的基本工作过程根据假定的光照条件和景物外观因素,依据该光照模型,模拟光能在场景中的传播和分布(包括光线在不同物体间的吸收、反射、折射和散射等过程),计算得到画面上每一点的光强和色彩值后,根据视觉特点转换成适合于显示设备的颜色值,得到画面上每一个像素的属性。
计算机图形学 1 计算机图形学作业答案 第一章 序论
第二章 图形系统 1. 什么是图像的分辨率? 解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2. 计算在240像素/英寸下640×480图像的大小。 解答:(640/240)×(480/240)或者(8/3)×2英寸。
3. 计算有512×512像素的2×2英寸图像的分辨率。 解答:512/2或256像素/英寸。
第三章 二维图形生成技术 1. 一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。 解答:由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(y=mx+b)的过程。首先寻找斜率: m = ⊿y/⊿x = (y2-y1)/(x2-x1) = (18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。因此b=0,所以直线方程为y=3x。
2. 使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么? 解答: (1) 计算dx:dx=x2-x1。 (2) 计算dy:dy=y2-y1。 (3) 计算m:m=dy/dx。 (4) 计算b: b=y1-m×x1 (5) 设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx < 0,则x=x2、y=y2和xend=x1。如果dx > 0,那么x=x1、y=y1
和xend=x2。
(6) 测试整条线是否已经画完,如果x > xend就停止。 (7) 在当前的(x,y)坐标画一个点。 (8) 增加x:x=x+1。 (9) 根据方程y=mx+b计算下一个y值。 (10) 转到步骤(6)。
3. 请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。 计算机图形学 2 解答: 假设线段的两个端点为(x1,y1)和(x2,y2),且y1 int x = x1, y = y1; float xf, m = (y2-y1)/(x2-x1), b = y1 - mx1; setPixel( x, y ); /*画一个像素点*/ while( y < y2 ) { y++; xf = ( y-b)/m; x = Floor( xf +0.5 ); setPixel( x, y ); }
4. 请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m| ≤1)之间的直线所需的步骤。 解答: 假设线段的两个端点(x1, y1)和(x2,y2),且x1 int x = x1, y; float yf = y1, m = ( y2 – y1) / ( x2-x1); while( x < = x2 ) { y = Floor( yf + 0.5 ); setPixel( x, y ); x++; yf = yf + m; }
5. 使用Bresenham算法画斜率介于0°和45°之间的直线所需的步骤。 解答: (1) 计算初始值: dx = x2-x1 Inc2 = 2(dy-dx) dy = y2-y1 d = Inc1 - dx Inc1 = 2dy (2) 设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx < 0,则x=x2,y=y2和xend=x1。如果dx > 0, 那么x=x1、y=y1
和xend=x2。
(3) 在当前的(x,y)坐标画一个点。 (4) 判断整条线段是否已经画完,如果x=xend就停止。 (5) 计算下一像素的位置。如果d<0,那么d=d+Inc1。如果d≥0,那么d=d + Inc2,并且y=y+1。 (6) 增加x:x=x+1。 (7) 在当前的(x,y)坐标画一个点。 (8) 转到步骤(4)。
6. 请指出用Bresenham算法扫描转换从像素点(1,1)到(8,5)的线段时的像素位置。 计算机图形学 3 解答: 首先必须找到初始值。在这个例子中, dx = x2-x1 = 8-1 = 7 dy = y2-y1 = 5-1 = 4 因此, Inc1= 2dy = 2×4 = 8 Inc1=2(dy-dx)= 2×(4-7)=-6 d=Inc1-dx=8-7=1
7. 使用Bresenham算法扫描转换圆的步骤是什么? 解答: (1) 设置初始变量:(h,k)=圆心坐标;x=0;y=圆的半径r;d=3-2r。 (2) 测试整个圆是否已经扫描转换完。如果x>y就停止。 (3) 以中心(h,k)为对称点,对当前的(x,y)坐标画8个圆上的点: plot( x + h, y + k ) plot( -x + h, -y + k ) plot( y+ h, x +k ) plot( -y + h, -x + k ) plot( -y + h, x + k ) plot( y + h, -x + k ) plot( -x + h, y + k ) plot( x + h, -y + k ) 其中plot(a,b)表示以给定的参数为中心画一个小块。 (4) 计算下一个像素的位置。如果d < 0,那么d=d+4x+6和x=x+1。如果d≥0,那么d=d+4(x-y)+10、x=x+1和y=y-1。 (5) 转到步骤(2)。 8. 给定数据点P0(0,0),P1(1,2)P2(2,1)P3(3,-1)P4(4,10)P5(5,5),用三次B样条插值法插值这些数据点,求出曲线,并找出定义三次B样条的节点集t0,……,t9。 解答: m=3, n=5,选择节点集可以有两种方案: (1) 选择:
)(103210xtttt, )(69876nxtttt 其余的节点按以下方式选择:
1,......,0,...11mnimxxtmiimi
故: 23321t, 33432t (2) 三次样条的另一种方案是: 13210tttt, 69876tttt 其余节点按以下方式选择:
24iixt,I=0,……,n-4 故: t4=2, t5=3 计算机图形学 4 两种方法选择节点集,其根据是数据点沿x轴为等间距。 第四章 图形的裁剪及几何变换 1. 写出实现下述映射的规范化变换,将左下角在(1,1),右上角在(3,5)的窗口
映射到(a)规范化设备的全屏幕视区;(b)左下角在(0,0),右上角在21,21的视区。 解答:
(a) 窗口参数是5,1,3,1maxminmaxminwywywxwx。视区参数是
1,0,1,0maxminmaxminvyvyvxvx。那么41,21yxss且
1004141021021N
(b) 窗口参数同(a)。视区参数是21,0,21,0minmaxmaxminwyvyvxvx。那么81,41yxss且
1008181041041N
2. 设R是左下角L(-3,1),右上角为R(2,6)的矩形窗口。请写出图中的线段端点的区域编码。【图5.6 P90】 解答: 点(x,y)的区域编码根据下面的模式设置。 比特1=sign(y-ymax)=sign(y-6) 比特3=sign(x-xmax)=sign(x-2) 比特2=sign(ymin-y)=sign(1-y) 比特4=sign(xmin-x)=sign(-3-x) 此处:
)0(,0)0(,1)(aa
asign
因此: A(-4,2)→0001 B(-1,7)→1000 C(-1,5)→0000 D(3,8)→1010 计算机图形学 5 E(-2,3)→0000 F(1,2)→0000 G(1,2)→0100 H(3,3)→0010 I(-4,7)→1001 J(-2,0)→1000
3. 求垂直线x和水平线y与21PP四边形平行坐标轴的矩形裁剪窗口的交点。写出线段(从),(111yxP到),(222yxP)与(a)垂直线x=a,(b)水平线y=b的交点。 解答: 线段的参数方程是:
)()(121121yytyyxxtxx
10t
(b) 因为ax,将它代入方程)()(121xxxat得到。然后把此值再代入方程,则交点是axI和 121211yyxxxayyI
(c) 因为by,将它代入方程)()(121yyybt得到。然后把此值再代入方程,则交点是byI和 121211xxyyyaxxI
4. 如何判断一个点P(x,y)是在由A(x1,y1)和B(x2,y2)所连接的线段的左边还是右边。 解答: 参见图所示。对于向量AB和AP,如果P点在AB的左边,根据两个向量叉乘的
Xmin=-3 Xmax=2 ymax=6 ymin=1 A(-4,2) F(1,2) E(-2,3) G(1,-2) H(3,3) C(-1,5) D(3,8) I(-4,2) J(-2,10) B(-1,7) x y