三维立体图形的变换方法是在二维方法的基础上考虑了 z 坐标而得到的。可以通过指定一个表示对象在三个坐标方向移动距离的三维变换向量来对对象进行平移变换。类似地,也可以利用三个坐标上的缩放因子来缩放对象。当我们讨论 xy 平面上的二维旋转时,只需要考虑沿着垂直于 xy 平面的坐标轴进行旋转;而在三维空间中,可以选择空间的任意方向作为旋转轴方向。大多数图形软件将三维旋转作为绕三个坐标轴的二维旋转的复合而进行处理的。另一种方法是用户根据给定轴的方向和旋转角度建立一个总的旋转矩阵。在此主要介绍三维图形的旋转和变比。
1.旋转 旋转分为3种基本旋转,即绕 x 轴旋转、绕 y 轴旋转和绕 z 轴旋转。在下述旋转变换公式中,假设旋转的参考点在所绕的轴上,绕轴转 β 角,方向是从轴所指处往原点看的逆时针方向。如图2-22所示,图2-22a为绕 x 轴旋转,图2-22b为绕 y 轴旋转,图2-22c为绕 z 轴旋转。
图2-22 三维空间内的旋转变换
(1)式(2-13)为绕 x 轴旋转表达式。
矩阵的运算表达式为式(2-14)。
(2)式(2-15)为绕 y 轴旋转表达式。
矩阵的运算表达式为式(2-16)。
(3)式(2-17)为绕 z 轴旋转公式。
矩阵的运算表达式为式(2-18)。
2.变比 设 S x 、 S y 、 S z 是物体在3个坐标轴方向的比例因子,则三维空间的变比公式为式(2-19)。
矩阵的运算表达式为式(2-20)。
与二维变换类似,相对于参考点 m ( x m , y m , z m )作变比变换、旋转变换的过程可以分为以下3步。
(1)把坐标系原点平移到参考点 m 。
(2)在新的坐标系下相对原点作变比、旋转变换。
(3)将坐标系再平移回原点。
相对于 m 点作变比变换的过程,如图2-23所示。
图2-23 相对 m 点作变比变换的过程