は、仮に、私がこの2次元numpyの配列のリンクを持っている:私は軸OXとOYを持っている平らな2D、のベクトルとして、それを考慮したいと思うnumpyで2DベクトルとOXの間の角度を計算する方法は?
import numpy as np
v = np.array([1, 2])
を。私は好奇心が強いです、ベクトルと軸OXの間の角度を計算するための組み込み関数やかなりエレガントな方法がありますか?角度は-PIからPIまでです。私は別に例のx = 0を考慮しなければならないので、
def calc_phi(v):
if v[0] > 0:
return np.arctan(v[1]/v[0])
else:
if v[1] > 0:
if v[0] < 0:
return np.pi + np.arctan(v[1]/v[0])
else:
return np.pi
elif v[1] < 0:
if v[0] < 0:
return -np.pi + np.arctan(v[1]/v[0])
else:
return -np.pi
else:
return 0.0
しかし、エレガントではないようですし、X <:
は私がnumpy.arctan
の助けを借りて、このように計算することができ、知っています0だから私は、numpy
はおそらくそれを計算する特別な機能を持っていると思う。角度はy-axis
からであるとして、しかし
np.arctan2(*v)
:
あなたは[上記Arctan2](https://docs.scipy.org/doc/numpy-1.13.0/reference/を試してみましたgenerated/numpy.arctan2.html)? – user32185