Короткий вопрос: учитывая точку P и отрезок L, как найти точку (или точки) на L, которая является точно расстоянием X от P, если она гарантирует, что существует такая указать?Поворот круга вокруг другого круга
Более длинный способ задать этот вопрос с изображением. При двух кругах, одной статической и одной динамической, если вы перемещаете динамический по отношению к статическому по прямой, довольно легко определить точку контакта (см. 1, зеленая точка).
Теперь, если вы перемещаете динамический круг по направлению к статическому кругу под углом, определение точки контакта намного сложнее (см. Пункт 2, фиолетовая точка). Эта часть, которую я уже сделал. Я хочу, чтобы после определения точки контакта уменьшить угол и определить новую точку контакта (см. 3, 4, красная точка).
В № 4 вы можете видеть, что угол уменьшается менее чем на половину, а новая точка контакта находится на полпути между прямой линией и исходной точкой. В № 7 вы можете видеть, что угол делит пополам, но новая точка контакта перемещается намного дальше, чем на полпути назад к прямолинейной точке.
В моем случае, я всегда хочу, чтобы уменьшить угол 5/6ths свое первоначальное значение, но оригинальный угол и расстояние между окружностями являются переменными. Кружки имеют одинаковый радиус. Фактические данные, которые мне нужны после уменьшения угла, - это вектор между новым центром динамического круга и статическим кругом, т. Е. Синяя линия в 3, 4, 6 и 7, если это облегчает расчет.
До сих пор я знаю, что мне нужно перемещать динамический круг вдоль линии, где фиолетовый круг является центром, по направлению к центру статического круга. Затем круг должен двигаться прямо назад к исходному положению динамического круга. Трудная часть - это точно знать, как далеко назад она должна двигаться, чтобы она касалась другого круга.
Это относится к математике StackExchange: http://math.stackexchange.com/ –
Я полагаю, я мог бы сказать, что это что-то я Я пытаюсь сделать это на Java, если это имеет значение. –