我想拆分以下所示的蓝色多边形,从多边形中删除所有导致凹度的点。
目前,我一直在尝试做以下事情:
- 将每个点从多边形中取出 - 测试该点是否落在剩余集合创建的多边形内 - 如果为真,则删除该点 - 如果为假,则保留该点
这在大多数情况下都有效,但在先前的情况下,(2,3)和(2,4)处的点都不会被移除。在数组传递的顺序不同的情况下,其中一个点将被删除,而另一个点将保留。
我想知道的是:
1. 是否有一种方法可以测试我正在处理的多边形是否具有这些情况之一(例如:连续3个失败点)? 2. 或者是否有更有效的创建凸多边形的方法?
谢谢。
目前,我一直在尝试做以下事情:
- 将每个点从多边形中取出 - 测试该点是否落在剩余集合创建的多边形内 - 如果为真,则删除该点 - 如果为假,则保留该点
这在大多数情况下都有效,但在先前的情况下,(2,3)和(2,4)处的点都不会被移除。在数组传递的顺序不同的情况下,其中一个点将被删除,而另一个点将保留。
我想知道的是:
1. 是否有一种方法可以测试我正在处理的多边形是否具有这些情况之一(例如:连续3个失败点)? 2. 或者是否有更有效的创建凸多边形的方法?
谢谢。