作为免责声明,我是Python的新手。
(在graphics.py中)
我在飞机上有两个点。一个点“ a”是一个带有圆圈的圆点。目前,他们看起来与此类似:
假设点“ a”在一条轨迹上移动,这将导致圆接触另一个点。 我的目标是,一旦其他点位于围绕点“ a”的圆的范围内,则“ a”点便开始朝另一点移动:
还应注意,“ a”点是唯一应该移动的点。
最终,我希望这些点能够触及。
我有办法吗?我目前能想到的一个可能的解决方案是让点“ a”移动到另一点所位于的(x,y)坐标,但这将意味着点“ a”不会由于以下原因而移动到另一点圆与另一点接触。
任何帮助,我们将不胜感激!
答案 0 :(得分:1)
这是一些伪代码
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