三维图形几何变换是二维图形几何变换的扩展。在三维空间中,用规范化齐次坐标[x y z 1]表示三维点,变换原理是把齐次坐标点(x, y, z, 1)通过变换矩阵变换成新的齐次坐标点(x’ y’, z’, 1),即:
[x y z 1] T3D = [x' y' z' 1]
因此,三维图形的基本变换矩阵用4×4阶矩阵表示,即:
1)左上角的3*3子块实现比例、旋转、对称、错切等基本变换;
2)左下角的1*3子块实现平移变换;
3)右上角的3*1子块实现透视变换;
4)右下角的1*1子块实现全比例变换。
平移变换:
立体图形上的任意一点(x, y, z)沿X轴、Y轴、Z轴方向分别平移k、m和n后,成为新图形上的一点(x’, y’, z’),则有:x’=x+k y’=y+m z’=z+n
即:
比例变换:
1、相对于坐标原点的比例变换,沿X、Y、Z轴方向的比例系数分别为a、e、j,则有:
当变换矩阵时,立体图形整体放大或缩小1/S倍。
2、相对于任意点(x0, y0, z0)的比例变换,比例系数为a、e、j:
旋转变换
旋转的正方向:右手拇指指向转轴正向,其余四指缠绕方向便是θ角正向。
绕空间任意一条直线的旋转:
设空间一条直线段AA'作为旋转轴,A点坐标是(xA, yA, zA),A'点坐标是(x'A, y'A, z'A),空间一点P(x, y, z)绕AA'轴旋转θ角到P'(x', y', z'),即:
[x' y' z' 1] = [x y z 1]*T
其中,T 为绕任意轴的旋转变换矩阵,它由若干个基本变换矩阵组合而成。
第1步:将点P与旋转轴AA'一起作平移变换,使旋转轴AA'过原点,A与原点重合,变换矩阵为:
第2步:令AA'轴首先绕X轴逆时针旋转α角,使其与XOZ平面共面,然后再绕Y轴顺时针旋转β角,使其与Z轴重合,变换矩阵为:
其中,α和β角可通过旋转轴AA'的两个端点坐标计算得到。
第3步:将点P绕Z轴(即AA’轴)旋转θ角,变换矩阵为:
第4步:作第2步的逆变换,即将AA'轴旋转回到原来的位置,变换矩阵为:
第5步:作第1步的逆变换,即将旋转轴AA'平移回到原来的位置,变换矩阵为:
因此,绕空间任意轴的旋转变换矩阵为:
T = T1*T2*T3*T4*T5
对称变换
1、关于X轴对称:x不变,y、z相反2、关于Y轴对称:y不变,x、z相反
3、关于Z轴对称:z不变,x、y相反
4、关于坐标原点对称:x、y、z相反
5、关于XOY平面对称:x、y不变,z相反
6、关于XOZ平面对称:x、 z不变,y相反
7、关于YOZ平面对称:y、 z不变,x相反
错切变换