xy平面上の任意の点Rxy(Rxy=(rx,ry))を
原点を中心としてθ回転させた点の座標Ruv(Ruv=(ru,rv))を考える。
点Rxyの原点からの距離をr、線分ORxyのx軸からy軸に向かって測ったx軸とのなす角をαとおけば、
rx=rcosα、ry=rsinαで与えられる。
座標に対応する単位ベクトルで表せば、xy座標に対応する単位ベクトルをex、eyとおいて、
Rxy=rxex+ryey
と表される。また、(eu、ev、ex、eyは(座標の方向を表す単位ベクトルというだけでなく)座標で表されるという意味で、ベクトルの変換に対してRxyと同じに扱ってよいので、)ex、eyをRxyと同様にθ回転させたベクトルをeu、evとおけば、Rxy、ex、eyと同様の関係があるので、
Ruv=rxeu+ryev
と表される。図を参考にして、eu、evをex、eyで表せば、
eu=cosθex+sinθey、ev=−sinθex+cosθey
であることが分かる。図より、
Ruv=rxeu+ryev
=rx(cosθex+sinθey)+ry(−sinθex+cosθey)
=ruex+rvey
ex、eyにかかる係数を比較すれば、
ru=cosθrx−sinθry=r(cosθcosα−sinθsinα)
rv=sinθrx+cosθry=r(cosθsinα+sinθcosα)
変換行列Uによって、xy座標で表現される(ru,rv)と(rx,ry)の関係は
のように表現される。
図より、ru=rcos(α+θ)、rv=rsin(α+θ)と表すことが可能である。ゆえに、
ru=r(cosθcosα−sinθsinα)=rcos(α+θ)
rv=r(cosθsinα+sinθcosα)=rsin(α+θ)
なる関係があることが分かる。次のような三角関数の和積の関係(公式)が導かれる。
cos(α+θ)=cosθcosα−sinθsinα
sin(α+θ)=cosθsinα+sinθcosα
euは、ex(=(1,0))をθ回転、evは、ey(=(0,1))をθ回転させて得られることから点を表すベクトル表現において、位置を表すベクトルの係数は変えずに、座標に対応するベクトルだけ変換すれば、点の回転が得られることが分かる。
(メリーゴーランドの木馬に乗っている人はメリーゴーランドの回転(座標に対応するベクトルの回転)とともに移動する。木馬との位置関係(座標に対応するベクトルにかかる'位置を表すための係数')は変わらない。)
euの方向にu軸を、evの方向にv軸を設定したことに相当する。(u軸はx軸をθ回転、v軸はy軸をθ回転させて得られる。(xy平面をz軸の周りでθ回転させたのがuv座標)uv座標では、xy座標の場合と同じ成分として点が与えられる。)
すべての点が、原点に対して同じだけ(θだけ)回転されるので、点の集合がある図形を与えていれば、回転後の図形は回転前と合同である。
複数のベクトルを回転させても、ベクトル相互の関係は不変である。(メリーゴーランドに乗って眺めれば、木馬の位置は不変である。)
三次元空間での回転
xyz空間における原点を通る直線を軸にした回転について考える。
先に考えたxy平面における回転を三次元に拡張すると、xy平面における回転は、z軸の正の方向から原点を眺めたときのxy平面に射影される点の回転に相当する。すなわち、z軸の正の方向から原点を眺めたとき、z軸を回転軸として左回りに回転させる(原点からz軸の正の方向を眺めたとき右回りに回転させる)ことになる。
z軸の周りのθ回転を表す行列
同様にx軸、y軸の周りの回転を考えると、
x軸周りのθ回転を表す行列
y軸周りのθ回転を表す行列
これらの変換は、回転であるのでベクトル相互の関係は変わらない。一般に、el(=(lx、ly、lz)
(単位ベクトルであるから、lx2+ly2+lz2=1)の軸の周りのθ回転を考える場合には、elをどれかの座標軸に一致させれば、回転を記述することができる。次の手順で回転を表す行列を求める。
@z軸で回転させて、elをyz平面に移動させる。(回転角をγとする)
Ax軸で回転させて、elをz軸と一致させる。(回転角をαとする)
Bz軸(elと一致している)で任意の点R(x,y,z)をθ回転させる。
Cx軸で点Rを−α回転させる。
Dz軸で点Rを−γ回転させる。
z軸の周りで回転させても、z軸とelのなす角は変わらないので、z軸とelのなす角はαである。
また、elのxy平面への射影がy軸とのなす角がγであるから、αとγを用いれば、
lx=sinαsinγ
ly=sinαcosγ
lz=cosα
で与えられる。
@z軸周りの回転なので、
(lx、ly、lz)→(0,(1−lz2)1/2,lz)
へ変換される。
Ax軸周りの回転なので、(0,(1−lz2)1/2,lz)→(0,0,1)
へ変換される。
ここまでの変換によって、elはz軸に一致する。同様の変換を注目する点(ベクトル)にも適用すれば、
点R(x,y,z)は、@、Aの変換によって
まとめれば
で点R'(x',y',z')へ移される。
ここで、行列Tは、ベクトルelを(0,0,1)へ移す変換の一つ(変換@A)を表す。
この変換で得られた点R'をz軸に関してθ回転させた点R''(x'',y'',z'')は次のように表される。
C、Dの変換も同様に考えて行えば、elを軸としたθ回転後の点R位置点R"(x''',y''',z''')は次のように表される。
変換CDが、変換@Aの逆変換であることを考えると、上の表現は行列Tの逆行列によって、
とも与えられる。
となっているはずである。
(x,y,z)→(x''',y''',z''')の変換は次のように表される。
次の行列Uによって、elの周りのθ回転が記述されることが分かる。
ただし、μ=1−cosθとおいた。lx、ly、lzであらわせば、
原点を起点とするel(=(lx、ly、lz) (単位ベクトルであるから、lx2+ly2+lz2=1)を軸としたθ回転(elの終点から起点を見たとき左回りの回転を正の方向とする)は、回転前の点をr、回転後の点をr'とすれば、r'=Urで与えられる。もし、rで何かの形を与える点の集合が代表されていれば、r'の点の集合で与えられる形はrの点の集合の与える形と合同となる。(点をelに関して同じだけ回転するのであるからあたりまえ)
例えば、(1,1,1)軸を中心とした2π/3回転を表す行列は、(lx,ly,lz)=(1/31/2,1/31/2,1/31/2)、θ=2π/3であるから、
であたえられる。実際、この変換を行うとex(=(1,0,0))→ey(=(0,1,0))、ey→ez(=(0,0,1))、ez→exになることが分かる。