编辑自以前的一张ppt。

注1:本节所有坐标系均为右手坐标系(如笛卡尔平面直角坐标系),不注明的情况下转角默认为逆时针,如果坐标系为左手坐标系(如高斯平面直角坐标系),需将顺逆时针颠倒。
注2:计算机上的坐标有的用行向量的形式,使用时需要将变换矩阵取转置。

坐标变换

定义:
一个坐标系的坐标变换为另一种坐标系的坐标的法则。

研究同一个点在两个坐标系中的坐标之间的关系。

点不动,坐标系动

  1. 坐标系

对于几何空间中的一个点O和一组基 d1,d2,d3d_1,d_2,d_3,称其为几何空间的一个仿射坐标系,记作[O;d1,d2,d3][O;d_1,d_2,d_3]。对于几何空间中的一个点O和一组基e1,e2,e3e_1,e_2,e_3,若e1,e2,e3e_1,e_2,e_3为两两垂直的单位向量,则称其为一个直角坐标系,记作[O;d1,d2,d3][O;d_1,d_2,d_3]。平面类似。

  1. 仿射坐标变换

平面上给了两个仿射坐标系:[O;d1,d2][O;d_1,d_2][O;d1,d2][O';d_1',d_2'].为方便起见,称前一个为旧坐标系,记作I;后一个为新坐标系,记作II。设II的原点的I坐标为(x0,y0)T(x_0,y_0)^T,II的基向量d1,d2d_1',d_2的I坐标分别是(a11,a21)T,(a12,a22)T(a_{11},a_{21})^T,(a_{12},a_{22})^T。 现在我们求点M的I坐标(x,y)T(x,y)^T与II坐标(x,y)T(x',y')^T之间的关系。
affine

OM=OO+OM=(x0d1+y0d2)+(xd1+yd2)=(x0d1+y0d2)+x(a11d1+a21d2)+y(a12d1+a22d2)=(a11x+a12y+x0)d1+(a21x+a22y+y0)d2\begin{aligned} \vec{OM} &=\vec{OO'}+\vec{O'M} \\ &=(x_0d_1+y_0d_2)+(x'd'_1+y'd'_2) \\ &=(x_0d_1+y_0d_2)+x'(a_{11}d_1+a_{21}d_2)+y'(a_{12}d_1+a_{22}d_2) \\ &=(a_{11}x'+a_{12}y'+x_0)d_1+(a_{21}x'+a_{22}y'+y_0)d_2 \end{aligned}

(xy)=(a11a12a21a22)(xy)+(x0y0)\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \begin{pmatrix} x' \\ y' \end{pmatrix} + \begin{pmatrix} x_0 \\ y_0 \end{pmatrix}

用文字表示就是:
老坐标=AA*新坐标+A0A_0
新坐标=A1A^{-1}*(老坐标-A0A_0)
AA称为I到II的过渡矩阵。

特殊的,有:
移轴公式:

(xy)=(xy)+(x0y0)\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} x' \\ y' \end{pmatrix} + \begin{pmatrix} x_0 \\ y_0 \end{pmatrix}
转轴公式:

(xy)=(cosθsinθsinθcosθ)(xy)+(x0y0)\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} \begin{pmatrix} x' \\ y' \end{pmatrix} + \begin{pmatrix} x_0 \\ y_0 \end{pmatrix}

点变换

定义:
变换:集合A到自身的一个映射称为A上的一个变换。
如果A为点集,则称之为一个点变换。

点变换研究同一个(第一个)坐标系中变换前后点的对应关系
点随着坐标系一起动

设映射f:ABf:A\to B,映射g:BCg:B\to C,先作映射f,接着作映射g,得到一个A到C的映射,称为映射f与g的乘积(或复合),记作gf,即
(gf)(a)=g(f(a))aA.(gf)(a)=g(f(a))\quad\forall a\in A.
如果TT是一个从线性空间VnV_n到其自身的线性映射(linear map),则称其为线性空间VnV_n中的线性变换。
线性变换的矩阵形式:T(x)=AxT(x)=Ax,称AA为线性变换的矩阵
A=[T(e1),T(e2)...T(en)]A=[T(e_1),T(e_2)\quad...\quad T(e_n)]

正交变换(Orthogonal Transformation)

定义:
平面上的一个点变换,如果保持任意两点的距离不变,则称它为正交变换(或保距变换)。

(正交变换第二基本定理):平面上的正交变换或者是平移,或者是旋转,或者是反射,或者是是它们之间的乘积。

平移、旋转以及他们之间的乘积称为刚体运动。

正交变换的矩阵AA
A=1|A|=1,第一类正交变换(刚体运动),包括平移、旋转
A=1|A|=-1,第二类正交变换,包括反射

高等代数中的定义 : 设VV是一个欧氏空间,σ\sigmaVV的一个变换.若σ\sigma保持向量的内积不变,即
α,βV,(σ(α),σ(β))=(α,β)\forall \alpha,\beta \in V,\quad (\sigma(\alpha),\sigma(\beta))=(\alpha,\beta)
则称σ\sigmaVV上的一个正交变换。从定义容易看出,VV的正交变换保持向量的长度不变,保持两个非零向量的夹角不变,保持正交性不变。

仿射变换(Affine Transformation)

几何定义:如果平面(作为点集)到自身的双射σ\sigma把共线三点映成共线三点,那么称σ\sigma是平面上的一个仿射变换。

代数定义:两个向量空间之间的一个仿射变换(来自拉丁语,affine,“和…相关”)由一个非奇异的线性变换接上一个平移变换组成

(仿射变换基本定理):设σ\sigma是平面上的一个变换,I[O;d1,d2]I[O;d_1,d_2]是仿射坐标系,σ(O)=O,σ(di)=di(i=1,2)\sigma(O)=O',\sigma(d_i)=d_i'(i=1,2),则σ是仿射变换当且仅当II[O,d1,d2]II[O',d_1',d_2']也是仿射坐标系,且点PPII坐标等于它的像点PP'IIII坐标。

Givens变换一般形式:
G(i,j,θ)=(1cosθsinθsinθcosθ1)ijG(i,j,\theta)= \begin{pmatrix} 1 & & & & & &\\ &\ddots \\ & &\cos\theta && \sin\theta\\ &&&\ddots\\ & &-\sin \theta && \cos\theta\\ &&&&&\ddots \\ &&&&&& 1 \end{pmatrix} \begin{matrix} \\ \\ i\\ \\ j\\ \\ \\ \end{matrix}
表示将在n维空间中的点在i,j对应的基确定的平面中绕原点顺时针旋转θ\theta角。

A=1l2(lx2ly22lxly2lxlyly2lx2)A=\frac{1}{||\vec{l}||^2} \begin{pmatrix} l_x^2-l_y^2 & 2l_xl_y\\ 2l_xl_y & l_y^2-l_x^2 \end{pmatrix}

R3R^3中,给定一个向量α\alpha,令β\beta表示α\alpha关于平面π\pi(以ω\omega为法向量)的反射变换所得像,

ω=αβαβR3H(ω)=I2ωωT\omega=\frac{\alpha-\beta}{|\alpha-\beta|} \in R^3 \qquad H(\omega)=I-2\omega\omega^T

H(ω)α=βH(\omega)\alpha=\beta
该变换将向量α\alpha变成了以ω\omega为法向量的平面的对称向量β\beta.

定义:
ωRn\omega\in R^n是一个单位向量,令
H(ω)=I2ωωTH(\omega)=I-2\omega\omega^T
则称H是一个Householder矩阵。

Householder矩阵的性质:

  1. H是对称矩阵,HT=HH^T=H
  2. H是正交矩阵,HTH=IH^TH=I
  3. H是对合矩阵,H2=IH^2=I
  4. H是自逆矩阵,H1=HH^{-1}=H
  5. diag(I,H)diag(I,H)也是一个Householder矩阵
  6. detH=1\det H=-1

(xy)=(k00k)(xy)+(x0y0)k0\begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} k & 0 \\ 0 & k \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} + \begin{pmatrix} x_0 \\ y_0 \end{pmatrix} \qquad k \neq 0
位似变换可以看做一个伸缩变换与一个平移变换的合成,位似中心为该变换的不动点。

(xy)=(aλbbλa)(xy)+(x0y0)λ=±1\begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} a & -\lambda b \\ b & \lambda a \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} + \begin{pmatrix} x_0 \\ y_0 \end{pmatrix}\qquad \lambda=\pm 1
detA=±(a2+b2)0\det A=\pm(a^2+b^2)\neq 0
相似变换总可以分解为一个正交变换与一个位似变换的乘积。

(xy)=(a00b)(xy)\begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} a & 0 \\ 0 & b \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix}

投影变换(Projection Transformation)

向量x在y上的投影向量

Pyx=xcosθyy=(x,y)yyy=xxyyy=y(yy)1yxP_yx=||x||\cos \theta\cdotp\frac{y}{||y||}=\frac{(x,y)}{||y||}\frac{y}{||y||}=\frac{x'x}{y'y}y=y(y'y)^{-1}y\cdotp x
其中θ\thetaxxyy的夹角,Pyx=y(yy)1yP_yx=y(y'y)^{-1}y称为投影阵。
一般地。定义P=X(XX)1XP=X(X'X)^{-1}X'为空间L(X)L(X)上的投影阵(Projection Matrix),P可以将一个向量投影到由X的列向量张成的超平面上。

投影阵的性质:

  1. 对称性:P=PP'=P
  2. 幂等性:P2=PP^2=P
  3. 非负定性:P0P\ge 0
  4. trace(P)=rank(P)trace(P)=rank(P)

投影阵与最小二乘法有着紧密的联系。

合成和逆变换

(Composing and inverting transformations)

One of the main motivations for using matrices to represent linear transformations is that transformations can then be easily composed (combined) and inverted.

Composition is accomplished by matrix multiplication. If A and B are the matrices of two linear transformations, then the effect of applying first A and then B to a vector x is given by:
B(Ax)=(BA)xB(Ax) = (BA)x
(This is called the associative property.) In other words, the matrix of the combined transformation A followed by B is simply the product of the individual matrices. Note that the multiplication is done in the opposite order from the English sentence: the matrix of "A followed by B" is BA, not AB.
A consequence of the ability to compose transformations by multiplying their matrices is that transformations can also be inverted by simply inverting their matrices. So, A1A^{-1} represents the transformation that "undoes" A.

齐次坐标

To represent affine transformations with matrices, we can use homogeneous coordinates,This means representing a 2-vector (x, y) as a 3-vector (x, y, 1), and similarly for higher dimensions. Using this system, translation can be expressed with matrix multiplication.

(xy1)=(10x001y0001)(xy1)\begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 & x_0\\ 0 & 1 & y_0\\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y\\ 1 \end{pmatrix}

trans

参考资料

  1. 丘维声《解析几何》(第三版) 北京大学出版社
  2. 北京大学数学系前代数小组《高等代数》
  3. Transformation matrix Wikipedia https://en.wikipedia.org/wiki/Transformation_matrix