[Numpy-discussion] NumPy Feature Request: Function to wrap angles to range [ 0, 2*pi] or [ -pi, pi ]

Nathaniel Smith njs at pobox.com
Mon Nov 23 20:49:07 EST 2020


How would this proposed function compare to using the modulo operator, like
'arr % (2*pi)'?

On Mon, Nov 23, 2020, 16:13 Thomas <thomasbbrunner at gmail.com> wrote:

> Hi,
>
> I have a proposal for a feature and I hope this is the right place to post
> this.
>
> The idea is to have a function to map any input angle to the range of [ 0,
> 2*pi ] or [ - pi, pi ].
>
> There already is a function called 'unwrap' that does the opposite, so I'd
> suggest calling this function 'wrap'.
>
> Example usage:
> # wrap to range [ 0, 2*pi ]
> >>> np.wrap([ -2*pi, -pi, 0, 4*pi ])
> [0, pi, 0, 2*pi]
>
> There is some ambiguity regarding what the solution should be for the
> extremes. An example would be an input of 4*pi, as both 0 and 2*pi would be
> valid mappings.
>
> There has been interest for this topic in the community (see
> https://stackoverflow.com/questions/15927755/opposite-of-numpy-unwrap).
>
> Similar functions exist for Matlab (see
> https://de.mathworks.com/help/map/ref/wrapto2pi.html). They solved the
> ambiguity by mapping "positive multiples of 2*pi map to 2*pi and negative
> multiples of 2*pi map to 0." for the 0 to 2*pi case.
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20201123/e29f33c8/attachment.html>


More information about the NumPy-Discussion mailing list