みさご解体新書

回転行列

解説/アルゴリズム

(cosθsinθsinθcosθ)×(xy)=(xcosθysinθxsinθ+ycosθ)\begin{pmatrix} cosθ & -sinθ \\ sinθ & cosθ \end{pmatrix}\times\begin{pmatrix} x \\ y \end{pmatrix}=\begin{pmatrix} xcosθ-ysinθ \\ xsinθ+ycosθ \end{pmatrix}

点 A の座標を (rcosα,rsinα)(rcos\alpha, rsin\alpha) としたとき、移動先の点 B の座標は (rcos(α+β),rsin(α+β))(rcos(\alpha+\beta), rsin(\alpha+\beta)) となる。

点 B の座標は加法定理から以下のように展開される。

  • rcos(α+β)=r(cosαcosβsinαsinβ)=rcosαcosβrsinαsinβrcos(\alpha+\beta) = r(cos \alpha cos\beta-sin \alpha sin\beta) = rcos \alpha cos\beta-rsin \alpha sin\beta
  • rsin(α+β)=r(sinαcosβ+cosαsinβ)=rsinαcosβ+rcosαsinβrsin(\alpha+\beta) = r(sin \alpha cos \beta +cos \alpha sin \beta ) = rsin \alpha cos \beta +rcos \alpha sin \beta

点 A の座標 (x, y) は (rcosα,rsinα)(rcos\alpha, rsin\alpha) なので、上記の式に代入すると下記のようになる。

  • xcosβysinβxcos\beta-ysin\beta
  • ysinβ+xcosβysin\beta+xcos\beta