【问题标题】:How to get the Perimeter of a shape如何获得形状的周长
【发布时间】:2014-04-14 13:21:14
【问题描述】:

我有一个 Array[] 和 Rectangles,它们都彼此相邻。我通过使用洪水填充得到了这个。

我可以让矩形的角形成Point[],但是我需要一个算法来找到最外面的点。你如何检查这些点是否在边界上?我知道 Floodfill 可以计算边界,因为它知道何时停止。

帮助!我想要一种方法,可以采用Rectangle[] 并返回最外层顶点的Point[],这样我就可以做到graphics.DrawPolygon(pen, Point[])

我只是想到了一个好的算法。当我在迷宫中时,我只是沿着左边的墙走,直到找到回到起点的路。感谢堆栈溢出。花时间写这个问题真的让我有创造性地思考。

如果有人有迷宫算法或知道它叫什么,不胜感激。

我刚刚发现了光线投射。我想我会通过从最左边的矩形垂直投射到最右边来使用它。然后从上到下水平投射。

【问题讨论】:

  • 您需要的是Convex Hull。看看this 是否有帮助
  • 我知道凸包。但是,我想保持矩形的整洁边框。如果有人有迷宫算法或知道它叫什么,不胜感激。

标签: c# graphics shapes imaging


【解决方案1】:

请注意,我在这类事情上的经验有限, 但我个人会远离迷宫搜索之类的递归算法,并返回到 floodfill 并进行更改那个。

在某些时候,floodfill alg 将确定它已达到边缘。所以我会更改代码,以便将找到的 point 添加到新数组中。通常它会跳出迭代并移动到下一个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多