我遇到了问题:我有商店位置和 1针注释,Radius = 2km。当用户移动引脚注释超过距离商店位置2km的半径。我想从商店位置和旧引脚注释跳转线上的引脚,以便圆半径始终覆盖商店位置。我怎样才能做到这一点?请给我一些建议。非常感谢。
答案 0 :(得分:0)
保持商店位置覆盖意味着将销钉限制在商店周围2公里的圆圈内。如果商店位于(0,0)而你的点位于(dx,dy),那么找到距离: R = sqrt(dx * dx + dy * dy)。
现在如果R> 2km,找到缩放距离的因子: s = 2km / R.
现在将点移动到(s * dx,s * dy),这将完全位于商店周围2公里的圆圈上,因此商店将位于销钉周围2公里的圆周上。