[Math] Calculating point around circumference of circle given distance travelled

circlesgeometrytrigonometry

It is the end of the day and my brain just can't cope anymore. Can anyone help with, what I hope, is a simple question?

Given a point on a circle ($x$, $y$ coordinates) how can I calculate the coordinates of another point at a given distance around the circumference of the circle? Known variables are the starting point, distance traveled and radius of the circle.

Best Answer

Let the center of the circle be $(a,b)$. Drag the center to the origin. This procedure drags our given point $(x,y)$ to $(x-a,y-b)$.

For simplicity of notation, let $u=x-a$, $v=y-b$. Now we determine the angle that the positive $x$-axis has to be rotated through (counterclockwise) to hit the line from the origin to $(u,v)$. Call this angle $\theta$.

Then $\theta$ is the angle, say in the interval $(-\pi,\pi]$, whose cosine is $u/r$, and whose sine is $v/r$, where $r$ is the radius of the circle. (This was already known; it also happens to be $\sqrt{u^2+v^2}$.) So from now on we can take $\theta$ as known. But we have to be careful to take the signs of $u$ and $v$ into account when calculating $\theta$.

Let $D$ be the distance travelled. Assume that we are travelling counterclockwise. Then the angle of travel is (in radians) equal to $D/r$. Let $\phi$ be this angle. If we are travelling clockwise, just replace $\phi$ by $-\phi$. So from now on we can take $\phi$ as known.

After the travel, our angle is $\theta+\phi$. This means that we are at the point with coordinates

$$(r\cos(\theta+\phi), \: \: r\sin(\theta+\phi)).$$

Now transform back, by adding $(a,b)$ to the point. We obtain $$(a+r\cos(\theta+\phi),\:\: b+r\sin(\theta+\phi)).$$

All the components of this formula are known, so we can compute the answer.

Comment: Note that $$\cos(\theta+\phi)=\cos\theta\cos\phi-\sin\theta\sin\phi.$$ But we know that $r\cos\theta=u$ and $r\sin\theta=v$. Thus $$a+r\cos(\theta+\phi)=a+u\cos\phi-v\sin\phi.$$

Similarly, $$\sin(\theta+\phi)=\cos\theta\sin\phi+\sin\theta\cos\phi,$$ and therefore $$b+r\sin(\theta+\phi)=u\sin\phi+v\cos\phi.$$ Thus an alternate (and for many purposes simpler) version of the answer is $$(a+(x-a)\cos\phi-(y-b)\sin\phi,\:\: b+(x-a)\sin\phi+(y-b)\cos\phi),$$ where $\phi=D/r$.

We could also reach this by quoting the rotation formula. Recall that when we are rotating a point $(u,v)$ about the origin through an angle $\phi$, we multiply the vector by a certain matrix. You can think of this post as being, in particular, a derivation of the rotation formula.