分享一个 objc 的寻路算法库 PathFindingForObjC

2015-05-12 16:29:50 +08:00
 Jasio

PathFindingForObjC

A Comprehensive PathFinding Library for Objective-C.

Based on PathFinding.js by @qiao.
可用于iOS与OSX。

安装

pod 'PathFindingForObjC'

Basic Usage

PathFinding *finder = [[PathFinding alloc] initWithMapSize:CGSizeMake(6, 5)
                                                  tileSize:CGSizeMake(1, 1)
                                               coordsOrgin:CGPointZero];
finder.heuristicType = HeuristicTypeManhattan;
finder.movementType = DiagonalMovement_Never;

// add blocks
[finder addBlockTilePositions:@[PF_CGPointToNSValue(CGPointMake(1, 2)),
                                PF_CGPointToNSValue(CGPointMake(2, 2)),
                                PF_CGPointToNSValue(CGPointMake(3, 2))
                                ]];
// set start point
finder.startPoint = CGPointMake(2, 3);
// set end point
finder.endPoint = CGPointMake(2, 1);
// get result
NSArray *foundPaths = [finder findPathing:PathfindingAlgorithm_AStar IsConvertToOriginCoords:YES];

DEMO

具体源码https://github.com/wbcyclist/PathFindingForObjC

2384 次点击
所在节点    分享创造
4 条回复
Jasio
2015-05-12 16:49:04 +08:00
@Livid Markdown语法添加图片超出边界不能自适应?
txx
2015-05-12 16:59:14 +08:00
要是我,我会选择用 JSCore 包一层直接用= =
Jasio
2015-05-12 17:34:10 +08:00
@txx 造轮子痛并快乐着_(:з”∠)_
zerh925
2015-05-14 11:37:51 +08:00
好顶赞
之前解决TSP问题弄过遗传,蚁群算法。
为了找两张图像的histogram的correlation matrix研究过Dijkstra。
不知道楼主这个的速度怎么样?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190482

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX