我想實現像在2D.Blue AutoCAD的套索選擇是充分融入和綠色是局部(例如:如果選擇線的一部分)。我正在尋找一個足夠好的算法來實現這個目標。套索選擇是任意多邊形(可以是凹或凸或自相交)。
首先,它似乎必須將多邊形轉換爲凸或三角形。但是.net我發現這個LibTessDotNet。
三角測量方法的問題是我不知道如何知道例如一條線是否完全包含,因爲部分線可以在任何多邊形。
其他的想法是使用像Clipper這樣的庫,並通過布爾運算確定交集。對於完整我會做區別(應該是空的)或交叉部分。
有沒有更好的工作方法?
這會工作,但我不知道它有多精確。即使您有2-3像素的間隙,但Autocad似乎不能匹配完整的機箱,但指向多邊形可能會輕易錯過它。另外我沒有得到如何檢查邊界框,因爲矩形的4個點可能不與套索相交,但是套索會與曲線相交。 – GorillaApe
我的原始文章關於如何使用邊界框來加速搜索是不正確的。我混淆了一個不同但相似的場景。該帖子已被編輯。 – fang