计算机图形学(四)几何变换_2_矩阵表示_1_矩阵表示和齐次坐标

来源:互联网 发布:神舟游戏本 知乎 编辑:程序博客网 时间:2024/04/30 07:05
4.2矩阵表示和齐次坐标
        许多图形应用涉及到几何变换的顺序。例如,动画需要将对象在运动的每个增量处进行平移和旋转。在设计和图形构造的应用中,要完成平移,旋转和缩放,从而将图形组成部分安排到合适的位置。观察变换涉及一系列平移和旋转,从而将原始的场景描述变成输出设备上的显示。通过重组矩阵表达式,从而有效的处理这种变换顺序。在4.1 节中看到,每个基本变换(平移,旋转和缩放)都可以表示为普通矩阵形式1:

       坐标位置P'和P表示列向量,矩阵M1是一个包含乘法系数的2x2矩阵,M2是包含平移项的两元素列矩阵。对于平移M1是单位矩阵。对于旋转或者或缩放M2包含与基准点缩放固定点相关的平移项。为了利用这个公式产生先缩放,在旋转,后平移这样的变换顺序,必须一步一步地计算变换的坐标。首先将坐标位置缩放,然后将缩放后的坐标旋转,最后将旋转后的坐标平移。更有效的方法是将变换组合,从而直接从初始坐标到最后坐标位置,这样就消除了中间坐标值的计算。因此,需要重组矩阵形式1以消除M2中与平移项相关的矩阵加法。

4.2.1 齐次坐标

        如果将2x2矩阵表达式扩充为3x3矩阵,就可以把二维几何变换的乘法和平移项组合成单一矩阵表示。这时将变换矩阵的第三列用于平移项,而所有的变换公式可表达为矩阵乘法。但为了这样操作,必须解释二维坐标位置到三元向量的矩阵表示。标准的实现技术是将二维坐标位置表示(x,y)扩充到三维表示(xh,yh, h),称为齐次坐标(homogeneous coordinate),这里的齐次参数(homogeneous parameter)h是一个非零值,因此:

        这样,普通的二维齐次坐标表示可写为(h*x, h*y, h)。对于二维几何变换,可以把齐次参数h取为任何非零值。因而,对于每个坐标点(x,y),可以有无数个等价的齐次表达式。最方便的选择是简单地设置h = 1。因此每个二维位置都可用齐次坐标(x, y, 1)来表示。h的其他值也需要的,例如在三维观察变换的矩阵公式中。
        齐次坐标这一术语在数学中用来指出笛卡尔儿方程的表达效果。当笛卡儿点(x, y)转换成齐次坐标(xh,yh,h)时,包含x和y方程发(x,y)= 0变成了三个参数xh,yh,h的齐次方程。假如,三个参数均各自乘上值v后的替换,那么v可以从方程中作为因子提取出来。
        利用齐次坐标表示位置,使我们可以用矩阵相乘的形式来表示所有的几何变换公式,而这是图形系统中使用的标准方法。二维坐标位置用三元素列向量表示,而二维变换操作用一个3x3矩阵表示。
0 0