我的程序有一個List<Vector3>獨特的點(A、B、C、...),每次用戶繪制一條獨特的線(1、2、3...)時都會創建這些點。線存儲在 a 中List<int>,其中每兩個整數是每個點的索引,以形成一條線。任何兩條線都不能有相同的兩個點,任何點都不能占據相同的位置,允許有雜散線。Points: {A, B, C, D, E} //Each letter represents a 2d or 3d positionSides: {0,1,1,2,1,3,3,4,4,2} //(Each int is an index in Points, every pair is a side)我試圖找到一種有效的方法來確定新線(綠色,5)何時關閉具有任意數量邊的多邊形。我有一種方法可以做到這一點:遍歷連接到新線(以及所有后續線)每一側的每條線,直到它們共享一個點(D)。我唯一的問題是多邊形的邊越多,我需要做更多的檢查(多邊形上每增加兩個邊都會使我在所有連接的邊上檢查一層更深)。有沒有辦法減少關閉多邊形所需的檢查次數?與無向圖中的 Cycles不完全相同。這知道至少存在一個循環并連接到給定的一側,并且只尋找連接到該側的最小循環。其他方面無關緊要,應該避免它們。
- 1 回答
- 0 關注
- 239 瀏覽
添加回答
舉報
0/150
提交
取消