我已閱讀文檔,但仍然困惑他們,任何人都可以給我一個清晰解釋,例如任何圖像比較?謝謝。GKGraph GKGraphNode GKGridGraphNode,他們有什麼關係?
回答
上Pathfinding維基百科的文章可能會有所幫助,因爲可能會在圖表和圖形搜索算法的相關主題從那裏的聯繫。除此之外,這是一個快速解釋器的嘗試。
節點是地方,有人就可以了,它們與其他節點的連接定義有人能地之間的旅行。一起,(連接的)節點的集合形成一個圖。
GKGraphNode
是節點的最普遍的形式 - 這些節點不知道他們在哪裏的空間,只是他們到其他節點連接的任何東西。 (對於基本路徑查找已經足夠了,但是......如果有一個圖表,其中A連接到B並且B連接到C,則從A到C的路徑將通過B,無論這些節點位於何處,如下所示。)
GKGraph
是節點的集合,並且提供工作曲線圖作爲一個整體,如the important one for finding paths功能。
GKGridGraphNode
和GKGraphNode2D
是GKGraphNode
的專用版本,它增加了節點在空間中的位置知識 - 無論是整數網格空間(如棋盤)還是開放式2D空間。一旦添加了這類信息,包含這些類型節點的GKGraph
可以在尋路時考慮到距離。
例如,看一下這個圖片:
如果我們只是用GKGraphNode
,所有我們談論的是一個節點被連接到。因此,如果我們要求從A到d的最短路徑,我們可以得到任何ACD或ABD,因爲它是連接兩種方式的資格賽數。但是,如果我們使用GKGridGraphNode
或GKGraphNode2D
,我們正在查看節點之間的線路長度,在這種情況下,ACD是最短路徑。
一旦你開始在(某種座標)空間定位的節點,它有助於能夠在圖形上作爲一個整體在空間中操作。這就是GKGridGraph
和GKObstacleGraph
進來,
GKGridGraph
作品與GKGridGraphNode
S和讓你做的事情一樣創建一個圖表,以填補一組維度的(比如說,一個10×10格,對角線移動允許的),而不是讓你自己創建並連接一堆節點。GKObstacleGraph
通過讓您將區域標記爲不可通過的障礙物並自動管理節點和連接來繞過障礙物,爲自由二維空間圖添加更多內容。
希望這有助於一點。有關更多信息,除了reference docs和guide,蘋果還有一個WWDC video,顯示這些東西是如何工作的。
- 1. gridgain和Apache點燃有什麼關係?他們是一樣的嗎?
- 2. VS 05 - 設計器屬性和組件設計器。他們有什麼關係?
- 3. 鹽有什麼關係?
- 4. 與setw()有什麼關係?
- 5. GameplayKit - [GKGraph dealloc]:在iOS9.2上崩潰
- 6. 爲什麼他們有相同的ID?
- 7. AdornerDecorator - 它們放在哪裏有什麼關係?
- 8. java中的流是什麼?它們與Lambda表達式有什麼關係?
- 9. R:有關於他們
- 10. 與直接關係到他們的Neo4j
- 11. 什麼是C++中的「set」?他們什麼時候有用?
- 12. CONCAT多個表時沒有關係他們
- 13. 關係與非關係數據建模 - 有什麼區別
- 14. 泡菜:他們爲什麼這麼叫?
- 15. tsconfig.json和gulp.js之間有什麼關係?
- 16. c和win32有什麼關係?
- 17. WIC和GDI +有什麼關係?
- 18. MariaDB和MySQL之間有什麼關係?
- 19. ERD和「關係圖」有什麼區別?
- 20. c#和asp.net有什麼關係?
- 21. 芹菜和RabbitMQ有什麼關係?
- 22. GTK,GTK +和GTK2有什麼關係?
- 23. '@ 1'和'@ 2'之間有什麼關係
- 24. Linux和Apache的「.d」有什麼關係?
- 25. Express.js與Node JS有什麼關係?
- 26. __getattr__和getattr之間有什麼關係?
- 27. PyTorch和Torch之間有什麼關係?
- 28. JavaScript與JavaScript有什麼關係?
- 29. 'const Obj'和'Obj&'有什麼關係?
- 30. 我的has_and_belongs_to_many關係有什麼問題?