Polygon 带孔多边形

Polygon 带孔多边形,polygon,gmap.net,Polygon,Gmap.net,我只想画一个里面只有两个洞的区域(多边形)。 我完全无法“翻译”与GMAP.Net合作的答案:我无法想象这是不可能的。 提前 P.恐怕做这件事没有办法。但是,没有任何东西可以阻止您在同一多边形内自己绘制这些孔 添加孔的方法很简单: 选择一个外部点并复制它 从第一个多边形开始,移动到内部多边形附近的内部点(“孔”),并复制此点 现在,逆时针(通过旋转坐标顺序)绘制内部坐标,并返回到复制的外部坐标 这有效地创建了接缝,您可以使用单独的方法提取此功能,该方法获取外部多边形和任意数量的“孔”多边形的

我只想画一个里面只有两个洞的区域(多边形)。 我完全无法“翻译”与GMAP.Net合作的答案:我无法想象这是不可能的。 提前
P.

恐怕做这件事没有办法。但是,没有任何东西可以阻止您在同一多边形内自己绘制这些孔

添加孔的方法很简单:

  • 选择一个外部点并复制它
  • 从第一个多边形开始,移动到内部多边形附近的内部点(“孔”),并复制此点
  • 现在,逆时针(通过旋转坐标顺序)绘制内部坐标,并返回到复制的外部坐标
这有效地创建了接缝,您可以使用单独的方法提取此功能,该方法获取外部多边形和任意数量的“孔”多边形的坐标。较小的困难是找到最近的内部点来创建接缝

为了进一步解释,您将以以下部分结束:

  • 多边形的
    AB BC CD DA
  • 现在选择一个点,假设
    C
    并复制它->
    C'
  • 现在你必须找到内部多边形的最近点,让我们假设这是F,复制这个->
    F'
  • 下面是你现在的情况 将此范围的点传递到多边形中:
    A B C F E H G F'C'D

该算法假设两个馈入多边形都是顺时针构造的,我想这是可以处理的。

恐怕没有任何构造方法可以做到这一点。但是,没有任何东西可以阻止您在同一多边形内自己绘制这些孔

添加孔的方法很简单:

  • 选择一个外部点并复制它
  • 从第一个多边形开始,移动到内部多边形附近的内部点(“孔”),并复制此点
  • 现在,逆时针(通过旋转坐标顺序)绘制内部坐标,并返回到复制的外部坐标
这有效地创建了接缝,您可以使用单独的方法提取此功能,该方法获取外部多边形和任意数量的“孔”多边形的坐标。较小的困难是找到最近的内部点来创建接缝

为了进一步解释,您将以以下部分结束:

  • 多边形的
    AB BC CD DA
  • 现在选择一个点,假设
    C
    并复制它->
    C'
  • 现在你必须找到内部多边形的最近点,让我们假设这是F,复制这个->
    F'
  • 下面是你现在的情况 将此范围的点传递到多边形中:
    A B C F E H G F'C'D
该算法假设两个馈入多边形都是顺时针构造的,我想这是可以管理的

  • 并排画两个多边形
  • 将两者都设置为未填充(或填充白色或100%透明)
  • 让两者的边界足够厚,以便它们“重叠”
  • 轻松的~~~

  • 并排画两个多边形
  • 将两者都设置为未填充(或填充白色或100%透明)
  • 让两者的边界足够厚,以便它们“重叠”

  • 简单~~

    非常详细。唯一的“坏”点(但不是太坏)是边界CF(和F'C'(相同))将出现在地图中。我还有一个子程序,可以创建一个多边形作为一组多边形的并集(如果它们都是连接的)=>您的解决方案似乎很容易适应。听起来不错,您可以在外部多边形中添加一个多边形,只绘制边界,然后在有洞的多边形上填充。非常详细。唯一的“坏”点(但不是太坏)是边界CF(和F'C'(相同))将出现在地图中。我还有一个子程序,它可以创建一个多边形作为一组多边形的并集(如果它们都连接起来)=>您的解决方案似乎很容易适应。听起来不错,您可以在外部多边形中添加一个多边形,只绘制边界,然后只填充带有孔的多边形。