共7条回复
楼长
·
玉楼
回复于 2014年06月26日
不会吧?虽然没研究过这个算法,但你有必要图形里的所有点都用到吗?只用最外沿(周长上的点)的不行吗?
2楼
·
玉楼
回复于 2014年06月26日
即便你使用线段上的点去判断,也没必要都用啊,用个折半之类的算法也好过一个一个的判断吧。
3楼
·
4楼
·
zhh8689
回复于 2014年06月27日
还有比如我需要拖动一个VIEW在一个UIBezierPath上运动,不是做动画,类似于磁贴那种,手指滑到哪边,view在path上移动到相对应位置,这个现在只想到取出点以后查找对应的坐标,还有更好的方法么?
5楼
·
玉楼
回复于 2014年06月27日
不用全周长吧?我大致想了一下,你参考一下是否对:
图形A和B
你应该能取到axMax、axMin、ayMax、ayMin和bxMax、bxMin、byMax、byMin这些值吧,如果取不到就别往下看了。
通过这8个值可以判断出A和B之间的位置关系
switch(位置关系) {
case A靠左上:
在A上,取ayMax对应外沿点为起点,axMax对应外沿点为终点
在B上,取byMin对应外沿点为起点,bxMin对应外沿点为终点
确定了外沿点的起止范围,不管你的步长是1还是多长,自己可以想个算法再少算一些了吧?
break
case A靠左比B宽在上: // axMax >= bxMax && ayMax < byMax
自己脑补
break
其余自己脑补吧
}
我想这算法不一定好,就是随便那么一想,你可以参考参考,或是再多找找相关的算法。
7楼
·
zhh8689
回复于 2014年06月27日
求大神来解答啊~