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]]
}]
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
try this..
Graphics[{Point@CirclePoints[40.99]}]
the above misses a point
see this one
Graphics[{Point@CirclePoints[41]}]
now
Graphics[{Point@CirclePoints[4.43]}]
misses the fifth point...
this one
Graphics[{Point@CirclePoints[5]}]