スポット検出の話 が間に入ってしまったが、第 1 回に引き続き、Kabsch, Wolfgang. "Integration, scaling, space-group assignment and post-refinement" Acta Crystallographica Section D (2010): 133-144 の 2.2 節で述べられている反射条件を説明する。
以下では、1つの反射 hkl に着目するので、添字に指数を明示しない。回転前()の結晶方位における逆格子点は、逆格子の基底ベクトルを用いて と表現できる。これを 周りに 回転させて に移動し、回折が起きるようにしたい。
このときの様子を、回転軸 に垂直な視線で眺めたのが下の図である。
結晶の回転により、 は点線の軌道を移動して、 において Ewald 球に接触する。これを、回転軸に平行な視線から眺める(上の図で、上空から見下ろす)と、 の軌跡は 平面に平行な平面上の円になる。Ewald 球のこの高さでの断面は、 以下の半径を持つことに注意。
回折が起きるとき、Laue 方程式 が成り立つ。両辺を二乗して、 だから、 である。ここで、 と を goniostat system の基底を使って展開してやると、
となる。太字になっていない係数は のような成分であって、スカラーである。
は正規直交系をなすので、
と簡単にできる。さらに、 という定義から と は直交するから、 である。また、回転は 軸のまわりに起きるので、この軸方向の成分は変化せず、
である。以上より、
となって、これを移項して整理すると、
が得られる。最後の成分 は、回転によって の長さが変わらないことから、
と求められる。
次に、回転角 を求める。 平面内に射影して考えればよい。
を に重ねるための角度だから、内積の定義から
が分かる。sin については、(二次元の)外積の性質から
となる。
この sin と cos から回転角 を求めることもできるが、実際の計算では三角関数のまま用いる。その理由は、φ の回折パラメータによる偏微分 - biochem_fan's note に書いた。
今回の計算は R に実装済みであるが、とりあえず理論だけ公開しておく。図を作るのが思ったより面倒で、コードの整理が間に合わなかった。反射が不可能な条件 (blind region) と合わせて、次回とする。