[Math] Formula to calculate the coordinates of some points on a circle

circlescoordinate systems

Given the following variables

  • $a$ : the number of points proportionally spread on a circle

  • $(O_x, O_y)$ : the origin of the circle

  • $\theta$ : the angle separating the points i.e. $360/a$

  • $r$ : the radius of the circle

how to get the coordinates of each point?

Here is an illustration with three points, i.e. $a = 3$ and $\theta = 120$
NOTE: The $(x, y)$ axis is clockwise.


Illustration of equally spread points on a circle in a clockwise axis


Best Answer

If your first point on the circle (lying on the line parallel to the $x$-axis) is $P_0=(O_x+r,O_y)$ then the next point (moving counter-clockwise) is $P_1=(O_x+r\cos(\frac{360}{a}),O_y-\sin(\frac{360}{a}))$.

Each time the angle increases by $\frac{360}{a}$ degrees, so more generally:

$$P_n=(O_x+r\cos\left (\frac{360n}{a}\right), O_y-r\sin\left (\frac{360n}{a}\right))$$ for $0\leq n\leq a-1$