読者です 読者をやめる 読者になる 読者になる

倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

2次元で「平行移動 + 回転 = 回転」も示しておくよ

前回に「回転の後に平行移動を施すと、別の点の周りの回転になる」ことを示しました。 今回は先に平行移動して、その後に回転を施した場合にも、別の点の周りの回転になることを示します。 また、その回転の中心も求めます。

「平行移動 + 回転 = 回転」の証明

前回と同じように同次座標を用います。 その他の記号も前回参照。

「平行移動 + 回転」
{ x,\,y } 方向にそれぞれ { p,\,q } だけ平行移動する変換を { D(p,\,q) }、原点の周りに角度 { \theta } だけ回転する変換を { R(\theta) } とすると、「平行移動 + 回転」の変換は

  { \displaystyle
\begin{align*}
R(\theta)D(p,\,q)
&= \begin{pmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{pmatrix}
\begin{pmatrix} 1 & 0 & p \\ 0 & 1 & q \\ 0 & 0 & 1 \end{pmatrix} \\
&= \begin{pmatrix} \cos\theta & -\sin\theta & p\cos\theta - q\sin\theta \\
\sin\theta & \cos\theta & p\sin\theta + q\cos\theta \\
0 & 0 & 1
\end{pmatrix}
\end{align*}
}

となります。 前回の「回転 + 平行移動」に比べて3列目がちょっと複雑。

原点以外の点の周りの回転
これは前回やったので結果だけ。 点 { A(a,\,b) } の周りに角度 { \theta } だけ回転する変換は

  { \displaystyle
\begin{align*}
D(a,\,b)R(\theta)D(-a,\,-b)
= \begin{pmatrix}
\cos\theta & -\sin\theta & -a\cos\theta + b\sin\theta + a \\
\sin\theta & \cos\theta & -a\sin\theta - b\cos\theta + b \\
0 & 0 & 1
\end{pmatrix}
\end{align*}
}

でした。

これが等価な変換になるためには・・・
回転角は同じになる必要があるのは前回の場合と同じ。 で、3列目が等しくなるためには

  { \displaystyle
\begin{align*}
\begin{cases}
p\cos\theta - q\sin\theta &= -a\cos\theta + b\sin\theta + a \\
p\sin\theta + q\cos\theta &= -a\sin\theta - b\cos\theta + b
\end{cases} \qquad \cdots (1)
\end{align*}
}

これを { a,\,b } についての連立方程式とみて、{ a,\,b }{ p,\,q,\,\theta } で表してやれば OK。 これはそんなに難しくありませんが、まず、前回同様、点 { A(a,\,b) } がどのあたりにあるのかを見てみましょう。 (1) 式より

  { \displaystyle
\begin{align*}
\begin{cases}
(p + a)\cos\theta - (q + b)\sin\theta &= a \\
(p + a)\sin\theta + (q + b)\cos\theta &= b
\end{cases}
\end{align*}
}

各式の両辺を自乗して、辺々を加えると

  { \displaystyle
\begin{align*}
(p+a)^2 + (q+b)^2 = a^2 + b^2
\end{align*}
}

となります。 この方程式で表される点 { A(a,\,b) } は、点 { P(p,\,q) } と原点に関して対称な点を { P'(-p,\,-q) } として、原点と点 { P' } から等距離にあることが分かります。 つまり、線分 { OP' } の垂直二等分線上にあります。 ちなみに、前回の回転の中心は線分 { OP } の垂直二等分線上にあるのでした。

さて、(1) 式に戻って、これを { a,\,b } について解いて見ましょう。 行列の形で書くと

  { \displaystyle
\begin{align*}
\begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}
\begin{pmatrix} p \\ q \end{pmatrix}
&= \begin{pmatrix} 1-\cos\theta & \sin\theta \\ -\sin\theta & 1-\cos\theta\end{pmatrix}
\begin{pmatrix} a \\ b\end{pmatrix}
\end{align*}
}

回転行列 { R(\theta) } と前回用いた行列 { \Theta(\theta) } *1 を用いると

  { \displaystyle
\begin{align*}
R(\theta)\begin{pmatrix} p \\ q \end{pmatrix}
&= \Theta(\theta) \begin{pmatrix} a \\ b \end{pmatrix} &
\left( \Theta(\theta) = \begin{pmatrix} 1-\cos\theta & \sin\theta \\ -\sin\theta & 1-\cos\theta\end{pmatrix} \right)
\end{align*}
}

両辺に左から { \Theta^{-1}(\theta) } をかけると

  { \displaystyle
\begin{align*}
\begin{pmatrix} a \\ b \end{pmatrix}
&= \Theta^{-1}(\theta)R(\theta)\begin{pmatrix} p \\ q \end{pmatrix} \\
&= \tfrac{1}{2}\begin{pmatrix} 1 & -\cot\tfrac{\theta}{2} \\ \cot\tfrac{\theta}{2} & 1 \end{pmatrix}
\begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}
\begin{pmatrix} p \\ q \end{pmatrix} \\
&= -\tfrac{1}{2}\begin{pmatrix} 1 & \cot\tfrac{\theta}{2} \\ -\cot\tfrac{\theta}{2} & 1 \end{pmatrix}
\begin{pmatrix} p \\ q \end{pmatrix}
\end{align*}
}

よって

  { \displaystyle
\begin{align*}
\begin{cases}
a &= -\tfrac{1}{2}\left(p + q\cot\tfrac{\theta}{2}\right) \\
b &= -\tfrac{1}{2}\left(-p\cot\tfrac{\theta}{2} + q\right)
\end{cases}
\end{align*}
}

となります。 これは、線分 { OP' } の中点を { M' } として、{ \angle OAM' = \tfrac{\theta}{2} } もしくは({ \angle OM'A = \tfrac{\pi}{2} } より) { \angle AOM' = \tfrac{\pi-\theta}{2} } となる位置に点 { A } があることを示しています。 この説明だけだと、点 { A } は線分 { OP' } の垂直二等分線上で { M' } にとってどちら側にあるのか限定できてませんが(これは前回も同じでしたが。 図でお茶を濁してました)、ちょっと示すのが面倒なので省略します。 とりあえず、「平行移動 + 回転」も別の点の周りの回転で表せる、ということは示せました。

線型代数入門 (基礎数学1)

線型代数入門 (基礎数学1)

*1:前回は引数を書いてませんでしたが付け加えました。