【发布时间】:2015-05-01 01:53:38
【问题描述】:
我想在 2D 中实现类似 autocad 的套索选择。蓝色是完全包含,绿色是部分的(例如:如果您选择一行的一部分)。我正在寻找一个足够好的算法来实现这个目标。套索选择是任意多边形(可以是凹面或凸面或自相交)。
首先,我似乎必须将多边形转换为凸面或对其进行三角剖分。但是对于.net,我发现了这个LibTessDotNet。
三角测量方法的问题是我不知道如何知道例如一条线是否被完全包含,因为线的一部分可以位于任何多边形。
另一个想法是使用像 Clipper 这样的库并通过布尔运算确定交集。对于完整的,我会做差异(应该是空的)或部分的交集。
有没有更好/更有效的方法?
【问题讨论】:
标签: .net math graphics intersection