This changes the points in place, which might lead to unwanted consequences – I would use `pts = pts - origin` (or mention in the docstring that the operation is done in place)