2次元幾何変換(回転)の式の求め方

ばかばかしいけど、本に載ってる式を見たとき、なぜ求まるのかわからなかったので、調べた内容をメモしておく。


以下のように、原点を中心に反時計回りに\theta回転するとする。

回転前の点をP、回転後の点をP'、辺OPの長さをrとする。


このとき、以下の公式が成り立つと教科書などには書いてある。
\left\{x'=x\cos\theta-y\sin\theta\\y'=x\sin\theta+y\cos\theta\right.


では、なぜこれが成り立つのか。
これには、三角関数の加法定理を使う。使うのは以下の式。
\left\{\sin(\alpha+\beta)=sin\alpha\cos\beta+\cos\alpha\sin\beta\\\cos(\alpha+\beta)=\cos\alpha\cos\beta-sin\alpha\sin\beta\right.


以下のように、OPの角度を\alphaOPOP'間の角度を\betaとする。


加法定理を変形していくと、回転の式が求まる。


y'は以下のように求まる。
\sin(\alpha+\beta)=sin\alpha\cos\beta+\cos\alpha\sin\beta
\frac{y'}{r}=\frac{y}{r}\cos\beta+\frac{x}{r}\sin\beta
y'=x\sin\beta+y\cos\beta


x'は以下のように求まる。
\cos(\alpha+\beta)=\cos\alpha\cos\beta-sin\alpha\sin\beta
\frac{x'}{r}=\frac{x}{r}\cos\beta-\frac{y}{r}\sin\beta
x'=x\cos\beta-y\sin\beta


3次元の場合は2次元の式を複数使うと簡単に対応できる。


以上のようになる。
三角関数は高校時代にやったが、ひさしぶりでほとんど忘れていた。
あと、texも久しぶりに書いたが、こちらは昔バイトで使ってただけあってすぐに慣れた。