c++ - 遍历任意形状的点

标签 c++ math iteration shapes multimap

我有一个 multimap 点 multimap<int,int>它围绕(无缝)任意形状(具体来说是陆地区域)。我将如何遍历任意形状中包含的所有点?

我知道 multimap 不足以确定内部点,因此我有一个额外的点,即形状内部(以确定形状的内部和外部)。

更多信息:点按 x 方向排序,因为 multimap 是一个排序容器。所有点都位于网格中,因为我使用的是位图。

最佳答案

  1. 如果您的点之间的距离超过 1 个像素,则按 x 坐标排序的点不会很有帮助。对它们进行排序,使应该连接的点彼此相邻。

  2. Draw lines between the points

  3. 找到里面的一个点 flood fill形状。如果您自己实现它,则需要为此遍历形状内的每个像素。

关于c++ - 遍历任意形状的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670262/

相关文章:

c++ - 如何遍历 std::tuple?

html - 从 DeviceOrientation Event API 计算罗盘航向

math - log-sum-exp 技巧为什么不递归

c++ - 循环条件下 rand() 的行为

c++ - 扫描快速排序拆分

c++ - 在 Android NDK 中使用 C/C++ 加密(Rijndael 密码)

c++ - 子弹物理学 : Body moves after fall (shakes and moves to the side)

math - 将多项式拟合到数据

ruby - 如何以递增方式遍历 2d 数组并使用 ruby​​ 增加增量?

python - 如何迭代元组列表并检查每个列表的特定顺序