The setup:
Let $p:\mathbb{R}\to S^1$ be defined by $x\mapsto (\cos(x),\sin(x))$. Prove that $p$ is open, i.e. $p$ sends open subsets of $\mathbb{R}$ to open subsets of $S^1=\{ (\cos(x),\sin(x))\in \mathbb{R}^2 \ \vert \ x\in \mathbb{R}\}$.
What I have so far:
Since the image of maps preserves unions, it suffices to check on basic open subsets of $\mathbb{R}$, i.e. open intervals. If such an interval has length no less than $2\pi$, then its image under $p$ is the whole circle, which is open.
On the other hand, if the interval has length less than $2\pi$, then its image is an "open arc" on $S^1$, which can be realized as an intersection of $S^1$ with an appropriately chosen open box of $\mathbb{R}^2$, as illustrated below.

My question:
How can I formalize this last bit, so as to avoid arguing from a figure only? My current attempts at constructing the desired box precisely have relied on checking cases. Is there a more elegant way?