Equidistant points on a circle

$\begingroup$

I would like to obtain/generate points on a circle in Cartesian coordinates such that the distance between two consecutive points will be always equal. For example, plotting a circle with radius 100 with each point 1 unit away from the previous and the next point.

I have tried to use polar coordinates as well as the R=x^2+y^2, but could not achieve what I wanted. What would be a reasonable approach for determining those points on a circle?

$\endgroup$ 4

1 Answer

$\begingroup$

Taking your example of $R=100$ and $d=1$, you get a central angle of

$$\alpha=2\arcsin\frac{d}{2R}\approx0.573°\approx\frac{2\pi}{628}$$

So your points wouls most closely resemble a regular $628$-gon. But not exactly: the $628$-gon has $d\approx1.0005$ while the $629$-gon has $d\approx0.9989$. Therefore you can't place points at unit distance from one another along a circle of radius $100$ all the way around. Not exactly.

But perhaps you only want points on a part of the circle, so they don't have to get back exactly to their starting point. Or perhaps a slight deviation in radius or distance is acceptable. Then you can get coordinates for your points using

$$ x_k = R\cos(k\alpha) \qquad y_k = R\sin(k\alpha) $$

for $k\in\{0,1,2,\dots,n-1\}$. If you aim for an exact $n$-gon, you'd use $\alpha=\frac{2\pi}n$ while for exact lengths $R$ and $d$ but a non-closing sequence you'd use the angle as computed above.

$\endgroup$ 3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like