Gegeven 2 vectoren voorgesteld door de NumPy-rijen $$u$$ en $$v$$. De hoek $$\theta$$ tussen deze vectoren kan bepaald worden uit:

$$ \cos \theta = \frac{\sum_{i=0}^{N-1} u_i v_i}{||u||\cdot||v||} $$

Schrijf een functie hoek() met twee NumPy-rijen als argument. Indien deze rijen dezelfde lengte hebben, dan levert die functie de hoek (in radiaal, in het bereik $$[0, \pi]$$) als resultaat. Indien dit niet het geval is, is het resultaat gelijk aan -1.0. Je mag aannemen dat geen van de argumenten de nulvector voorstelt.

Argumenten

2 NumPy-rijen, $$u$$ en $$v$$.

Resultaat

De hoek tussen $$u$$ en $$v$$ indien de rijen even lang zijn, -1.0 in het andere geval.

Voorbeeld

hoek(np.array([1, 1, 0]), np.array([1, 1, 1])) = 0.6154797086703875
hoek(np.array([1, 0, 0]), np.array([0, 1, 0])) = 1.5707963267948966
hoek(np.array([1, 1, 1]), np.array([1, 1, -1])) = 1.2309594173407745
hoek(np.array([1, 1]), np.array([1, 1, -1])) = -1.0