四、问答题
1. 生成直线的四点要求是什么?
2. 什么是计算机图形学?计算机图形学所涉及的算法有哪些? 3. 简述计算机图形学、数字图像处理与三维动画技术之间的关系。 4. 裁剪的实质是什么? 5. 什么叫投影变换?
6. 说明交互命令中增、删、改操作
7. 写出二维几何变换的变换矩阵,各功能子矩阵及作用是什么? 8. 什么叫图形扫描转换?
9. 什么叫齐次坐标?引入齐次坐标的优越性是什么?
10. 简述多边形连贯性原理中的区域连贯性、扫描线的连贯性以及边的连贯性。 11. 多边形的顶点和点阵表示各有什么优缺点?
12. 三维变换中对图形进行二次旋转,先绕X轴然后绕Y轴旋转,请写出这个变换的
矩阵。另外,请考虑旋转的先后顺序对结果有影响吗?为什么? 13. 什么是多边形的扫描转换? 14. 常用的人机交互技术有哪些?
15. 简述四连通区域和八连通区域的概念以及两者之间的关系。 16. 描述Cohen-SutherLand裁剪算法的基本原理,并以图形示意。
17. 写出你所知道的几种多边形填充算法,并简单叙述每一种算法的基本原理。 18. 在多边形的扫描线算法中,是如何处理奇点的?
19. 简述边缘填充算法和边界标志算法的基本思想、步骤。
20. 简述多边形连贯性原理中的区域连贯性、扫描线的连贯性以及边的连贯性。 21. 什么是计算机图形学?它与图像处理之间有何区别和联系? 22. 在多边形的扫描线算法中,是如何处理奇点的? 23. 简述扫描线多边形填充算法的基本思想。
24. 简述三种线段裁剪算法,从速度上做比较并指明速度快慢的原因。
25. 绕多边形的边界,计算相邻边界向量的叉乘可识别出该多边形是凸还是凹多边形。
如果叉乘结果全部为正则为凹多边形;若有正有负,则为凸多边形。 26. 1.实体采用八叉树表示法有哪些缺点?
27. 2.对于平行投影,三维编码裁剪法如何对线段的端点进行编码? 28. 3.深度缓存(Z-buffer)消隐算法包括哪些步骤? 29. 4.多边形填充扫描线算法包括哪些计算步骤? 30.
五、计算题
1. 2. 3.
请推导出用Bresenham算法逆时针方向生成第一区域圆弧的计算公式 推导出适合任何情况下的逐点比较法算法。
已知三角形ABC各顶点的坐标A(3,2)、B(5,5)、C(4,5),相对直线P1P2(线段的坐标
分别为:P1 (-3,-2) 、P2 (8,3) )做对称变换后到达A’、B’、C’。
试计算A’、B’、C’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)
4. 5. 6. 7.
请推导出用逐点比较法顺时针方向生成第一象限圆弧的计算公式 请推导出用Bresenham算法逆时针方向生成第一区域圆弧的计算公式 推导出适合任何情况下的逐点比较法算法。
如图4-1所示三角形ABC,将其关于A点逆时针旋转900,写出其变换矩阵和变换
后图形各点的规范化齐次坐标。(10分)
yA(2,5)C(6,3)B(1,1)Ox
图4-1
8.
如图4-1所示多边形,若采用ET边表算法进行填充,试写出该多边形的ET表和
当扫描线Y=3时的有效边表(AET表)。(12分)
yE(2,5)F(1,4)3D(4,3)A(2,1)B(6,1)xC(6,5)
图4-1
9.
yB(2,3)2用Liang-Barsky算法裁剪如图4-2所示线段AB。(12分)
o2A(-1,-1)x
图4-2
10. 求将图4-3中的空间四面体关于E点整体放大两倍,写出变换矩阵以及变换后图形各点的规范化齐次坐标。(10分)
zE(2,2,2)A(0,0,0)yD(0,2,0)xB(2,0,0)图4-3
C(2,2,0)
11. 试根据给出的多边形及点P,利用标号法(改进的转角法)确定点P与多边形区域的关系,已知每条边AB的标号ΔαAB的计算公式为:
A ??AB???B????A????B????A??4??????B????A??4????AC???CB?1???B????A??1D
??B????A??2??B????A???2??B????A???2B P
C
12. 图中ABCD为矩形窗口,P1P1为待裁剪线段。
试用中点分割法求出P1的最远可见点,当线段长度≤0.5时算法结束。
已知:窗口及线段的坐标分别为A(-7,1)、B(-2,1)、C(-2,5)、D(-7,5)、P1(-9,0)、P2(0,6)。 13. 设窗口左下角点坐标为(XW1,YW1),宽为LW,高为HW,视区左下角点坐标为(XV1,YV1),宽为LV,高为HV,已知窗口中有一点A(XA,YA),在视区中对应的坐标为A’(X’A,Y’A)。试计算A’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算
A 30o (XW1,YW1)
(XV1,YV1)
式子,不要求计算结果)
14. 已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线P1P2(线段的坐标分别为:P1 (-1,-1) 、P2 (8,3) )做对称变换后到达A’、B’、C’。
试计算A’、B’、C’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果)
15. 试根据给出的多边形及点P,利用标号法(改进的转角法)确定点P与多边形区域的关系,已知每条边AB的标号ΔαAB的计算公式为:
??AB???B????A?????B????A??4?????B????A??4???AC???CB??1???B????A??1??B????A??2??B????A???2
??B????A???2 A P B
16. 已知一直线段起点(0,0),终点(-8,6),利用Bresenham算法生成此直线段,写出生成过程中坐标点及误差ε的变化情况。并在下面的方格中,标出直线上各点
D C F
E (0,0)
17. 图示为一边界点表示的区域(见左图,\为种子象素),根据简单种子填充算法按左、上、右、下入栈顺序在右图中以数字标出各象素点填充的顺序。
18. 已知一直线段起点(0,0),终点(-8,6),利用Bresenham算法生成此直线段,写出生成过程中坐标点及误差ε的变化情况。并在下面的方格中,标出直线上各点。
(0,0)
19. 图中ABCD为矩形窗口,P1P2为待裁剪线段。试用中点分割法求出P1的最远可见点,当线段长度≤0.5时算法结束。
已知窗口及线段的坐标分别为A(0,0)、B(0,6)、C(10,6)、D(10,0),P1(-1,10)、P2(11,0)。
P1 P2
20. 利用DDA算法,绘制这样一条直线:两端点分别为P0(0,0)、P1(5,2),写出生成过程中的坐标点。