计算机图形学习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机图形学部分习题答案
王飞
1.流水线的主要特点是每个基元可以单独处理,这样的结构不尽使性能更快,而且降低了内存需求,主要缺点是我们不能操控大多数全局效果,如阴影,反射
2.视帧缓存的深度而定,以帧缓存为深度为1为例,速度为
1024*1280*1*72b1每秒。隔行扫描,72变30.
3.每帧480*640像素的视频显示仅含有300K像素(普屏动画),而2000*3000像素的电影帧有6M像素,约多了18倍的显示时间,因此需要18倍的时间进行渲染。
4.略
5.分别在x方向和y方向上对这个问题进行解答。变换是线性的,也就是,Xs=ax+b,Ys=cy+d,映射的时候必须保证比例保持不变,即有
X−Xmin Xmax−Xmin =Xs−u
w
得到
Xs=u+w*X−Xmin
Xmax−Xmin
同理可得
Ys=v+h*X−Xmin
Ymax−Ymin
6.可以使用扫描线的方式,每一个扫描线对应于帧缓存中的一行像素,通过交点的方式判断点是否在多边形内部。按照一定的方向观察扫描线与多边形的交点,第一个交点是扫描线上接下来一系列在多边形内部的点的起点,第二个交点是离开多边形的起点,第三个交点又是进入的起点。依次进行,根据点在那两个交点之间即可判断是否在多边形内。按照一定方向移动扫描线,即可完成对所有点的判断。
7. 可以得知帧缓存的深度为6
8. 使用扫描线判断。每一条扫面线与凸多边形至多有两个交点,从一个方向朝另一个方向移动扫描线,扫描完毕,只要中途未出现两个人以上交点,则为凸多边形。
9. 定义笔画字体时,最主要的问题是如何描述具有弯曲笔画和孔的字符,比如字母“a ”和字母“q ”
10. 会出现很多潜在的问题,比如,应用程序会把对象坐标系中不同的点映射到屏幕坐标系的相同位置,第二,屏幕坐标系上的点转换回对象坐标系时,改点可能会落在用户窗口以外。
11. 使用游戏杆的游戏大多操作比较简单,共有两个三位置转换开关,则可产生九中不同组合的编码控制信息,进而控制游戏的进行。
12. 略
(1) 旋转和均匀缩放
假设缩放矩阵为
[S
00S 0000000
0S 001] 旋转矩阵为(绕Z 轴旋转)
[cosa
−sina sina cosa 000000001001] T1=[S 00S 00000000S 001]*[cosa −sina
sina cosa 000000001001]=[Scosa −Ssina Ssina Scosa 00000000S 001] T2=[cosa −sina sina cosa 000000001001]*[S 00S 00000000S 001]=[Scosa −Ssina Ssina Scosa 00000000S 001
]
T1=T2,得旋转和缩放是可交换的。
(2) 绕同一个轴的两个旋转
假设均绕z 轴且旋转矩阵分别为
[cosa −sina sina cosa 000000001001]以及[cosb −sinb sinb cosb 00
0000001001] T1=[cosa −sina sina cosa 000000001001]*[cosb −sinb sinb cosb 00
0000001001]=[cosacosb −sinasinb −cosasinb −sinacosb sinacosb +cosasinb −sinasinb +cosacosb 0
00000001001] T2=[cosb −sinb sinb cosb 000000001001]*[cosa −sina sina cosa 00
0000001001]=[cosacosb −sinasinb −cosasinb −sinacosb sinacosb +cosasinb −sinasinb +cosacosb 0
0000000100
1] T1=T2,所以绕同一个轴的两个旋转可交换
(3) 两个平移
设平移矩阵分别为
[1
0010a 0b 00001c 01]以及[10010d 0e 00001f 01] T1=[1
0010a 0b 00001c 01]*[10010d 0e 00001f 01]=[10010a +d 0b +e 00001c +f 01] T2=[1
0010d 0e 00001f 01]*[10010a 0b 0
0001c 01]=[10010a +d 0b +e 00001
c +f 01
] T1=T2,所以两个平移操作可交换
14.在三维仿射变换中有12个自由度,考虑点p[x,y,z,1]T,该点呗矩阵M转换为p,[x,,y,,z,,1]T,因为我们已经有了关系p,=p,在该式中,p, p,都是未知的,因此,我们可以得到拥有12个未知数的三个等式,如果我们有四对这样的点,我们就会有12个含有这12个未知数的方程,这可以帮助我们找到矩阵M的元素。因此,如果我们知道一个四边形是如何构成的,我们就可以得出仿射矩阵。在二维的情况下,在矩阵M中有6个自由度,但是p和p,只有x和y两个变量,因此,如果我们知道变换前得三个点一级变换后对应的三个点,我们就会得6个含有6个未知数的等式,因此,在二维情况下,如果我们知道三角形是如何构成的,我们就能得到仿射变换。
15. 所有的正弦项全部取反
16.
17.
18.
19. 不能,比如,一个正方形,对其先进行非一致性的缩放,然后再进行旋转,和先进行旋转,再进行非一致性缩放得到的结果是不同的。前者变换的结果是长方体,后者可能会被拉伸成平行六面体,再进行平移操作,显然两者的结果不同。
20. 向量a=u*v是正交的与u和v的,向量b=u*a是正交于u和a的,因此,u,a和b构成了一个正交坐标系,且b在u和v所确定的平面内部。
21. 日食是物体投影到非平面表面的好例子,任何时候,阴影被投射到曲面上,那么就产生了非平面投影。所有的地图都是曲线投影的例子,如果投影线不弯曲,就不可能把一个弯曲的椭球型表面投影到一个矩形上。
22. u的方向等于VPN与VUP叉积所得结果的方向,然后,v的方向等于u与VPN叉积所得结果的方向