第三章作业
1. (6分)名词解释:扫描转换、增量算法、反走样。
扫描转换:基本图形的光栅化就是在像素点阵中确定最佳逼近与理想图形的像素点集,并用指定颜显示这些像素点集的过程。当光栅化与按扫描线顺序绘制图形的过程集合在一起时,也称为扫描转移。 增量算法:在一个迭代算法中,如果每一步X,Y值是用前一步的值加上一个增量来获得的,那么,这个算法就称为增量算法。
反走样:用于减轻走样的技术称为反走样或者称为抗锯齿。
2. (10分)计算起点坐标为(0,0),终点坐标(12,9)直线的中点Bresenham算法的每一步坐标值以及中点偏差判别式d的值,填入表3-1中,并用黑绘制图3-29中的直线段的扫描转换像素。
滚压头图3-29 像素点阵
x | y | d | x | y | d |
0 | 0 | -0.25 | 7 | 5 | -0.5 |
1 | 1 | 0 | 8 | 6 | -0.25 |
2 | 1 | -0.75 语言转换 | 9 | 6 | 0 |
3 | 2 | -0.5 | 10 | 7 | -0.75 |
4 | 3 | -0.25 | 11 | 8 | -0.5 |
5 | 3 | 0 | 12 | 9 | -0.25 |
6 | 4 | -0.75 | | | |
| | | | | |
表3-1 x,y和d的值
第四章作业
1. (10分)名词解释:四邻接点、八邻接点、四连通域、八连通域、种子填充算法。
四邻接点:对于多边形区域内部任意一个种子像素,其上、下、左、右这四个像素,称为四邻接点。 八邻接点:对于多边形区域内部任意一个种子像素,其上、下、左、右以及左上、左下、右上、右下这八个像素,称为八邻接点。
四连通域:对于多边形区域内部任意一个种子子素出发,通过访问其上、下、左、右这四个邻接点可以遍历区域内部的所有像素,该多边形区域称为四连通域。
八连通域:对于多边形区域内部任意一个种子子素出发,通过访问其上、下、左、右以及左上、左下、右上、右下这八个邻接点可以遍历区域内部的所有像素,该多边形区域称为八连通域。
种子填充算法:从区域内任意一个种子像素开始,由内向外将填充扩散到整个多边形区域的填充过程。
2. (10分)试写出图4-43所示多边形的边表和扫描线y=4的有效边表。
图4-43 多边形
解:ET表
胎儿标本
Y=4时的AET表
3. (10分)图中已知种子O,试根据简单四连通种子填充算法按左、上、右、下入栈的顺序给出象素点填充的次序。
第五章作业
1. (10分)名词解释:坐标变换、WCS、UCS、窗口、视区、窗视变换、裁剪、 坐标变更:是坐标系发生变换,但物体位置不发生改变,然后在新坐标系下表示所有物体上的顶点。 WCS:(word coordinate system)世界坐标系,描述现实世界中场景的固定坐标系。
UCS:(user coordinate system)用户坐标系,描述物体几何模型的坐标系。有时也称为局域坐标系(local coordinate system,LCS)。用户坐标系也是实数域坐标系、
窗口:在观察坐标系中定义的确定显示内容的矩形区域称为窗口。
视区:在屏幕坐标系中定义的输出图形的矩形区域称为视区。
窗视变换:图形输出需要进行窗口到视区的变换,只有在窗口内的图形才能在视区中输出,并且输出的形状要根据视区的大小进行调整,这称为窗视变换。
裁剪:在二维观察中,需要在观察坐标系下根据窗口大小对世界坐标系中的二维图形进行裁剪,只将位于窗口内的图形变换到视区输出。
2. (10分)如图5-51所示,求P0(4,1)、P1(7,3)、P2(7,7)、P3(1,4)构成的四边形
绕 Q(5,4)逆时针旋转45°的变换矩阵和变换后图形的顶点坐标。
图5-51 四边形旋转
解:变换的过程包括:
(1) 平移:将P点平移至原点,变换矩形为:
(2) 旋转:图形绕原点(P点)旋转45度,变换矩形为:
(3) 反平移:将P点移回原处,变换矩阵为:
变换矩阵为:
变换过程为:
氘气3. (14分)用编码裁剪算法裁剪线段P0(0,2),P1(3,3),裁剪窗口为wxl=1,wxr=6,wyb=1,wyt=5,如图5-54所示。要求写出:
(1)窗口边界划分的9个区间的编码原则。
(2)线段端点的编码。
(3)裁剪的主要步骤。
都市 (4)裁剪后窗口内直线段的端点坐标。
图5-54 直线段裁剪
解:1)首先对直线段的端点进行编码,即对直线段的任一端点(x,y),根据其坐标所在的区域,赋予一个四位的二进制码D3D2D1D0
若x<wxl,则D0=1,否则D0=0;
若x>wxr,则D1=1,否则D1=0;
若y<wyb,则D2=1,否则D2=0;
若y>wyt,则D3=1,否则D3=0.
2)线段端点的编码:code1=0001 code2=0000
3)裁剪的主要步骤:
(1)输入直线的两端点坐标:P0(0,2),P1(3,3),以及窗口的四边界坐标:wxl=1,wxr=6,wxb=1,wyt=5
(2)对p0,p1进行编码:点p0的编码为code1=0001,点p1的编码为code2=0000。
(3)若code1| code2=0,对直线应减取之,转(6);否则code1& code2≠0,对直线段可简弃之,转(7);当上述两条不满足时,进行步骤(4)
(4)确保p0在窗口外部:若p0在窗口内,则交换p0和p1的坐标值和编码。
(5)按左、右、下、上的顺序检查编码并要求出直线段与窗口边界的交点,用该交点的坐胡人半解弹琵琶
标值替换p0的坐标值。求线段p0(0,2)p1(3,3)和窗口左界wxl=1的交点,把wxl=1代入直线方程求出y=kx+b=(1/3)*x+2=2.3交点坐标S(1,2.3)替换端点坐标p0(0,2),使p0坐标为(1,2.3);也即为交点,假定为s,s处把线段一分为二,并去掉p0S这一段(考虑p0是窗口外的一点,因此可以去掉p0S)转(2)
(6)用直线扫描转换算法画出当前的p0p1
(7)算法结束
4)裁剪后窗口内直线段的端点坐标P0(1,2.3),P1(3,3)
第六章作业
1. (10分)名词解释:投影、主视图、下视图、左视图、灭点。
投影:投影就是从投影中心发出射线,经过三维物体上的每一点后,与投影面相交所形成的的交点集合。