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

坐标变换

正交矩阵

一个可逆的n \times n矩阵\mathbf{M},当且仅当\mathbf{M}^{-1}=\mathbf{M}^{T}时,矩阵\mathbf{M}正交矩阵。如果一个矩阵的列向量集合构成一个正交向量集,则该矩阵为正交矩阵。

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

对于任意向量\mathbf{P},下式成立
\|\mathbf{M}\mathbf{P}\|=\|\mathbf{P}\|
对于任意两个向量\mathbf{P}_{1}\mathbf{P}_{2},下式成立
(\mathbf{M} \mathbf{P}_{1}) \cdot (\mathbf{M} \mathbf{P}_{2})= \mathbf{P}_{1} \cdot \mathbf{P}_{2}

偏手性

在三维空间中,由3D向量\mathbf{V}_{1},\mathbf{V}_{2},\mathbf{V}_{3}组成的坐标系的基\mathcal{B}具有偏手性,当(\mathbf{V}_{1}\times \mathbf{V}_{2})\cdot \mathbf{V}_{3}>0时,\mathcal{B}称为右手螺旋基。在右手坐标系中,向量\mathbf{V}_{1}\mathbf{V}_{2}外积的方向遵循右手螺旋定律,与向量\mathbf{V}_{3}的方向之间的夹角为锐角。

如果\mathcal{B}右手螺旋正交基,则\mathbf{V}_{1}\times \mathbf{V}_{2}=\mathbf{V}_{3}。反之,当(\mathbf{V}_{1}\times \mathbf{V}_{2})\cdot \mathbf{V}_{3}<0时,\mathcal{B}称为左手螺旋基

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

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

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

比例变换

在三维空间中,比例变换的变换矩阵如下:
\mathbf{P}'=\left[ \begin{array}{lll}{a} & {0} & {0} \\ {0} & {b} & {0} \\ {0} & {0} & {c}\end{array}\right]\left[ \begin{array}{l}{P_{x}}\\{P_{y}}\\{P_{z}}\end{array}\right]
其中,如果a=b=c,则变换为均匀变换,可用标量乘法实现均匀变换。

旋转变换

x,y,z轴旋转\theta角的旋转变换,其旋转矩阵分别如下:
\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{A}旋转\theta角的旋转变换的变换矩阵为
\text{proj}_{A} \mathbf{P}=(\mathbf{A } \cdot \mathbf{P})\mathbf{A}\qquad \text{perp}_{A} \mathbf{P}=\mathbf{P}- (\mathbf{A } \cdot \mathbf{P})\mathbf{A}
\mathbf{P}'=\mathbf{P}\cos\theta +(\mathbf{A} \times \mathbf{P})\sin \theta +\mathbf{A}(\mathbf{A} \cdot \mathbf{P})(1-\cos \theta)
换为等价矩阵,合并得
\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]
其中
\left\{\begin{array}{l}{c=\cos\theta}\\{s=\sin\theta} \end{array}\right.

齐次坐标

给表示三维点\mathbf{P}的向量增加第四个坐标w,且w=1,可将其扩展成点向量的四维齐次坐标表示形式。

给表示三维方向\mathbf{D}的向量增加第四个坐标w,且w=0,可将其扩展成方向向量的四维齐次坐标表示形式。

一个3 \times 3变换矩阵\mathbf{M}和3D平移向量\mathbf{T}组合成一个4 \times 4变换矩阵,该矩阵可用于点的变换,如下所示:
\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]

法向量变换

切向量\mathbf{T}'和法向量\mathbf{N}',给定一个变换矩阵\mathbf{M}\mathbf{T}'=\mathbf{M}\mathbf{T}。假设法向量\mathbf{N}的变换矩阵为\mathbf{G},则下式成立:
\mathbf{N}' \cdot \mathbf{T}'=(\mathbf{G}\mathbf{N})\cdot (\mathbf{M}\mathbf{T})=0
经代数变换
\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}
法向量的变换必须使用该矩阵的转置矩阵的逆矩阵,即(\mathbf{F}^{T})^{-1}

四元数

数学家把四元数集合称为Hamilton四元数环,表示为\mathbb{H},可以看做四维向量空间,其中元素\mathbf{q}可以表示以下形式:
\mathbf{q}=\langle w,x,y,z\rangle=w+xi+yj+zk=s+\mathbf{v}
其中s表示与\mathbf{q}w分部对应的标量部分,是\mathbf{v}\mathbf{q}x,y,z分布对应的向量部分。
\begin{aligned}&i^{2}+j^{2}+k^{2}=-1\\&ij=-ji=k\\&jk=-kj=i\\&ki=-ik=j\end{aligned}

四元数乘法不满足交换律,给定四元数\mathbf{q}_{1}=s_{1}+\mathbf{v}_{1},\mathbf{q}_{2}=s_{2}+\mathbf{v}_{2},则有
\mathbf{q}_{1}\mathbf{q}_{2}=s_{1}s_{2}-\mathbf{v}_{1}\cdot\mathbf{v}_{2}+s_{1}\mathbf{v}_{2}+s_{2}\mathbf{v}_{1}+\mathbf{v}_{1}\times \mathbf{v}_{2}

四元数有共轭的性质,四元数\mathbf{q}=s+\mathbf{v}的共轭可表示为\mathbf{\bar{q}},且\mathbf{\bar{q}}=s-\mathbf{v},且有:
\mathbf{q}\mathbf{\bar{q}}=\mathbf{\bar{q}}\mathbf{q}=\mathbf{q}\cdot \mathbf{q}=\|\mathbf{q}\|^{2}=\mathbf{q}^{2}
非0四元数\mathbf{q}倒数可表示为\mathbf{q}^{-1},计算如下:
\mathbf{q}^{-1}=\frac{\mathbf{\bar{q}}}{\mathbf{q}^{2}}
同旋转变换的变换矩阵的等式得出
\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{A}表示的轴旋转\theta角的旋转变换,可表示成以下四元数\mathbf{q}
\mathbf{q}=s+\mathbf{v}=\cos\frac{\theta}{2}+\mathbf{A}\sin\frac{\theta}{2}
\mathbf{P}的旋转变换可采用四元数\mathbf{q}的同态变换得到\mathbf{P}'=\mathbf{q}\mathbf{P}\mathbf{q}^{-1},四元数\mathbf{q}=\langle w, x, y, z\rangle执行的变换与矩阵\mathbf{R}_{\mathbf{q}}执行的变换等效。
\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]

球型线性插值

利用以下等式\mathbf{q}(t)可对四元数\mathbf{q}_{1}\mathbf{q}_{2}进行球型线性插值。
q(t)=\frac{\sin \theta(1-t)}{\sin \theta} \mathbf{q}_{1}+\frac{\sin \theta t}{\sin \theta} \mathbf{q}_{2}
其中,0 \leq t \leq 1\theta
\theta =\cos^{-1}(\mathbf{q}_{1}\cdot \mathbf{q}_{2})
\sin\theta
\sin\theta =\sqrt{1-(\mathbf{q}_{1}\cdot \mathbf{q}_{2})^{2}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342