绘制常规多边形

时间:2015-12-01 09:34:31

标签: geometry computational-geometry

具有 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)

我正在尝试使用矢量旋转,但无法找出任何解决方案。我该怎么计算?

1 个答案:

答案 0 :(得分:0)

给定点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)