gpt4 book ai didi

algorithm - 将 Bresenham 生成的圆存储为多边形?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:39 25 4
gpt4 key购买 nike

我正在使用 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);

最佳答案

对于圆,将两半排序就足够了,例如在 y_mid 升序上方和 y_mid 降序下方的 x 中排序。这些点应该由您的多边形组成。

关于algorithm - 将 Bresenham 生成的圆存储为多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11028602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com