【发布时间】:2016-10-30 02:18:55
【问题描述】:
我目前正在开发一个关卡编辑器,并且我已经收集了一个我想用来创建多边形碰撞器的顶点列表。
我通过将某些图块标记为“碰撞器”并通过算法运行它们以获得连接的图块列表来获得这些顶点。然后,我从连接的图块列表中创建了一个顶点列表,并删除了所有重复项。
下面是一张有助于解释的图片。所有点都是当前列表中的顶点,但我想使用红色的点来创建多边形。
【问题讨论】:
-
"Convex hull" 将是一个很好的搜索词...但是您正在寻找定义较少的东西 - 如果您提供更好的解释来说明如何定义一对点是否属于边界,您可能会得到答案在这里或者Computer Science
-
这就是我想要找到的。我目前没有办法找到一个顶点是在一边,还是在拐角处,或者两者都没有。
-
你必须盯着图片,弄清楚你在绘制它时使用了什么规则。还可以尝试更多有趣的图片(即用点画字母,而不是为它们找到边框)。届时,您希望能够更好地了解您想要什么,并能够澄清这个问题。
-
我是这样做的,我想出了对每个顶点进行邻接测试的想法。如果它正好有 2 个邻居,它就是一个角,如果它正好有 3 个邻居,它就是一个边。
-
请注意,这不是对您如何手动完成此操作的解释...它可能接近解决方案(您显然会发现内角很有趣)。
标签: c# polygon vertices collider