我正在尝试实现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]]
重叠。
我读过的大多数代码都将它们视为平行线段,并完全忽略交叉点。这是最好的办法吗?
所以,现在,我认为的答案是"忽略他们"。重叠的两个顶点也将是其他(非共线)线段的交点,因此您可以在处理这些交点时处理它们。