>>872
(0, 0, 2)つまり真上から(0, 3, 0)つまり水平真北へ向きを変えるには、水平方向回転は不要で
下向き90度の垂直方向回転だけでできるんじゃないの?

もしそうでなく>>872のように水平回転も必要という仕様なら、>>871の6行目を
  Pan <- c(0, -diff(atan2(P[, 2], P[, 1])))
に変えれば良い。