|
fym37
和大家探讨一个算法 已知一点和一个feature对象 求这个点到feature的最短距离和最近点(这个最近点不一定是节点了)? 现在有个方法,就是以这个点为圆心,半径逐渐放大,直到发现这个园与feature相交为止。(当然可以设置最大的圆半径,例如可以设置为这个点到feature中心点的距离)
jsliuyun
如果featrue是圆的画,圆的半径=已知一点和一个feature对象中心点的距离-feature的半径
再以已知一点为圆心,用圆的半径与feature对象用相交测试,可以得到点的坐标
fym37
feature大多数是不规则多边行。麻烦呢
starfeng
将feature中所有的折点列出, 然后化成直线集合
再求点到每一直线的最短距离,设为min[1],min[2]....
点到feature的最小距离就是min的中最小值
点最直线的最短距离的逻辑,有一个方程式,高中的书上就有。
fym37
starfeng的方法可以解决这个问题。各位大侠还要别的办法吗?
mapxcoder
高见!
fym37
看来慢慢实现了,特殊情况满多的。实现好了把代码贴出来 |