计算机图形学第6章习题

上传人:公**** 文档编号:585146452 上传时间:2024-09-01 格式:PPT 页数:22 大小:423.01KB
返回 下载 相关 举报
计算机图形学第6章习题_第1页
第1页 / 共22页
计算机图形学第6章习题_第2页
第2页 / 共22页
计算机图形学第6章习题_第3页
第3页 / 共22页
计算机图形学第6章习题_第4页
第4页 / 共22页
计算机图形学第6章习题_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《计算机图形学第6章习题》由会员分享,可在线阅读,更多相关《计算机图形学第6章习题(22页珍藏版)》请在金锄头文库上搜索。

1、计算机图形学基础华东理工大学计算机系华东理工大学计算机系 谢晓玲谢晓玲习题习题6.2/P182o6.2 6.2 已知二维变换矩阵已知二维变换矩阵T T2D2D= = a b p c d q l m s试说明矩阵试说明矩阵T T2D2D中各元素在变换中的具体作用。中各元素在变换中的具体作用。答:缩放:答:缩放:a,d 平移:平移:l,m 旋转:旋转:a,b,c,d 透视:透视:p,q 全局缩放:全局缩放:s 错切:错切:b,c习题习题6.3/P182o6.3 6.3 试推导将二维平面上任意直线段试推导将二维平面上任意直线段p p1 1(x(x1 1,y,y1 1) p) p2 2(x(x2 2,

2、y,y2 2) )转转换成为与换成为与x x轴重合的变换矩阵(直线段轴重合的变换矩阵(直线段p1p2p1p2与与x x轴的交角轴的交角4545)。)。答:答:sin()=(ysin()=(y2 2-y-y1 1)/sqrt(x)/sqrt(x2 2-x-x1 1) )2 2+(y+(y2 2-y-y1 1) )2 2) ) cos()=(x cos()=(x2 2-x-x1 1)/sqrt(x)/sqrt(x2 2-x-x1 1) )2 2+(y+(y2 2-y-y1 1) )2 2) )平移平移T T1 1(-x(-x1 1,-y,-y1 1)= 1 0 0)= 1 0 0 0 1 0 0

3、1 0 -x -x1 1 -y -y1 1 1 1旋转旋转R R1 1(-)= cos -sin 0(-)= cos -sin 0 sin cos 0 sin cos 0 0 0 1 0 0 1T=TT=T1 1(-x(-x1 1,-y,-y1 1)R)R1 1(-)(-)(x1,y1)(x2,y2)习题习题6.4/P182o6.4 6.4 已知点已知点P(xP(xp p,y,yp p) )及其直线及其直线L L的方程的方程Ax+By+C=0Ax+By+C=0,试推导一个相对试推导一个相对L L作对称变换的变换矩阵作对称变换的变换矩阵T T,使点,使点P P的的对称点对称点PP满足满足P=PT

4、P=PT。答:设:答:设:k= -A/B,b= -C/B sin()= -A/sqrt(A2+B2) cos()= -B/sqrt(A2+B2)平移平移T T1 1(0,-b)= 1 0 0(0,-b)= 1 0 0 0 1 0 0 1 0 0 -b 1 0 -b 1(0,-C/B)(-C/A,0)习题习题6.4/P182旋转旋转R R1 1(-)= cos -sin 0(-)= cos -sin 0 sin cos 0 sin cos 00 0 10 0 1关于关于x x轴对称轴对称RFRFx x= 1 0 0= 1 0 0 0 -1 0 0 -1 0 0 0 1 0 0 1反旋转反旋转R

5、R2 2()= cos sin 0()= cos sin 0 -sin cos 0 -sin cos 0 0 0 1 0 0 1(0,-C/B)(-C/A,0)习题习题6.4/P182反平移反平移T T2 2(0,b)= 1 0 0(0,b)= 1 0 0 0 1 0 0 1 0 0 b 1 0 b 1T=TT=T1 1(0,-b)R(0,-b)R1 1(-)RF(-)RFx xR R2 2()T()T2 2(0,b)(0,b)习题习题6.6/P183o6.6 6.6 试证明相对于原点的旋转变换可以等价为一试证明相对于原点的旋转变换可以等价为一个比例变换和一个错切变换的复合变换。个比例变换和一

6、个错切变换的复合变换。 cos sin 0 sx 0 0 1 b 0 sx bsx 0-sin cos 0 = 0 sy 0 c 1 0 = csy sy 0 0 0 10 0 1 0 0 1 0 0 1sx=cos,sy=sin,bsx=sin,csy= -sinb=sin/ cos=tg ,c= -sin/ cos= -tg cos sin 0 cos 0 0 1 tg 0 -sin cos 0 = 0 sin 0 - tg 1 0 0 0 1 0 0 1 0 0 1 习题习题6.7/P183o6.7 6.7 如图所示四边形如图所示四边形ABCDABCD,求绕点,求绕点P(5,4)P(5,

7、4)分别旋转分别旋转4545和和9090的变换矩阵,并求出各端点的坐标,画出的变换矩阵,并求出各端点的坐标,画出变换后的图形。变换后的图形。9090T= 0 1 0T= 0 1 0 -1 0 0 -1 0 0 9 -1 1 9 -1 14 1 1 0 1 0 8 3 14 1 1 0 1 0 8 3 17 3 1 -1 0 0 = 6 67 3 1 -1 0 0 = 6 6 1 17 7 1 9 -1 17 7 1 9 -1 1 2 6 1 2 6 11 4 11 4 1 5 0 15 0 1A(8,3),B(6,6),C(2,6),D(5,0)A(8,3),B(6,6),C(2,6),D(5

8、,0)A(4,1)B(7,3)C(7,7)D(1,4)A(8,3)B(6,6)C(2,6)D(5,0)4545T=T(-5,-4)R(45)T(5,4)T=T(-5,-4)R(45)T(5,4) = = 2/22/2 2/22/2 0 0 - -2/22/2 2/22/2 0 0 5- 5-2/2 4-2/22/2 4-2/2 1 14 1 1 5+4 1 1 5+22 4-2 4-22 2 1 17 3 1 T = 5+37 3 1 T = 5+32/22/2 4+ 4+2/2 2/2 1 1 7 7 1 7 7 1 5- 5-2/22/2 4+5 4+52/2 2/2 1 1 1 4 11

9、 4 1 5-2 5-222 4-2 4-22 2 1 1四舍五入后:A(6,1),B(7,5),C(4,8),D(2,1)A(4,1)B(7,3)C(7,7)D(1,4)A(6,1)B(7,5)C(4,8)D(2,1)习题习题6.11/P183o6.11 试用编码裁剪法(试用编码裁剪法(Cohen-Sutherland)裁剪图裁剪图6-40的线段。的线段。2 31A(3,3)B(-1,-2)图6-40codeA=1010,codeB=0101k=5/4,b=-3/4,y=kx+bcodeA|codeB0 不在窗口内codeA&codeB=0 AB不在窗口同一外侧根据codeA的从低到高寻找编

10、码位为1所对应的窗口边界为右边界。求AB与右边界的交点为PR(2,7/4) 。令PR-A(2,7/4),codeA=0000,并用A代替APR交换,使得A - B(2,7/4)、0000; B-A(-1,-2)、0101根据codeA的从低到高寻找编码位为1所对应的窗口边界为左边界,求AB与左边界的交点PL(0,-3/4)。令PL-A(0,-3/4),codeA=0100,并用A代替A根据codeA的从低到高寻找编码位为1所对应的窗口边界为底边界,求AB与底边界的交点PB(3/5,0)。令PB-A(3/5,0),codeA=0000,并用A代替A2 31A(-1,-2)B(2,7/4)PL2

11、31A(3/5,0)B(2,7/4)2 31A(0,-3/4)B(2,7/4)PB至此,裁剪结束,求得裁剪线段为:(2,7/4),(3/5,0)四舍五入后,裁剪线段为:(2,2),(1,0)习题习题6.13/P183o6.13 试用中点分隔算法裁剪如图试用中点分隔算法裁剪如图6-40的线段,的线段,分隔一直到误差小于分隔一直到误差小于0.5为止。为止。codeA=1010,codeB=0101中点Pm( (x1+x2)/2,(y1+y2)/2)求求A的最远可见点的最远可见点codeB0 B不在窗口内codeA&codeB=0 AB不在窗口同一外侧用二分法求AB中点Pm( 1,1/2)、0000

12、。Pm在窗口内,令Pm-A(1,1/2)、0000,并用A代替A2 31A(3,3)B(-1,-2)图6-40Pm用二分法求AB中点Pm( 0,-3/4)、0100。Pm在窗口外,codePm&codeB0 PmB在窗口同一外侧,令Pm-B(0,-3/4)、0100,并用B代替B用二分法求AB中点Pm( 1/2,-1/8)、0100。同理,令Pm-B(1/2,-1/8)、0100,并用B代替B用二分法求AB中点Pm( 3/4,3/16)、0100。分析Pm和B的误差小于0.5,则不再分隔。四舍五入得B(1,0)、0000,为A的最远可见点。Pm2 31A(1,1/2)B(-1,-2)APm2

13、31A(1,1/2)BAB(0,-3/4)PmA(1,1/2)BAB(1/2,-1/8)BAB(1,0)codeA=1010,codeB=0101中点Pm( (x1+x2)/2,(y1+y2)/2)求求B的最远可见点的最远可见点codeA0 A不在窗口内codeA&codeB=0 AB不在窗口同一外侧用二分法求AB中点Pm( 1,1/2)、0000。Pm在窗口内,令Pm-B(1,1/2)、0000,并用B代替B2 31A(3,3)B(-1,-2)图6-40Pm用二分法求AB中点Pm( 2,7/4)、0000。Pm在窗口内,令Pm-B(2,7/4)、0000,并用B代替B2 31A(3,3)B(

14、1,1/2)Pm用二分法求AB中点Pm( 5/2,19/8)、1010。Pm在窗口外,codePm&codeA0 PmA在窗口同一外侧,令Pm-A(5/2,19/8)、1010,并用A代替A2 31A(3,3)B(2,7/4)Pm2 31A(5/2,19/8)B(2,7/4)Pm用二分法求AB中点Pm( 9/4,33/16)、1010。分析Pm和A的误差小于0.5,则不再分隔。四舍五入得A(2,2)、0000,为B的最远可见点。至此,裁剪结束,求得裁剪线段为:(2,2),(1,0)习题习题6.14/P183o6.14 试用试用Liang-Barsky算法裁剪如图算法裁剪如图6-40的的线段。线

15、段。P1=-(-x2-x1)=-(-1-3)=4;q1=x1-xWL=3-0=3;P2=x2-x1=-1-3=-4; q2=xWR-x1=2-3=-1;P3=-(-y2-y1)=-(-2-3)=5;q3=y1-yWB=3-0=3;P4=y2-y1=-2-3=-5; q4=yWT-y1=2-3=-1;Pi0 不存在直线与窗口边界的平行2 31A(3,3)B(-1,-2)图6-40Pm12341/51/5P P4 40,0,0,出去出去3:3:下下1/41/4P P2 20,0,0,出去出去1:1:左左U(=qU(=qi i/p/pi i) )ABAB边界边界U Umaxmax U Uminmin

16、有交有交UmaxUminUmin=min(1,u1,u3)=3/5 Umax=max(0,u2,u4)=1/4 UmaxUmin 有交有交 X=x1+Umax(x2-x1)=3+1/4(-1-3)=2 Y=y1+Umax(y2-y1)=3+1/4(-2-3)=1.75 X=x1+Umin(x2-x1)=3+3/5(-1-3)=0.6 Y=y1+Umin(y2-y1)=3+3/5(-2-3)=0得交点得交点(2,1.75)(2,1.75)、(0.6,0)(0.6,0)至此,四舍五入后,求得裁剪线段为:(2,2),(1,0)2 31A(3,3)B(-1,-2)Pm12341/51/5P P4 40

17、,0,0,出去出去3:3:下下1/41/4P P2 20,0,0,出去出去1:1:左左U(=qU(=qi i/p/pi i) )ABAB边界边界U Umaxmax 视图视图。41(1,1)13(4,3)为了保持纵横比不变,则:w窗/h窗=w视/h视=3/2取w视=1,得视区(0,0)、(1,2/3)Sx=1/3,Sy=1/3T窗-视=T(-1,-1)S(1/3,1/3)T(0,0)= 1 1/3 1 1 1/3 1 -1 -1 1 1 1补充习题补充习题2o补充补充2 已知窗口如图所示,以已知窗口如图所示,以NDC为视图,要为视图,要求保持纵横比不变,求求保持纵横比不变,求T窗口窗口-视图视图。为了保持纵横比不变,则:w窗/h窗=w视/h视=3/2取w视=1,得视区(0,0)、(1,2/3)Sx=1/3,Sy=1/3T窗-视=T(-1,-1)R(-30)S(1/3,1/3)T(0,0)= 1 cos30 -sin30 1/3 1 1 sin30 cos30 1/3 1 -1 -1 1 1 1 14112330

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号