我正在使用Midpoint circle algorithm生成圆圈。我不想画这些圆圈。相反,我想将它们存储为多边形。显然,坐标的顺序是错误的,所以如果我使用Graphics.DrawPolygon来绘制这些圆,那么圆将变成线网。
问:如何修改算法以生成正确定义的多边形?或者,如何从一组点(在这种情况下属于一个圆)创建一个有效的多边形?
更新:这成功了。
var firstHalf = points.Where(p => p.Y >= cy).OrderBy(p => p.X);
var secondHalf = points.Where(p => p.Y < cy).OrderByDescending(p => p.X);
var polygon = new List<Point>();
polygon.AddRange(firstHalf);
polygon.AddRange(secondHalf);