移动到所述点在半径范围内的点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动到所述点在半径范围内的点相关的知识,希望对你有一定的参考价值。

就像免责声明一样,我是Python新手。

(这是在graphics.py中)

我在飞机上有两个点。一点“a”是围绕它的圆圈。目前他们看起来像这样:

enter image description here

假设点“a”正在一条轨迹上移动,该轨迹将导致圆圈触及另一点。我的目标是让一个点“a”开始向另一个点移动,一旦另一个点在围绕点“a”的圆圈范围内,有点像这种情况:

enter image description here

还应该注意,点“a”是唯一可以移动的点。

最终,我想要点触摸。

有没有办法让我这样做?我现在可以想到的一个可能的解决方案是将点“a”移动到另一个点所在的(x,y)坐标,但这意味着点“a”不会移动到另一个点,因为圆圈与另一个点接触。

任何和所有的帮助表示赞赏!

答案

这是一些伪代码

if (a.x-b.x)**2 + (a.y-b.y)**2 <= a.radius**2:
   vec_a_b = b-a  # or you can do this component wise  
   a.velocity = normalized(vec_a_b)*a.velocity.magnitude

这假设点a有一个速度向量,它编码它当前进入的方向及其速度。 现在你可以用速度来移动a

a.x += a.velocity.x
a.y += a.velocity.y

以上是关于移动到所述点在半径范围内的点的主要内容,如果未能解决你的问题,请参考以下文章

确定给定半径算法内的点

光流方法返回意外值

NOIp模拟赛高维网络

聚类-均值漂移

XJOI xtx的游戏(计算几何)

在我周围 5 公里半径值范围内的 android 应用上标记地理位置。