The resulting array therefore has a value fn(x,y,z) at
coordinate (x,y,z).

Parameters :

function : callable

The function is called with N parameters, each of which
represents the coordinates of the array varying along a
specific axis. For example, if shape were (2,2), then
the parameters would be two arrays, [[0,0],[1,1]] and
[[0,1],[0,1]]. function must be capable of operating on
arrays, and should return a scalar value.

shape : (N,) tuple of ints

Shape of the output array, which also determines the shape of
the coordinate arrays passed to function.

dtype : data-type, optional

Data-type of the coordinate arrays passed to function.
By default, dtype is float.

Returns :

out : any

The result of the call to function is passed back directly.
Therefore the type and shape of out is completely determined by
function.