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.
The Math. atan2() function returns the angle in the plane (in radians) between the positive x-axis and the ray from (0, 0) to the point (x, y), for Math. atan2(y, x) .
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).
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With