我在虛擬2D表面上有任意數量的點。我在同一表面上也有一個網格,沿X和Y方向有規律的點。我的任務是將每個點映射到最近的網格點。將2D點映射到固定格柵
直到網格點數量不足時,代碼已經足夠直接了。我一直在開發的代碼找到最接近的網格點,如果當前點的距離將更短,則顯示已經映射的點。
然後,我添加了第二步,將每個映射點與另一個點進行比較,如果將映射與另一個點交換產生兩個點的總映射距離的較小總和,則將它們交換。
這最後一步似乎很重要,因爲它減少了交叉地圖線的數量。 (這將用於將一個板上的點映射到另一個板上的網格上,其中連接這兩個的引腳和不會交叉的線似乎具有較高的引腳不會接觸的機會。)
問題:
可以在我的思想的人評論說,如果上面是真正優化了圖像後,(即映射分 - 總 - 將具有最小總距離),然後沒有一條線是交叉的?
並且有誰見過任何現有的算法來幫助解決這個問題。我搜查了但沒有任何結果。
我的回答,答案提供兩個問題,但經過長時間的討論,目前還不清楚什麼是OP的目標。例如。如果他知道第一個問題的答案,那他爲什麼問這個問題?或者例如我解釋說,他有一個很好的啓發,他應該通過去除交叉和數學的多個過程,我顯示爲什麼這是必需的,爲什麼它的工作原理。在Q中,他寫道,他只做了一次改進。在我寫這篇文章的評論中,他寫下了他不明白爲什麼需要多次通行證,在我把他說他知道的照片後。對不起,既不是真正的Q也不是真正的OP。 –