计算机图形学:基本二维几何变换

1.二维平移矩阵

计算机图形学:基本二维几何变换_第1张图片

2.二维旋转矩阵

首先确定基准点为坐标原点时点位置P进行旋转的变换方程:

计算机图形学:基本二维几何变换_第2张图片

Φ表示点的原始角度位置与水平线的夹角,θ是旋转角。

在极坐标系中,点的原始坐标为

计算机图形学:基本二维几何变换_第3张图片

我们就得到相对于原点,将位置(x,y)的点旋转的变换方程

计算机图形学:基本二维几何变换_第4张图片

计算机图形学:基本二维几何变换_第5张图片

将方程规范化为绕任意指定的旋转位置旋转的点的变换方程

计算机图形学:基本二维几何变换_第6张图片

用矩阵形式表示

计算机图形学:基本二维几何变换_第7张图片

3.二维缩放矩阵

计算机图形学:基本二维几何变换_第8张图片

4.二维平移逆矩阵

对于平移变换,我们通过对平移距离取负值而得到逆矩阵。

计算机图形学:基本二维几何变换_第9张图片

这产生相反方向的平移,而平移矩阵和其逆矩阵的成绩是一个单位矩阵。

5.二维旋转逆矩阵

计算机图形学:基本二维几何变换_第10张图片

旋转角的负值生成顺时针方向的旋转,因而当任何旋转矩阵和其逆矩阵相乘时生成单位矩阵。

6.二维缩放逆矩阵

计算机图形学:基本二维几何变换_第11张图片

该逆矩阵生成相反的缩放变换,因此任何缩放矩阵和其逆矩阵的乘积生成了单位矩阵。

二维复合变换

利用矩阵表达式,可以通过计算单个变换的矩阵乘积,将任意的变换序列组成复合变换矩阵composite transformation matrix)。由于一个坐标位置用齐次列矩阵表示,我们必须用表达任一变换次序的矩阵前乘该列矩阵。由于场景中许多位置用相同的顺序变换,先将所有变换矩阵相乘形成一个复合矩阵将是高效的方法。因此,如果我们要对点位置P进行两次变换,变换后的位置将用下式计算:

计算机图形学:基本二维几何变换_第12张图片

7.复合二维平移

假如将两个连续的平移用于坐标位置P,那么最后的变换位置P'可以计算为

计算机图形学:基本二维几何变换_第13张图片

其中P和P'表示为三元素、齐次坐标的列向量。

用复合矩阵表示为

计算机图形学:基本二维几何变换_第14张图片

或者

计算机图形学:基本二维几何变换_第15张图片

8.复合二维旋转

应用于P的两个连续旋转产生的变换为

计算机图形学:基本二维几何变换_第16张图片

通过两个旋转矩阵的相乘,我们可以证明两个连续旋转是相加的

计算机图形学:基本二维几何变换_第17张图片

因此,点旋转的最后最表可以使用复合变换矩阵计算为

计算机图形学:基本二维几何变换_第18张图片

9.复合二维缩放

合并两个连续的二维缩放操作的变换矩阵,生成如下的复合缩放矩阵:

计算机图形学:基本二维几何变换_第19张图片

计算机图形学:基本二维几何变换_第20张图片

这种情况下表明,连续缩放的操作是相乘的。

10.通用二维基准点旋转

当图形软件包仅提供绕坐标系原点旋转函数时,我们可以通过完成下列平移-旋转-平移操作来实现绕任意选定的基准点的旋转。

1.平移对象使基准点位置一定到坐标原点;

2.绕坐标原点旋转;

3.平移对象使基准点回到其原始位置。

利用矩阵合并得到该序列的复合变换矩阵:

计算机图形学:基本二维几何变换_第21张图片

11.通用二维基准点缩放

只有相对于坐标原点的缩放函数时的变换序列:

1.平移对象使固定点与坐标原点重合;

2.对于坐标原点进行缩放;

3.使用步骤1的反向平移将对象返回到原始位置。

将这三个操作的矩阵合并,就可以产生所需的缩放矩阵:

计算机图形学:基本二维几何变换_第22张图片

12.通用二维定向缩放

参数Sx和Sy沿x和y方向缩放对象,可以通过在应用缩放变换之前,将对象所希望的缩放方向旋转到与坐标轴一致而在其他方向上缩放对象。

假如我们要在如图所示的方向上,使用参数s1和s2所指定的值作为缩放系数。为了完成这种缩放而不改变对象的方向,我们首先完成旋转操作,使s1和s2的方向分别与x和y轴重合。然后应用缩放变换S(s1,s2),再进行反向旋转以回到其原始位置。从这三个变换的乘积得到的复合矩阵为

计算机图形学:基本二维几何变换_第23张图片

计算机图形学:基本二维几何变换_第24张图片

作为缩放变换的一个例子,通过沿(0,0)到(1,1)的对角线将单位正方形拉长,使其转换成平行四边形。我们使用参数θ=45°将对角线旋转到y轴,并按s= 1和s= 2将其长度加倍,然后再旋转使对角线回到原来的位置。

在矩阵中,假设缩放是相对原点完成的,可以将这个缩放操作推进一步并与平移操作合并,从而使复合矩阵包含为指定的固定位置进行缩放的参数。

13.矩阵合并特性

矩阵相乘符合结合律。

变换积不可交换。

14.通用二维复合变换和计算效率

//more statement...

15.二维刚体变换

如果一个变换矩阵仅包含平移和旋转参数,则它是一个刚体变换矩阵(rigid-body transformation matrix)。二维刚体变换矩阵的一般形式为

计算机图形学:基本二维几何变换_第25张图片

其中,4个元素rjk是多重旋转选项,元素trx和try是平移项。坐标位置的刚体变化有时也称刚体运动(rigid-motion)变换。变换后坐标位置间的所有角度和距离都不变化。此外,矩阵具有其左上角的2*2矩阵是一个正交矩阵的特性。这说明,假如将子矩阵 每一行(或者每一列)作为一个向量,那么两个行向量,那么两个行向量(rxx,rxy)(或两个列向量)形成单位向量的正交组。这样一组向量也成为正交向量组。每个向量具有单位长度:

计算机图形学:基本二维几何变换_第26张图片

并且向量相互垂直(它们的点积为0):

计算机图形学:基本二维几何变换_第27张图片

因此,假设这些单位向量通过旋转子矩阵进行变换,那么(rxx,rxy)就转换成沿x轴的单位向量,(ryx,ryy)转换成沿坐标系统y轴的单位向量

计算机图形学:基本二维几何变换_第28张图片

作为一个例子,下列刚体变换先将对象对于基准点(xr,yr)旋转θ角,然后平移:

计算机图形学:基本二维几何变换_第29张图片

这里,左上角2*2子矩阵中的对角单位向量为(cosθ,-sinθ)和(sinθ,cosθ),并且

计算机图形学:基本二维几何变换_第30张图片

同样,单位向量(sinθ,cosθ)也由前面的变换矩阵转换成y方向的单位向量(0,1)。



___________________________________________________

计算机图形学:第3版/(US)Hearn, D.,Baker,M.P.著

你可能感兴趣的:(计算机图形学:基本二维几何变换)