点A,B,Cがなす角,∠ABC (点B周りの角度)の算出方法です.
# 点A,B,Cの座標(3次元座標上の場合)
a = np.array([0,1,2])
b = np.array([10,20,30])
c = np.array([5,7,9])
# ベクトルを定義
vec_a = a - b
vec_c = c - b
# コサインの計算
length_vec_a = np.linalg.norm(vec_a)
length_vec_c = np.linalg.norm(vec_c)
inner_product = np.inner(vec_a, vec_c)
cos = inner_product / (length_vec_a * length_vec_c)
# 角度(ラジアン)の計算
rad = np.arccos(cos)
# 弧度法から度数法(rad ➔ 度)への変換
degree = np.rad2deg(rad)