资源描述:
《三维图形系统中两种坐标系之间的坐标变换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1996年9月西安电子科技大学学报Sep.1996第23卷第3期JOURNALOFXIDIANUNIVERSITYVol.23No.3X三维图形系统中两种坐标系之间的坐标变换许社教(西安电子科技大学电子机械学院西安710071)摘要用图形组合变换、矩阵求逆的方法推导了世界坐标系与局部坐标系之间的坐标变换.局部坐标系到世界坐标系的坐标变换可用于简化三维绘图,而世界坐标系到局部坐标系的坐标变换可用于产生透视投影.关键词:图形变换;图形系统;计算机图形学中图分类号:TP391.72图形变换是计算机图形学的一个很重要的研究内容,是设计计算机图形系统的
2、理论基础之一.目前公开出版的文献介绍的图形变换绝大多数限于在一个坐标系下进行,而关于两个坐标系之间的图形变换(或坐标变换)很少述及.图形系统中初始的直角坐标系称为世界坐标系,而把在物体上定义的直角坐标系称为局部坐标系.世界坐标系与局部坐标系之间的坐标变换是设计三维图形系统必须解决的问题.在物体上定义局部坐标系时,应使局部坐标系坐标平面与物体表面平行,然后在局部坐标系中作图,再通过局部坐标系到世界坐标系的坐标变换,即可得到物体在世界坐标系中的三维图形.可见,局部坐标系到世界坐标系的坐标变换可使三维作图问题得到简化.物体的透视投影产生过程是:先把
3、世界坐标系下的点变换成观察坐标系(即以视点为坐标原点的局部坐标系)下的点,再把观察坐标系下的点变换成屏幕坐标系中的点(即点的透视投[3,4]影).把世界坐标系下的点变换成观察坐标系中的点,采用了图形组合变换的方法.文中推导世界坐标系到局部(观察)坐标系的坐标变换采用矩阵求逆的方法.对于产生透视投影的变换过程这里不做讨论.1局部坐标系到世界坐标系的坐标变换假设物体上任意一点在局部坐标系中的坐标为P(x′,y′,z′),该点在世界坐标系中的坐标为P(x,y,z).局部坐标系在世界坐标系中的位置为:局部坐标系的原点为O′(x0,y0,z0),Z′轴
4、与X轴、Y轴、Z轴的夹角分别为A、B、C,如图1所示.如果用于产生透视投影,则Z′轴的方向就是观察方向.X收稿日期:1995-10-20430西安电子科技大学学报第23卷在局部坐标系中定义物体上点的坐标与在世界坐标系中定义物体上点的坐标在方法上是一致的.把坐标系看成是一种特殊的物体,可以认为局部坐标系这个物体初始位置为世界坐标系,点的坐标为(x′,y′,z′).局部坐标系到世界坐标系的坐标变换就转化为在世界坐标系下如何把局部坐标系这个特殊物体由初始位置变换到图1所示位置.图1局部坐标系与世界坐标系图2Z′轴方向与X、U角关系Z′轴是一个一般位
5、置直线,它由初始位置(即Z轴,是一个铅垂线)经过两次旋转后才能处于一般位置直线.这两次旋转是:先绕Y轴转X角,再绕Z轴转U角.如图2所示.经过上述分析可知,由局部坐标系到世界坐标系的坐标变换实际上是一个图形组合变换,它是由局部坐标系绕Y轴转X、绕Z轴转U以及平移至(x0,y0,z0)三个变换组成的.三个变换矩阵分别为cosX0-sinX0cosUsinU0010000100-sinUcosU000100TX=,TU=,To′=sinX0cosX00010001000010001x0y0z01组合变换矩阵为cosXcosUcosXsinU-si
6、nX0-sinUcosU00T=TXõTUõTo′=(1)sinXcosUsinXsinUcosX0x0y0z01X、U可按图2推导.Z′轴的方向余弦分别为n1=cosAn2=cosBn3=cosCo在Z′轴上取一单位矢量n,按照图2有下面的关系式cosX=n3=cosC221/2221/2sinX=(n1+n2)=(cosA+cosB)第3期许社教:三维图形系统中两种坐标系之间的坐标变换431221/2221/2cosU=n1/(n1+n2)=cosA/(cosA+cosB)221/2221/2sinU=n2/(n1+n2)=cosB/(c
7、osA+cosB)将cosX、sinX、cosU、sinU代入式(1)得cosAcosBcosBcosC221/2221/2221/2-(cosA+cosB)0(cosA+cosB)(cosA+cosB)cosBcosAT=-221/2221/200(2)(cosA+cosB)(cosA+cosB)cosAcosBcosC0x0y0z01利用[x′y′z′1]õT不难推出P点的x、y、z坐标(此处从略).2世界坐标系到局部坐标系的坐标变换从上面分析可知,P点坐标满足下面关系[x′y′z′1]õT=[xyz1]-1则有[x′y′z′1]=[xy
8、z1]õT(3)可见,只要求出T矩阵的逆矩阵便可根据世界坐标得到局部坐标,从而实现世界坐标系到局部坐标系的坐标变换.为求解方便起见,对式(1)求逆阵T=1cosXc