def calc_unit_vector(pos_a, pos_b)
      vec = [0.0, 0.0, 0.0]

      begin
        w = calc_dist(pos_a, pos_b)
        vec = (0..2).map { |i| pos_b[i] - pos_a[i] }
        return vec.map { |v| v / w } unless w == 0.0
      rescue => e
        raise
      end
    end
def calc_unit_vector(pos_a, pos_b)
      vec = [0.0, 0.0, 0.0]

      begin
        w = calc_dist(pos_a, pos_b)
        vec = (0..2).map { |i| pos_b[i] - pos_a[i] }
        return vec.map { |v| v / w } unless w == 0.0
      rescue => e
        raise
      end
    end
=========================================================================
 天体Aから見た天体Bの方向ベクトル計算（太陽・月専用）

 * 太陽・月専用なので、太陽・木星・土星・天王星・海王星の重力場による
   光の曲がりは非考慮。

 @param:   pos_a  (位置ベクトル(天体A))
 @param:   pos_b  (位置ベクトル(天体B))
 @return:  vec    (方向(単位)ベクトル)
=========================================================================