Euler angle:Rotation of coordinate axes and rotation of molecular axes
Masahiro Yamamoto
modified on June 7, 2014 4 : 27 pm
例えば分子内に固定された座標系 {x′ , y′ , z′ } (例えば，量子化学計算で求められたある分子内の原子の xyz 座標）を，空間に固定された実験室系の座標系 {x, y, z} で表すことを考える。実験室系からみて分子が自由に並進・回転している場合，分子系で固定された座標系 {x′ , y′ , z′ } はその運動とともに並進・回転している。分子が剛体であるとすれば，分子に乗っかって並進・回転運動している観測者からは，分子は静止している。お互いの座標系は，原点が一致するように並進移動させると，後は座標系の回転の問題となる。

yFy’Dx’ECGBHxOAFigure 1: 2 次元平面内での座標系の回転 {x, y} → {x′ , y′ }1

回転

2 次元の場合の座標系の回転を Fig.1 に示した。実線の座標系 {x, y} は太線の座標系 {x′ , y′ } に回転角 ϕ で移動す⃗ を考えその座標 (x, y) が (x′ , y′ ) とどのように関係にあるのか調べる。
る。ベクトル ODx = |OA| = |FD|, y = |OF| = |AD|,(1)

ϕ = ∠AOB = ∠FOG = ∠CDB = ∠EDF

(2)

x′= |OC| = |OB| + |BC| = |GF| + |DE| = |OF| sin ∠FOG + |DF| cos ∠EDF = y sin ϕ + x cos ϕ(3)′= |OH| = |OG| − |GH| = |OG| − |FE| = |OF| cos ∠FOG − |FD| sin ∠EDF = y cos ϕ − x sin ϕ(4)yz 軸まで含めて考えると
 
 ′ 
 cos ϕ sin ϕ 0   x  x  y′  =  − sin ϕ cos ϕ 0   y   
 ′ z001z(5)

一般には，ベクトルと行列でr′ = Ar, 
 ′   x   a11 a12 a13   x  
 ′   y  =  a21 a22 a23   y z
a31 a32 a33z′1(6)x′ = a11 x + a12 y + a13 z(7)y′= a21 x + a22 y + a23 z(8)z′

= a31 x + a32 y + a33 z(9)と書かれる。また，変換前後でベクトルの長さ（ノルム）は変わらないので
 ′  x ′ 2′ 2′ 2′ 2′ ′ ′ (r ) = (x ) + (y ) + (z ) = (x , y , z )  y′  [= (r′ )T r′ ]
 ′ z  a11 a21 a31   a11 a12 a13   x  
= (x, y, z)  a12 a22 a32   a21 a22 a23   y  = rT AT Ar
 a13 a23 a33
a31 a32 a33z(10)

ここで，T は，行列要素 ai j の i と j を入れ替える，すなわち転置することを意味する。定義より (r′ )T = (Ar)T =rT AT となることは明白である。最後の項が，rT r になるためには，

AT A = 1
TA(11)−1= A(12)である。

2 Euler anglez''' θ z,z''
Step(I) and (II)
(I)

xy'''
θy''
Φ

Φ

(II)

yx'', x'''Figure 2: Step(I) は細い矢印，Step(II) は太い矢印で座標系が回転している。回転の軸を，破線の矢印で示している。ϕ, θ は，0 ≤ ϕ ≤ 2π, 0 ≤ θ ≤ π である。
次に，実験室系であらわさている座標系 (x, y, z) を分子系で表されている座標系 (x′ , y′ , z′ ) に変換する。Step (I):z 軸回りに ϕ(= ∠xOx′′ = ∠yOy′′ ) 回転させ (r′′ = A(ϕ)r)，さらに Step (II) x” 軸の回りに θ(= ∠z′′ Oz′′′ = ∠y′′ Oy′′′ )回転させる (r′′′ = B(θ)r′′ )。最後に，Step (III): z”’ 軸の回りで ψ = ∠x′′′ Ox′ = ∠y′′′ Oy′ 回転させて (r′ = C(ψ)r′′′ )，x′ , y′ , z′ 軸系にする。
従って，r′ = C(ψ)B(θ)A(ϕ)r = D(ψ, θ, ϕ)r(13) cos ψ sin ψ 0 C(ψ) =  − sin ψ cos ψ 0  ,00100  1
B(θ) =  0 cos θ sin θ 
0 − sin θ cos θ2(14)z''',z'y'z,z''ψ

Step (III)ψx'', x'''

y'''

x'

Figure 3: Step(III) の回転で，z′′′ 軸のまわりに ψ 回転させている。z, z” 軸は見やすくするために書いてものであり，Step(III) の回転には関係ない。ψ は，0 ≤ ψ ≤ 2π である




00   cos ϕ sin ϕ 0  cos ψ sin ψ 0   1

D(ψ, θ, ϕ) =  − sin ψ cos ψ 0   0 cos θ sin θ   − sin ϕ cos ϕ 0 0010 − sin θ cos θ001
cos ϕsin ϕ0  cos ψ sin ψ 0  =  − sin ψ cos ψ 0   − cos θ sin ϕ cos θ cos ϕ sin θ 

001sin θ sin ϕ − sin θ cos ϕ cos θcos ψ sin ϕ + sin ψ cos θ cos ϕ sin ψ sin θ  cos ψ cos ϕ − sin ψ cos θ sin ϕ=  − sin ψ cos ϕ − cos ψ cos θ sin ϕ − sin ψ sin ϕ + cos ψ cos θ cos ϕ cos ψ sin θ sin θ sin ϕ− sin θ cos ϕcos θ(15)また，分子座標系から実験室系への座標変換は逆変換であり，以下のようにあらわすことができる。

r = D−1 r′ = DT r′ cos ψ cos ϕ − sin ψ cos θ sin ϕ − sin ψ cos ϕ − cos ψ cos θ sin ϕ sin θ sin ϕ DT =  cos ψ sin ϕ + sin ψ cos θ cos ϕ − sin ψ sin ϕ + cos ψ cos θ cos ϕ − sin θ cos ϕ 
sin ψ sin θcos ψ sin θcos θDT= (CBA)T = AT BT C T

(16)
(17)
(18)

3 Example1
以下の図のような Y 型の分子を考える。分子座標系 r′ から実験室系 r への座標変換について求める。
分子に固定した座標系 (x′ , y′ , z′ ) は，O = (0,0,0), a =(0, 0, 2a), b = (2a, 0, 4a), c = (−a, 0, 3a) とおく。今，a = 1
で，ϕ = 0˚, θ = 30˚, ψ = 50˚の場合を考える。Eq.(16)-Eq.(18) を用いると，[0(-1)0] 方向に 30˚Oa 軸は傾き，その傾いた Oa 軸回りに 50˚c-a-b は回転する。Fig.4 にその様子を示す。また，計算に用いた Fortran プログラムも示す。
fm.ehcc.kyoto-u.ac.jp> cat eulerangle.fc234567890
implicit real*8 (a-h,o-z)
dimension d(3,3) ! DˆT
dimension r(10,3) ! r’
pi=acos(-1.0d0)
a=1.0d0

3

z'bc
ax'o

p=0.0d0/180.0d0*pi
t=30.0d0/180.0d0*pi
s=50.0d0/180.0d0*pi! p = phi, 0 <= phi <= 2 ¥ pi
! t = theta, 0 <= theta <= ¥ pi
! s = psi,0 <= psi <= 2 ¥ pi

d(1,1)=cos(s)*cos(p)-sin(s)*cos(t)*sin(p)d(1,2)=-sin(s)*cos(p)-cos(s)*cos(t)*sin(p)d(1,3)=sin(t)*sin(p)d(2,1)=cos(s)*sin(p)+sin(s)*cos(t)*cos(p)d(2,2)=-sin(s)*sin(p)+cos(s)*cos(t)*cos(p)d(2,3)=-sin(t)*cos(p)d(3,1)=sin(s)*sin(t)d(3,2)=cos(s)*sin(t)d(3,3)=cos(t)r(1,1)=0.0d0r(1,2)=0.0d0r(1,3)=0.0d0r(2,1)=0.0d0r(2,2)=0.0d0r(2,3)=2.0d0r(3,1)=2.0d0r(3,2)=0.0d0r(3,3)=4.0d0r(4,1)=-1.0d0r(4,2)=0.0d0r(4,3)=3.0d0

do i=1,4x=d(1,1)*r(i,1)+d(1,2)*r(i,2)+d(1,3)*r(i,3)
y=d(2,1)*r(i,1)+d(2,2)*r(i,2)+d(2,3)*r(i,3)
z=d(3,1)*r(i,1)+d(3,2)*r(i,2)+d(3,3)*r(i,3)
write (6,’(5f15.7)’) x,y,zenddo
end4Figure 4: 左の２つの図は x 軸方向から眺めた図。底面で右側へ伸びる軸が y 軸で，上側にのびる軸が z 軸である。右側の２つの図は 30 度傾いた oa 軸からみた図で，50 度反時計回りに cab 面が twist されている。

4 Example2
以下の図のような末端にカルボキシル基をもったチオール分子を考える。分子座標系から実験室系への座標変換について求める。Au-S-(CH2 )7 -COOH の分子構造を Gaussain03 で計算すると，左下図にあるように分子座標系は S-C-C-C.. 面がほぼ z′ = 0 として与えられる。S から C6 に向かうベクトルを z’ 軸に一致させ，S-C-C-C..
面を y’z’ 面内に，S− >C および C=>O ベクトルの x′ y′ 面への射影を y′ 軸に平行な [010] 方向へ，C− >O(H) ベ
クトルの x′ y′ 面への射影を [01̄0] 方向）に配向させる。

y'x'Figure 5: Gaussain03 で計算された Au-S-(CH2 )7 -COOH の分子構造（左図）。C6-C7-C8=O のひねり角が 180°回転した分子構造が 55 meV 真空中の計算では安定であるが，R. G. Nuzzo ら (JACS, 1990, 112, 558-569) の結果より，ひねり角０°の左下図の構造を Au(111) 面上での分子構造として採用した。右図において，底面で右側へ伸びる軸が x′ 軸，上側にのびる軸が y′ 軸, 手前側に伸びる軸が z′ 軸である。
r = DT r′ において，R. G. Nuzzo ら (JACS, 1990, 112, 558-569) の結果より，ϕ = 0, θ = −32,̊ ψ = 55˚とした。
θ の回転およびその後の ψ の回転を行った結果を下図に示す。

5 Example3: Octadecane-thiol(ODT) self-assembled monolayer on Au(111)2007-2008 年ぐらいから吸着構造は金原子が (111) 面から持ち上がった構造になることが実験・理論から提唱されている。(”X-ray Diﬀraction and Computation Yield the Structure of Alkanethiols on Gold(111)”, A Cossaro etal. Science, 321 √,pp. 943–946,2008) ここでは，その最安定構造にエネルギー的に近い bridge site に S が吸着し√た ODT-SAM-( 3 × 3)-R30 を作成する。
まず，(0) S-C(16) の軸が z 軸に平行でかつ S-C-C-C 面が yz 面にある（すなわち x 軸に垂直）構造を用意する。(I) 傾きの方位角 ϕ は，S の NNN（next nearest neighbor) から１０度 NN（nearest neighbor) 側へ向かい，（II)
傾き角 θ は３０度，（III) ひねり角 ψ は５０度とする。(P. Fenter et al. JCP, 106, 1600, 1997) Au(111) 面上での (I), (II), (III) の構造をそれぞれ図に示す。
5

Figure 6: 上図の２つの図において，底面で左へ伸びる軸が z 軸，上に伸びる軸が y 軸，手前側にのびる軸が x軸である。 x 軸回りに-32°回転させた。また，２つの下図では，回転する分子軸方向から見たもので，底面 (Sがある面）手前に伸びる軸が y 軸, 左側が x 軸である。

Figure 7: ODT SAM on Au(111): Step (0) ϕ = 0, θ = 0, ψ = 0.̊ top, bottom, and left view.

Figure 8: ODT SAM on Au(111): Step (I) ϕ = 10, θ = 0, ψ = 0.̊ top, bottom, and left view.

6Figure 9: ODT SAM on Au(111): Step (II) ϕ = 10, θ = −30, ψ = 0.̊ top, bottom, and left view.

Figure 10: ODT SAM on Au(111): Step (III) ϕ = 10, θ = −30, ψ = 50.̊ top, bottom, and left view.

Figure 11: ODT SAM on Au(111): Step (III) twist ψ = 50.̊ molecular axis view.

76 Example 4: initial molecular configuration for molecular dynamics simulation
MD simulation の初期入力の際，分子の配向はランダムであることが望ましい。例えば，分子数が 4 万あるとして，４万分子のそれぞれに一様乱数を発生させて，0 ≤ ϕ ≤ 2π, 0 ≤ θ ≤ π, 0 ≤ ψ ≤ 2π の Euler 角を与えて分子軸を回転させ，それぞれの分子を周期的に配置する。
N 原子をもつ分子の分子座標を r′ とすると，分子を回転させるための原点は，分子の位置中心すなわち∑N ′′ri にとる。
⟨r ⟩ = (1/N) i=1

Figure 12: DCE fcc solid with oriented molecular axis (left) and with random orientation (right).

...
ccccccc------------- random orientation
do j=1, natom_mol
write (6,*) bx(j),by(j),bz(j)enddocall eulerangle(bx,by,bz,bbx,bby,bbz,natom_mol)
do j=1, natom_mol
write (6,*) bbx(j),bby(j),bbz(j)enddo

do j=1, natommol
icount=icount+1xx(icount)=x(i)+bbx(j)yy(icount)=y(i)+bby(j)zz(icount)=z(i)+bbz(j)iatomnum(icount)=j
enddo
if (x(i) < -axh .or. x(i) >= axh) thenwrite (6,*) i,x(i),-axh,axh
stop 1249
endif
if (y(i) < -ayh .or. y(i) >= ayh) stop 1250
if (z(i) < -azh .or. z(i) >= azh) stop 1251
cc

write (6,’(3f15.7)’) x(i),y(i),z(i)write (6,*) ’Ar’,x(i),y(i),z(i)
enddo

...

8

c------------------------------c
subroutine Euler rotation anglec----------subroutine eulerangle(bx,by,bz,bbx,bby,bbz,natom_mol)
c234567890
implicit real*8 (a-h,o-z)
parameter (nma=20)!# of atoms in molculesdimension bx(nma),by(nma),bz(nma) !xyz coordinate of basis vector of molecule
dimension bbx(nma),bby(nma),bbz(nma) !xyz coordinate of basis vector of molecule
dimension d(3,3) ! DˆT
dimension r(nma,3) !r’integer idum,v(8)ccpi=acos(-1.0d0)
call date_and_time(values=v)
idum=-abs(v(1)*v(2)*v(3)*v(4)*v(5)*v(6)*v(7)*v(8))
p=ran2(idum)*2.0d0*pi
t=ran2(idum)*pi
s=ran2(idum)*2.0d0*pi

c! p: phi 0 <= phi <= 2 ¥ pi! t: theta 0 <= theta < ¥ pi
! s: psi
0 <= psi <= 2 ¥ pi

write (6,*) p,t,sd(1,1)=cos(s)*cos(p)-sin(s)*cos(t)*sin(p)d(1,2)=-sin(s)*cos(p)-cos(s)*cos(t)*sin(p)d(1,3)=sin(t)*sin(p)d(2,1)=cos(s)*sin(p)+sin(s)*cos(t)*cos(p)d(2,2)=-sin(s)*sin(p)+cos(s)*cos(t)*cos(p)d(2,3)=-sin(t)*cos(p)d(3,1)=sin(s)*sin(t)d(3,2)=cos(s)*sin(t)d(3,3)=cos(t)ccc-----do i= 1, natom_mol
r(i,1)=bx(i)r(i,2)=by(i)r(i,3)=bz(i)enddo
do i=1,natom_mol
bbx(i)=d(1,1)*r(i,1)+d(1,2)*r(i,2)+d(1,3)*r(i,3)
bby(i)=d(2,1)*r(i,1)+d(2,2)*r(i,2)+d(2,3)*r(i,3)
bbz(i)=d(3,1)*r(i,1)+d(3,2)*r(i,2)+d(3,3)*r(i,3)
write (6,’(5f15.7)’) x,y,z
write (6,’(6f15.7)’) bbx(i),bx(i),bby(i),by(i),bbz(i),bz(i)enddoreturnend9