Перемещение к точке, когда указанная точка находится в радиусе - PullRequest
0 голосов
/ 18 февраля 2019

Так же, как заявление об отказе от ответственности, я новичок в Python.

(это в graphics.py)

У меня есть две точки на плоскости.Одна точка «а» - это точка с кружком вокруг нее.В настоящее время они выглядят примерно так:

enter image description here

Предположим, что точка "a" движется по траектории, которая заставит круг коснуться другой точки,Моя цель состоит в том, чтобы точка «а» начала двигаться в направлении другой точки, как только другая точка окажется в пределах границ окружности точки «а», что-то вроде этой ситуации:

enter image description here

Следует также отметить, что точка "a" является единственной точкой, которая предположительно движется.

В конечном счете, я хочу, чтобы точки касались.

Есть лиспособ для меня это сделать?Одно из возможных решений, о котором я сейчас могу подумать, - это перемещение точки «a» в координаты (x, y), на которых лежит другая точка, но это будет означать, что точка «a» не перемещается в другую точку из-закруг, соприкасающийся с другой точкой.

Любая и вся помощь приветствуется!

1 Ответ

0 голосов
/ 18 февраля 2019

вот некоторый псевдокод

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...