我刚读过这篇文章Determine which side of a line a point lies。这将有助于我解决我的问题的一部分。我想知道一个点是左边,右边,上面还是下面。在我的绘画中你可以看到并希望想象我想做什么。由黑线连接的两个黑色圆圈是我算法的结果。红色直线应该说明这是另一个圆圈。左边的黑色圆圈与灰色和黑色圆圈的红线相连,是我算法输出的最后一个。我现在想确定我的最后一个圆圈在算法之后连接到哪里?如果它是从最后一个留下的,我想确定这个(例如带有红色虚线的灰色和黑色圆圈)并将最后一个圆圈与它们连接起来。如果它在第二个最后一个附近我想删除最后一个圆圈并直接连接第二个圆圈,就像我在橙色圆圈的示例中所做的那样。如果线来自另一个,则相同侧面或顶部或底部或任何地方。 我怎样才能确定我的圈子是在上一圈还是在最后一圈或倒数第二圈之下?我在帖子开头提到的问题只是回答它是左边还是右边的一条线。这对我来说还不够,因为我需要知道它是否也在一条线之上或之下,并且最后一个圆圈靠近由该线连接的最后一个圆圈或靠近第二个圆圈的最后一个圆圈。
修改 圆圈表示点。我得到一条带有点的线。这条线可能不直。在我得到这个之后,我在线的末端附近的任何地方插入另一个点(用圆圈图示灰色,橙色或黑色连接点线),用点结束(用另一个圆圈连接的黑色圆圈表示)因此,如果添加一个像橙色的圆圈,我不希望线条最终在它结束的地方结束,不应该在红色和黑色线条的末端结束。从这一点开始,线条应连接到橙色圆圈。所以新连接是红线 - 黑色圆圈 - 橙色圆圈。所有其他东西都被移除。如果新插入的点位于灰色圆圈的位置,则不会这样做。然后从最后一个点开始连接(用黑线连接到黑色圆圈的黑色圆圈用红线连接到灰色圆圈,没有任何东西会被删除。