How does CirclePoints function actually work when drawing a polygon?

The details section of the documentation says the following:

  • In CirclePoints[n], n does not have to be an exact integer. The angles between successive vectors are always $\frac{2\pi}{n}$.
  • If the angle $\theta_1$ is not given, it is assumed to be $\pi/n - \pi/2$, ...

($\theta_1$ is the starting angle.)

Here is a simple implementation to test this:

circlePoints[n_] := Module[{start, diff},
  start = Pi/n - Pi/2;
  diff = 2 Pi/n;
  Table[{Cos[start + i diff], Sin[start + i diff]}, {i, 0, Floor[n] - 1}]
  ]

Graphics[{
  Green,
  Polygon[CirclePoints[4.434335]],
  FaceForm[Transparent],
  EdgeForm[{Red, Thick}],
  Polygon[circlePoints[4.434335]]
  }]

Mathematica graphics

How do they come equally spaced?

The key here is that successive vectors are equally spaced. The angle between the first and last vectors is not the same as the other angles unless $n$ is an integer.


here is how CirclePoints work

enter image description here

try this..

Graphics[{Point@CirclePoints[40.99]}]

enter image description here

the above misses a point
see this one

Graphics[{Point@CirclePoints[41]}]

enter image description here

now

Graphics[{Point@CirclePoints[4.43]}]   

enter image description here

misses the fifth point...
this one

Graphics[{Point@CirclePoints[5]}]   

enter image description here