相关疑难解决方法(0)

计算正多边形顶点的坐标

我正在编写一个程序,我需要绘制任意数量边的多边形,每个边都由一个动态变化的给定公式进行翻译.有一些相当有趣的数学,但我被困在这个问题上.

如何只给出边数,并且理想地(但不是必须)将原点放在中心,我如何计算正多边形的顶点坐标(所有角度相等的顶点)?

例如:六边形可能有以下几点(都是floats):

( 1.5  ,  0.5 *Math.Sqrt(3) )
( 0    ,  1   *Math.Sqrt(3) )
(-1.5  ,  0.5 *Math.Sqrt(3) )
(-1.5  , -0.5 *Math.Sqrt(3) )
( 0    , -1   *Math.Sqrt(3) )
( 1.5  , -0.5 *Math.Sqrt(3) )
Run Code Online (Sandbox Code Playgroud)

我的方法看起来像这样:

void InitPolygonVertexCoords(RegularPolygon poly)
Run Code Online (Sandbox Code Playgroud)

并且需要将坐标添加到此(或类似的东西,如列表):

Point[] _polygonVertexPoints;
Run Code Online (Sandbox Code Playgroud)

我主要对这里的算法感兴趣,但C#中的例子会很有用.我甚至不知道从哪里开始.我该如何实施呢?它甚至可能吗?!

谢谢.

c# algorithm math geometry polygon

28
推荐指数
2
解决办法
3万
查看次数

标签 统计

algorithm ×1

c# ×1

geometry ×1

math ×1

polygon ×1