C# 查找列表是否为<;点>;表示正多边形或不规则多边形

C# 查找列表是否为<;点>;表示正多边形或不规则多边形,c#,geometry,C#,Geometry,如何实现此方法: private bool IsRegularPolygon(列表种子) 点对象为二维,具有X和Y坐标 假设它是规则的,我怎么能找到边的长度呢 谢谢 回想一下高中几何,想想是什么使多边形“规则” 既然这不是一个很好的答案,如果这就是我所说的,我将切入正题,指出这是一个所有内角相等的多边形 因此,这将问题减少到确保列表中三个点之间的每个角度相同。比如: get the first point, and the two after it find the angle between

如何实现此方法:

private bool IsRegularPolygon(列表种子)

点对象为二维,具有X和Y坐标

假设它是规则的,我怎么能找到边的长度呢


谢谢

回想一下高中几何,想想是什么使多边形“规则”

既然这不是一个很好的答案,如果这就是我所说的,我将切入正题,指出这是一个所有内角相等的多边形

因此,这将问题减少到确保列表中三个点之间的每个角度相同。比如:

get the first point, and the two after it
find the angle between them, store it somewhere
get the second point, and the two after it
find the angle between them, make sure it's the same
repeat the last two steps for all the points in the list

现在请记住,如果是规则的,则所有边的长度都相同,因此求边长度是两点之间的直接距离计算。

平均坐标以获得假设的中心,转换为极坐标,然后检查到中心的向量对于每个假设顶点是否具有相同的长度和等距角度:-)