绘制规则多边形



具有N顶点的正多边形。多边形的下侧平行于x轴。给定两个点(x1,y1)和(x2,y2)如果我们画一条线穿过这些点,那么这条线将平行于x轴。这意味着给出了多边形的下侧。如何找到其他n-2点。每个点都可以有浮动值,但前提是x1,y1,x2,y2是整数。

例如,如果N=5且(x1,y1)=(0,0)且(x2,y2)="5,0"

我必须找到剩下的3点(6.545085,4.755283),(2.500000,7.694209),(-1.545085,4.755283

我正在尝试矢量旋转,但无法找到任何解决方案。我该如何计算?

给定点x1,y1,x2,y2,编号N。
此边缘的中点是

xm = (x1 + x2) / 2
ym = y1

多边形的中心有坐标

xc = xm
yc = y1 + Abs(x1 - x2)/2 * Ctg(Pi/N)

外接圆半径为(编辑:遗漏0.5系数

R = 0.5 * Abs(x1 - x2) / Sin(Pi/N)

多边形的第Kth(k=3..N)个垂直线具有坐标

xk = xc + R * Cos(-Pi/2 + Pi/N + (k - 2) * 2 * Pi/ N)
yk = yc + R * Sin(-Pi/2 + Pi/N + (k - 2) * 2 * Pi/ N)

最新更新