n维空间中在给定平面中的旋转矩阵的问题
本文最后更新于438 天前,其中的信息可能已经过时,如有错误请发送邮件到lysun26@163.com

问题

$\mathbf{a}$,$\mathbf{b}$是n维空间中的任意两个不相关的列向量,试构建一个在$\mathbf{a}$,$\mathbf{b}$所在的平面旋转任意角度$\theta$的矩阵。

解答

本题有多种方法,在这里列举两个方法。

方法一:利用二维旋转矩阵

利用二维空间的旋转矩阵,将这个问题化为二维的问题。

已知二维的旋转矩阵为:

$$
M=\begin{bmatrix}
\mathrm{cos\theta} & \mathrm{-sin\theta}\\
\mathrm{sin\theta} & \mathrm{cos\theta}
\end{bmatrix}
$$

我们首先对这两个列向量进行施密特正交化,得到这个平面的一组正交基$q_1$和$q_2$,记$\mathbf{Q}=[\mathbf{q_1}\ \ \mathbf{q_2}]$.

$$
q_1=\frac{a}{||a||},\ q_2=\frac{b-(b\cdot q_1)q_1}{||b-(b\cdot q_1)q_1||}
$$

对这个平面的任一向量$\mathbf{v}$,我们可以表示为$\mathbf{v}=x\mathbf{q_1}+y\mathbf{q_2}$。因此,我们可以利用矩阵$Q$将向量$v$转为二维向量,即$\mathbf{Q^{T}v}$,可以得到$\begin{bmatrix}x \\y \end{bmatrix}$。然后我们可以利用旋转矩阵$M$将其旋转$\theta$,得到旋转后的向量。即:

$$
\mathbf{M}\mathbf{Q^{T}v}=\begin{bmatrix}x' \\ y' \end{bmatrix}
$$

然后恢复到n维向量即可。可以得到旋转后的向量$\mathbf{w}$:

$$
\mathbf{w}=\mathbf{QM}\mathbf{Q^{T}v}=\mathbf{R}\mathbf{v}
$$

可以得到旋转矩阵:

$$
\mathbf{R}=\mathbf{QM}\mathbf{Q^{T}}
$$

方法二:特征值和特征向量法

利用特征值和特征向量方法。由于旋转操作对应着复特征值,其特征值的辐角为旋转的角度,旋转平面的由特征向量的实部和虚部构成。

因此,我们可以写出特征值和特征向量:

$$
y_1=a+bi,\ y_2=a-bi
$$

特征值为:

$$
\lambda_1=e^{ix},\ \lambda_2=e^{-ix}
$$

我们可以将矩阵分解成:

$$
Q=UDU^{-1}
$$

其中,$U$为特征向量组成的矩阵,$D$为特征值组成的对角矩阵。而对于特征值分解,有一种特殊的情况,引入酉矩阵(Unitary Matrix),也叫幺正矩阵。

酉矩阵:其共轭转置为其逆矩阵的复数方阵,即:

$$
U^{H}U=I_n,\ U^{-1}=U^{H}
$$

其中,$U^{H}$为共轭转置。

酉矩阵是正交矩阵在复数的推广。

因此,对于上述特征值分解,当我们知道$U$中每一列特征向量均正交时,那么这个矩阵就是酉矩阵,那么分解就可以写成:

$$
Q=UDU^H
$$

展开可得:

$$
\begin{aligned}
Q&=UDU^H \\
&=\begin{bmatrix}
u_1 & u_2 & \cdots & u_n
\end{bmatrix}
\begin{bmatrix}
\lambda_1 & & & \\
& \lambda_2 & & \\
& & \ddots & \\
& & &\lambda_n
\end{bmatrix}
\begin{bmatrix}
u_1^H\\
u_2^H\\
\vdots \\
u_n^H
\end{bmatrix}
\\
&= \lambda_1u_1u_1^H+\lambda_2u_2u_2^H+\cdots+\lambda_nu_nu_n^H
\end{aligned}
$$

据此,我们就可以写出其旋转矩阵。但是,这个形式需要有前提条件,即特征向量正交。因此,我们需要$y_1$和$y_2$正交。

$$
\begin{aligned}
y_1^Hy_2&=(a+bi)^H(a-bi) \\
&=(a^T-b^Ti)(a-bi) \\
&=a^Ta-b^Tb-2a^Tbi
\end{aligned}
$$

由上式可得,如果正交,需要让$a^Ta-b^Tb=0$以及$a^Tb=0$。

因此,我们需要$a$和$b$模长相等并且正交。因此,我们首先需要对$a$和$b$进行Schmidt单位正交化。

$$
q_1=\frac{a}{||a||},\ q_2=\frac{b-(b\cdot q_1)q_1}{||b-(b\cdot q_1)q_1||}
$$

有问题可以留言哦~ 觉得有帮助也可以投喂一下博主,感谢~
文章链接:https://www.corrain.top/n-dimension-rotation/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章地址及作者
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
( ゜- ゜)つロ
_(:з」∠)_
(⌒▽⌒)
( ̄▽ ̄)
(=・ω・=)
(*°▽°*)八(*°▽°*)♪
✿ヽ(°▽°)ノ✿
(¦3【▓▓】
눈_눈
(ಡωಡ)
_(≧∇≦」∠)_
━━━∑(゚□゚*川━
(`・ω・´)
( ̄3 ̄)
✧(≖ ◡ ≖✿)
(・∀・)
(〜 ̄△ ̄)〜
→_→
(°∀°)ノ
╮( ̄▽ ̄)╭
( ´_ゝ`)
←_←
(;¬_¬)
(゚Д゚≡゚д゚)!?
( ´・・)ノ(._.`)
Σ(゚д゚;)
Σ(  ̄□ ̄||)<
(´;ω;`)
(/TДT)/
(^・ω・^)
(。・ω・。)
(● ̄(エ) ̄●)
ε=ε=(ノ≧∇≦)ノ
(´・_・`)
(-_-#)
( ̄へ ̄)
( ̄ε(# ̄) Σ
(╯°口°)╯(┴—┴
ヽ(`Д´)ノ
("▔□▔)/
(º﹃º )
(๑>؂<๑)
。゚(゚´Д`)゚。
(∂ω∂)
(┯_┯)
(・ω< )★
( ๑ˊ•̥▵•)੭₎₎
¥ㄟ(´・ᴗ・`)ノ¥
Σ_(꒪ཀ꒪」∠)_
٩(๛ ˘ ³˘)۶❤
(๑‾᷅^‾᷅๑)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
小黄脸
热词系列一
tv_小电视
上一篇
下一篇