gaitmap.utils.vector_math.normalize#

gaitmap.utils.vector_math.normalize(v: ndarray) ndarray[source]#

Simply normalize a vector.

If a 2D array is provided, each row is considered a vector, which is normalized independently. In case an array has norm 0, np.nan is returned.

Parameters:
varray with shape (3,) or (n, 3)

vector or array of vectors

Returns:
normalized vector or array of normalized vectors

Examples

1D array

>>> normalize(np.array([0, 0, 2]))
array([0., 0., 1.])

2D array

>>> normalize(np.array([[2, 0, 0], [2, 0, 0]]))
array([[1., 0., 0.],
       [1., 0., 0.]])

0 Array:

>>> normalize(np.array([0, 0, 0]))
array([nan, nan, nan])