用Weiler-Atherton裁剪算法我怎么处理共线线段呢?



我正在尝试实现Weiler-Atherton裁剪算法。我读了很多书,看了很多示例代码,但我似乎找不到任何人谈论共线线段以及如何处理它们。

例如,两个矩形
[[0, 0], [0, 1], [3, 1], [3, 0]][[1, 0], [1, 2], [2, 2], [2, 0]]
有两个重叠线段——[[3, 0], [0, 0]][[2, 0], [1, 0]]重叠。

我读过的大多数代码都将它们视为平行线段,并完全忽略交叉点。这是最好的办法吗?

所以,现在,我认为的答案是"忽略他们"。重叠的两个顶点也将是其他(非共线)线段的交点,因此您可以在处理这些交点时处理它们。

最新更新