传送门:How to draw a n sided regular polygon in cartesian coordinates?
先上公式,假设要画正N边型,外接圆的中心点坐标为(x_centre, y_centre)
x[n] = r * cos(2*pi*n/N + theta) + x_centre y[n] = r * sin(2*pi*n/N + theta) + y_centre
这里如果theta取0,那么画出来是歪的。
想正的话,theta = pi / 180 * (540 / n - 90),这个括号里面是角度,外面转换成了弧度。
另外说一句,(x[0], y[0])的点,是圆点向右最远的那个点。