T.Lange
T.Lange

Reputation: 576

Figure out point Y by angle and distance

In my project, I would like to draw a line from point X to point Y.

While I know the position of point X, I only know the angle and the distance of point Y.

So my problem is to get the coordinates of point Y by the angle (from point X) and the distance.

I am using JavaScript for this project and don't want to use any graphical library.


For example:

It is probably pretty basic math, but I have no clue how to do it.

Upvotes: 22

Views: 10955

Answers (2)

codershop
codershop

Reputation: 271

Here is a code snippet that wraps @IgnacioVazquez-Abrams's answer into a function with an example of how to use it:

function findNewPoint(x, y, angle, distance) {
    var result = {};

    result.x = Math.round(Math.cos(angle * Math.PI / 180) * distance + x);
    result.y = Math.round(Math.sin(angle * Math.PI / 180) * distance + y);

    return result;
}

var newPoint = findNewPoint(10, 20, 10, 200);
console.log('newPoint:', newPoint);

Upvotes: 25

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 799470

js> Math.cos(10*Math.PI/180) * 200 + 10
206.9615506024416
js> Math.sin(10*Math.PI/180) * 200 + 20
54.729635533386066

Y is at (207, 55).

Upvotes: 24

Related Questions