26
votes

get point based on direction and distance

I need to find the coordinates of the second point. I know the angle between the points in radians and I also know the length of the vector.

I would really appreciate if someone could point me towards the solution.

1
Just out of curiosity: what application did you use to draw that image?TomsonTom
Not to sure by now, but I believe that was Photoshop.YemSalat

1 Answers

38
votes

Given L as the length of the vector and Ang the angle

x2 = x1 + Math.cos(Ang) * L
y2 = y1 + Math.sin(Ang) * L

Oops... I just noted the top to bottom orientation of the Y axis... Konstantin Levin, you will need adapt slightly because the formulas above assume a typical trigonometric coordinates system. In your case the formulas should be:

x2 = x1 + Math.cos(Ang) * L    // unchanged
y2 = y1 - Math.sin(Ang) * L    // minus on the Sin

Also (what goes without saying, also goes in one says it...) the reference angle should be such that when y2 == y1 and x2 > x1, Ang should be zero, and it should increase as the second point is moved counter-clockwise around the first one.