Ответ 1
Учитывая L как длину вектора и Ang угол
x2 = x1 + Math.cos(Ang) * L
y2 = y1 + Math.sin(Ang) * L
К сожалению... Я только что заметил ориентацию по оси Y сверху вниз... Константин Левин, вам нужно немного приспособиться, потому что приведенные выше формулы предполагают типичную систему тригонометрических координат. В вашем случае формулы должны быть:
x2 = x1 + Math.cos(Ang) * L // unchanged
y2 = y1 - Math.sin(Ang) * L // minus on the Sin
Также (что само собой разумеется, также говорится в одном, что это говорит...) опорный угол должен быть таким, чтобы при y2 == y1 и x2 > x1 Ang был равен нулю, и он должен увеличиваться по мере того, как вторая точка перемещается против часовой стрелки вокруг первой.