Я пытаюсь решить следующую проблему (я использую Matlab, хотя псевдокод / решения на других языках приветствуются):
У меня есть два круга на декартовой плоскости, определяемые их центроидами (p1 , p2) и их радиусы (r1, r2). окружность 1 (c1 = [p1 r1]) считается «Dynami c»: она переводится по вектору V = [0 -1]. окружность 2 (c2 = [p2 r2]) считается 'stati c': она лежит на пути c1, но компонент x ее центроида смещен относительно компонента x c2 (в противном случае решение будет тривиальным: расстояние между центроидами круга минус сумма их радиусов).
Я пытаюсь определить расстояние (d) вдоль V, на котором круг 1 будет «сталкиваться» с кругом 2 (см. Связанное изображение). Я уверен, что я могу решить это итеративно (то есть перевести c1 в ограничивающую рамку c2, а затем сойтись / проверить на пересечение). Тем не менее, я хотел бы знать, есть ли решение этой проблемы в закрытой форме.