几何变换
窗口区到视图区的坐标变换
实际的窗口区与视图区往往不一样大小,要在视图区正确地显示形体的,必须将其从窗口区变换到视图区。
比例关系,两者的变换公式为:
可以简单地将两者的关系表示为:
二维图形的几何变换
正如我们在附录中提到的那样,用齐次坐标表示点的变换将非常方便,因此在本节中所有的几何变换都将采用齐次坐标进行运算。二维齐次坐标变换的矩阵的形式是:
这个矩阵每一个元素都是有特殊含义的。
形进行平移变换;[g h]是对图形作投影变换;[i]则是对图形整体进行缩放变换。
1)平移变换
2)缩放变换
3)旋转变换
4)对称变换
对称变换其实只是a、b、d、e取0、1等特殊值产生的一些特殊效果。例如:
当b=d=0,a=-1,e=1时有x´=-x,y´=y,产生与y轴对称的图形。
当b=d=0,a=-1,e=-1时有x´=x,y´=-y,产生与x轴对称的图形。
当b=d=0,a=e=-1时有x´=-x,y´=-y,产生与原点对称的图形。
当b=d=1,a=e=0时有x´=y,y´=x,产生与直线y=x对称的图形。
当b=d=-1,a=e=0时有x´=-y,y´=-x,产生与直线y=-x对称的图形。
5)错切变换
当d=0时,x´=x+by,y´=y,此时,图形的y坐标不变,x坐标随初值 (x,y)及变换系数b作线性变化。
当b=0时,x´=x,y´=dx+y,此时,图形的x坐标不变,y坐标随初值 (x,y)及变换系数d作线性变化。
6)复合变换
复合平移如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换。复合变换有如下的性质:
对同一图形做两次平移相当于将两次的平移两加起来:
两次连续的缩放相当于将缩放操作相乘:
复合旋转两次连续的旋转相当于将两次的旋转角度相加:缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。如果相对某个一般的参考点(xf,yf)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(xf,yf)点移回原来的位置。切记复合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。
关于(xf,yf)点的缩放变换 绕(xf,yf)点的旋转变换三维几何变换
由于用齐次坐标表示,三维几何变换的矩阵是一个4阶方阵,其形式如下:
1)平移变换
参照二维的平移变换,我们很容易得到三维平移变换矩阵:
2)缩放变换
直接考虑相对于参考点(xf,yf,zf)的缩放变换,其步骤为:
A. 将平移到坐标原点处;
B. 进行缩放变换;
C. 将参考点(xf,yf,zf)移回原来位置
则变换矩阵为:
3)绕坐标轴的旋转变换
三维空间的旋转相对要复杂些,考虑右手坐标系下相对坐标原点绕坐标轴旋转q 角的变换:
A.绕x轴旋转
B.绕y轴旋转
C.绕z轴旋转
三维空间的平移、旋转及缩放示意图
4)绕任意轴的旋转变换
设旋转轴AB由任意一点A(xa,ya,za)及其方向数(a,b,c)定义,
可以通过下列步骤来实现P点的旋转:
A. 将A点移到坐标原点。
B. 使AB分别绕X轴、Y轴旋转适当角度与Z轴重合。
D.作上述变换的逆操作,使AB回到原来位置。
是AB在YOZ平面与XOZ平面的投影与Z轴的夹角。