图形学数学笔记-03坐标变换

坐标变换

正交矩阵

一个可逆的矩阵,当且仅当时,矩阵为正交矩阵。如果一个矩阵的列向量集合构成一个正交向量集,则该矩阵为正交矩阵。

正交矩阵能保持变换对象的长度和角度不变,因此只能适用于旋转和反射变换。

对于任意向量,下式成立

对于任意两个向量和,下式成立

偏手性

在三维空间中,由3D向量组成的坐标系的基具有偏手性,当时,称为右手螺旋基。在右手坐标系中,向量和外积的方向遵循右手螺旋定律,与向量的方向之间的夹角为锐角。

如果为右手螺旋正交基,则。反之,当时,称为左手螺旋基

奇数次反射变换将改变基的偏手性,偶数次反射变换总是等效于旋转变换,因此一系列任意多的反射变换可以当做一个旋转变换加最多一个反射变换。

通过计算一个矩阵的行列式可以判断该矩阵是否包含反射变换,如果一个矩阵的行列式是负值,则该矩阵包含一个反射变换,则矩阵将改变它所变换的基向量集的偏手性,反之,如果矩阵的行列式是正值,该矩阵将保持变换基向量集的偏手性。

正交矩阵的行列式的值只能为1或者-1,如果,则矩阵表示一个纯粹的旋转变换,如果,则矩阵表示一个旋转变换和一个反射变换。

比例变换

在三维空间中,比例变换的变换矩阵如下:

其中,如果,则变换为均匀变换,可用标量乘法实现均匀变换。

旋转变换

绕轴旋转角的旋转变换,其旋转矩阵分别如下:
\begin{aligned} \mathbf{R}_x(\theta)&=\left[\begin{array}{ccc}{1} & {0} & {0} \\ {0} & {\cos \theta} & {-\sin \theta} \\ {0} & {\sin \theta} & {\cos \theta}\end{array}\right] \\ \mathbf{R}_x(\theta)&=\left[\begin{array}{ccc}{\cos \theta} & {0} & {\sin \theta} \\ {0} & {1} & {0} \\ {-\sin \theta} & {0} & {\cos \theta} \end{array}\right] \\ \mathbf{R}_x(\theta)&=\left[\begin{array}{ccc} {\cos \theta} & {-\sin \theta} & {0} \\ {\sin \theta} & {\cos \theta} & {0} \\ {0} & {0} & {1}\end{array}\right] \end{aligned}
绕任意轴旋转角的旋转变换的变换矩阵为


换为等价矩阵,合并得
\mathbf{R}_\mathbf{A}(\theta)=\left[\begin{array}{ccc}{c+(1-c) A_{x}^{2}} & {(1-c) A_{x} A_{y}-s A_{z}} & {(1-c) A_{x} A_{z}+s A_{y}} \\ {(1-c) A_{x} A_{y}+s A_{z}} & {c+(1-c) A_{y}^{2}} & {(1-c) A_{y} A_{z}-s A_{x}} \\ {(1-c) A_{x} A_{z}-s A_{y}} & {(1-c) A_{y} A_{z}+s A_{x}} & {c+(1-c) A_{z}^{2}}\end{array}\right]
其中

齐次坐标

给表示三维点的向量增加第四个坐标,且,可将其扩展成点向量的四维齐次坐标表示形式。

给表示三维方向的向量增加第四个坐标,且,可将其扩展成方向向量的四维齐次坐标表示形式。

一个变换矩阵和3D平移向量组合成一个变换矩阵,该矩阵可用于点的变换,如下所示:
\mathbf{F}=\left[\begin{array}{lll:l}{M_{11}} & {M_{12}} & {M_{13}} & {T_{x}} \\ {M_{21}} & {M_{22}} & {M_{23}} & {T_{y}} \\ {M_{31}} & {M_{32}} & {M_{33}} & {T_{z}} \\ \hdashline {0} & {0} & {0} & {1}\end{array}\right]

法向量变换

切向量和法向量,给定一个变换矩阵,。假设法向量的变换矩阵为,则下式成立:

经代数变换
\begin{aligned}&(\mathbf{G}\mathbf{N})\cdot (\mathbf{M}\mathbf{T})=(\mathbf{G}\mathbf{N})^{T}(\mathbf{M}\mathbf{T})=\mathbf{N}^{T}\mathbf{G}^{T}\mathbf{M}\mathbf{T}\\&\because \mathbf{N}^{T}\mathbf{T}=0 \qquad \mathbf{G}^{T}\mathbf{M}=\mathbf{I }\\&\therefore \mathbf{G}=(\mathbf{M}^{-1})^{T}\end{aligned}
法向量的变换必须使用该矩阵的转置矩阵的逆矩阵,即。

四元数

数学家把四元数集合称为Hamilton四元数环,表示为,可以看做四维向量空间,其中元素可以表示以下形式:

其中表示与的分部对应的标量部分,是与的分布对应的向量部分。

四元数乘法不满足交换律,给定四元数,则有

四元数有共轭的性质,四元数的共轭可表示为,且,且有:

非0四元数的倒数可表示为,计算如下:

同旋转变换的变换矩阵的等式得出
\begin{array}{c}{\mathbf{P}'=\mathbf{q}\mathbf{P}\mathbf{q}^{-1}=(s^{2}-t^{2})\mathbf{P}+2st\mathbf{A}\times \mathbf{P}+2t^{2}(\mathbf{A}\cdot\mathbf{P})\mathbf{A}}\\{\mathbf{v}=t\mathbf{A}\qquad t=\sin\frac{\theta}{2}\qquad s=\cos\frac{\theta}{2}}\end{array}
绕单位向量表示的轴旋转角的旋转变换,可表示成以下四元数:

点的旋转变换可采用四元数的同态变换得到,四元数执行的变换与矩阵执行的变换等效。
\mathbf{R}_{\mathbf{q}}=\left[\begin{array}{ccc}{1-2 y^{2}-2 z^{2}} & {2 x y-2 w z} & {2 x z+2 w y} \\ {2 x y+2 w z} & {1-2 x^{2}-2 z^{2}} & {2 y z-2 w x} \\ {2 x z-2 w y} & {2 y z+2 w x} & {1-2 x^{2}-2 y^{2}}\end{array}\right]

球型线性插值

利用以下等式可对四元数和进行球型线性插值。

其中,,为

则为

你可能感兴趣的:(图形学数学笔记-03坐标变换)