[removed] figure out point Y by angle and distance

2019-04-04 17:00发布

问题:

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:

  • point X (10;20)

  • point Y (10° & 200px from point X)

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

回答1:

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).



回答2:

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);