群和2D旋转

定义

如果一个非空集合 G 上定义了一个二元运算 ∙ ,满足如下性质:

  1. 封闭性,即对于\forall a, b \in G,有a\cdot b \in G;
  2. 结合律,即对于\forall a, b, c \in G,有(a\cdot b)\cdot c = a \cdot (b\cdot c);
  3. 单位元:存在单位元e\in G,使得\forall a \in G,有e\cdot a = a \cdot e = a
  4. 逆元:\forall a \in G,存在b\in G,使得a\cdot b = b \cdot a = e

则称 G 关于运算 ∙ 构成一个(group),记为 (G,∙) ,或简记为 G 。

General Linear Group

所有可逆的矩阵组成的群称为一个矩阵群。我们一般处理的都是m行n列的矩阵,矩阵的入口都是实数。我们把这些矩阵记做M_{m,n}(R)

我们在上面的基础上加一个限制,也就是行和列都相等,那么我们可以得到General Linear Group。也就是说GL_n(R)是由N\times N的可逆矩阵组成的,并且矩阵元素都是实数:
GL_n(R) = \{A\in M_n(R),: det(A) \ne 0\}

Orthogonal Group

R上的正交群可以定义为
O(n) = \{A \in GL_n(R): A\cdot A^T = I \}
其中的二元运算\cdot就是常规的矩阵乘法运算,我们一般都省略掉。

从上面我们还可以知道
det(AA^T) = det(A)^2 = det(I) = 1 Rightarrow det(A) = \pm 1

O(n) = \{A \in O(n): det(A) = 1\} \cup \{A \in O(n): det(A) = -1\} = O(n)^+ \cup O(n)^-

Special Orghogonal Group

正交群里面行列式为1的部分组成的群叫做特殊正交群:
SO(n) = \{A \in O(n): det(A) = 1\} = \{A \in GL_n(R): A\cdot A^T = I, \text{ }det(A) = 1 \}
我们研究正交矩阵群,特别是特殊正交群的原因之一就是所谓的isometries

R^n上的isometries是一个保持距离的双射f: R^n \rightarrow R^n:
|| f(x) - f(y) || = || x - y||

也就是说,特殊正交群是保持距离的变换。

2D旋转

定义

[图片上传失败...(image-a992d5-1674467849856)]

如上图,向量\vec{OB}与x轴的夹角为\alpha,它旋转\beta角度之后得到向量\vec{OB'}。现在我们想知道点B'的坐标。

首先,我们假设向量\vec{OB}的长度为L,那么\vec{OB} = [L\cos\alpha, L\sin\alpha]^T。由于旋转并不改变
\begin{aligned} B'_x &= L\cos(\alpha+\beta) = L\cos\alpha \cos\beta - L\sin\alpha\sin\beta = B_x \cos\beta - B_y\sin\beta \\ B'_y &= L\sin(\alpha+\beta) = L\sin\alpha\cos\beta + L\cos\alpha\sin\beta = B_x \sin\beta + B_y\cos\beta \end{aligned}
写成矩阵形式就是
\begin{bmatrix}B'_x \\B'_y \end{bmatrix} = \begin{bmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta\end{bmatrix} \begin{bmatrix}B_x \\ B_y \end{bmatrix}
2D旋转\theta的旋转表达就是
R = \begin{bmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta\end{bmatrix}

SO(2)

我们很容易验证2D旋转矩阵R上对于矩阵乘这个二元运算构成一个群,并且满足特殊正交群的两个要求,我们把二维旋转矩阵称为二维特殊正交群SO(2)。

我们假设现在有两个2D旋转变换
\begin{aligned} R_1 &= \begin{bmatrix}\cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{bmatrix} \\ R_2 &= \begin{bmatrix}\cos\beta & -\sin\beta \\ \sin\beta & \cos\beta \end{bmatrix} \end{aligned}
我们可以得到
\begin{aligned} R_1R_2 &= \begin{bmatrix}\cos(\alpha+\beta) & -\sin(\alpha+\beta) \\ \sin(\alpha+\beta) & \cos(\alpha+\beta) \end{bmatrix} \\ R_2R_1 &= \begin{bmatrix}\cos(\alpha+\beta) & -\sin(\alpha+\beta) \\ \sin(\alpha+\beta) & \cos(\alpha+\beta) \end{bmatrix} \\ \end{aligned}
也就是R_1R_2 = R_2R_1。换句话说,2D旋转群具有交换性,是一个交换群。这个性质在旋转矩阵里面其实是比较特殊的,只有2维的旋转矩阵才具有。

SO(2)与R的关系

2D旋转矩阵虽然有4个元素,但是很容易看出它的自由度只有1,因为四个元素的变量都是旋转角度。

我们定义一个基
B = \begin{bmatrix}0 & -1 \\ 1 & 0 \end{bmatrix}
对于一个标量\alpha,它在这个基下的值为
S = \alpha B = \begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix}
矩阵A是一个2维反对称矩阵。也就是说,标量和二维反对称矩阵是一一映射的。

我们定义从实数标量到反对称矩阵的变换R \rightarrow S
\wedge: R \rightarrow S: \alpha^{\wedge} = \begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix}
同时,我们定义逆变换S \rightarrow R
\vee: S \rightarrow R: \begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix}^{\vee} = \alpha

指数映射

对于标量,我们有泰勒展开
e^{x} = 1 + x + \frac{(x)^2}{2!} + \frac{(x)^3}{3!} + \cdots
对于矩阵M,我们定义M^0 = I。然后定义类似标量的形式我们定义矩阵的指数映射
exp(M) = I + M + \frac{(M)^2}{2!} + \frac{(M)^3}{3!} + \cdots
对于我们上面提到的基矩阵,我们有
\begin{aligned} B^1 &= B \\ B^2 &= \begin{bmatrix}0 & -1 \\ 1 & 0 \end{bmatrix}\begin{bmatrix}0 & -1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix}-1 & 0 \\ 0 & -1\end{bmatrix} \\ B^3 &= \begin{bmatrix}-1 & 0 \\ 0 & -1\end{bmatrix} \begin{bmatrix}0 & -1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -1 & 0\end{bmatrix} = -B \\ B^4 &= -B^2 \\ B^5 &= B \\ \vdots \end{aligned}

然后我们根据这个指数映射计算一下2D反对称矩阵的指数映射
\begin{aligned} exp(S) & = exp(\alpha B) \\ & = I + \alpha B + \frac{\alpha^2}{2!}B^2 + \frac{\alpha^3}{3!}B^3 + \frac{\alpha^4}{4!}B^4 + \cdots \\ &= I + (\alpha - \frac{\alpha^3}{3!} + \frac{\alpha^5}{5!} + \cdots)B + (\frac{\alpha^2}{2!} - \frac{\alpha^4}{4!}+\cdots)B^2 \\ &= I + \sin\alpha B + (1-\cos\alpha)B^2 \\ &= \begin{bmatrix}1 & 0 \\0 & 1\end{bmatrix} + \sin\alpha \begin{bmatrix}0 & -1 \\ 1 & 0\end{bmatrix} + (1-\cos\alpha)\begin{bmatrix}-1 & 0 \\ 0 & -1\end{bmatrix} \\ &= \begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix} \end{aligned}
也就是说上面定义的指数映射把一个2维反对称矩阵映射成了一个2维旋转矩阵。

我们也定一个一个对数映射
log(R) = log(\begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix}) = \begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix}
根据三角函数函数的周期性,我们可以看出旋转矩阵的对数映射其实是一个一对多的映射,因为\cos\alpha = \cos(\alpha + 2\pi n)。我们可以限制\alpha \in [0, \pi]来得到一个唯一的\alpha值。

我们还可以定义标量到2D旋转矩阵的变换以及旋转矩阵到标量的变换,它们上面的指数映射和对数映射一起列在下面:
\begin{aligned} \exp: &S\mapsto SO(3): &\exp(\begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix}) &= \begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix} \\ log: & SO(3) \mapsto S: &log(\begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix}) &= \begin{bmatrix}0 & -\alpha \\ \alpha & 0 \end{bmatrix} \\ Exp: & R \mapsto SO(3): & Exp(\alpha) &= \begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix} \\ Log: & SO(3)\mapsto R: & Log(\begin{bmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & cos\alpha \end{bmatrix} ) &= \alpha \end{aligned}

更多文章在公众号“探知轩”发布,欢迎关注。

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

推荐阅读更多精彩内容