avoid -90°/90° angles for serve_ball()