关于微信三点定位法
微信三点定位法是一款社交软件,提供“查找附近的人”的功能,因方便快捷深受年轻人的喜爱,从而得到广泛应用。2012年11月4日,一条微博称微信可以通过三点定位法确定使用者的位置,即记住自己的位置和与某人之间的距离,变换两次位置重新记录距离,以这三个点为圆心、距离为半径画圆,交点就是要找的人的位置,圆圈越多,位置越精确。这条微博在网络上的热传引发了网友的热切关注。
除微信外,其他社交软件均包含距离显示。
陌陌陌陌的距离显示更加精确。微信的显示是以100米为单位的,而陌陌的距离显示是以10米为单位的,在陌陌上用三点定位法找到想要找的人更加容易。
遇见在遇见这款应用中,直接在地图上显示出附近的人,不需要使用三点定位法也可以找到想要找的人。
三点定位就是利用三个点的坐标位置信息来计算出当前的位置信息,即已知三点位置坐标(x0, y0), (x1, y1), (x2, y2)和所求位置点 (x, y)分别到三点的距离 d0,d1, d2。然后以 d0,d1, d2为半径作三个圆,依据毕达哥拉斯定理,得出未知点的位置计算公式,那定位的问题就转化成了求圆交点坐标的问题:
计算公式为:
当然在理想情况下是交于一点的,如下图:
上述情况是理想情况,但是在现实测试中几乎不存在。大部分情况是根据坐标值和距离值画出的圆之间没有交点或多个交点,如下图:
等等各种复杂相交的情况,这样的话就涉及到“准不准”和“哪个准”的问题了,具体就又涉及到机制和策略来使其“准”。
参考资料
https://blog.csdn.net/m0_37580896/article/details/81330159
https://blog.csdn.net/u013090676/article/details/73865137#commentsedit
https://gitee.com/yukarijiang/LinaPHPAlgorithm/blob/master/LinaPHPAlgorithm.php