【问题标题】:Looking for an Algorithm for getting Polygons in List of open Pathes(Lists of Vector2d )寻找在开放路径列表(Vector2d 列表)中获取多边形的算法
【发布时间】:2022-01-06 09:44:27
【问题描述】:

我想知道是否有一种算法可以在一组路径中得到封闭的多边形,就像在图像中一样。我知道有两个封闭多边形的交集算法和交集,但我只有这些线向量作为输入。我正在使用 C# 和 Unity。但当然,这是一个普遍的问题。 先谢谢

【问题讨论】:

    标签: c# graphics polygon intersection


    【解决方案1】:

    这样的事情怎么样:

    1. 将每条折线与所有其他折线相交。
    2. 在交点处分割每条折线。在每个交点之间创建单独的线段。
    3. 将每个段放入一个表示图形的结构中,每个交叉点都有一个节点,边描述节点的连接方式。
    4. 开始任意段
    5. 遍历图形,选择每个节点处的第一条顺时针边。
    6. 到达起始边时,输出遍历的多边形
    7. 标记每条经过的边。
    8. 从第 5 步开始重复,选择下一个未标记的边缘。

    以这种方式描述图表有多种方式。我建议使用半边结构,其中每个边存储两次,方向相反。所以节点会有一个传出边的列表,每条边都有一个目标节点。这使得标记经过的边变得更容易,因为您不需要跟踪您的行进方向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      相关资源
      最近更新 更多