已知起点坐标、距离与角度,如何计算终点坐标?
根据起点、角度、距离计算终点坐标
已知起点坐标、起点到终点的角度及距离,参数如下:
let x1 = 500; let y1 = 500; let angle = 45; let distance = 100;
需要计算终点的坐标(x2, y2)。
计算思路
- 角度转弧度:JavaScript的
Math.cos()和Math.sin()方法接收的参数是弧度,所以先把角度转换为弧度:
弧度 = 角度 × π ÷ 180 - 计算坐标偏移量:
- x轴方向偏移:
distance × cos(弧度) - y轴方向偏移:
distance × sin(弧度)
(注:这里默认是屏幕坐标系,y轴向下;若为数学坐标系y轴向上,y方向偏移需取负值)
- x轴方向偏移:
- 计算终点坐标:终点坐标 = 起点坐标 + 对应方向的偏移量
代码实现
// 角度转弧度 const radians = angle * Math.PI / 180; // 计算终点坐标 const x2 = x1 + distance * Math.cos(radians); const y2 = y1 + distance * Math.sin(radians); // 输出保留两位小数的结果 console.log(`终点坐标:(${x2.toFixed(2)}, ${y2.toFixed(2)})`);
代入参数计算后,终点坐标约为(570.71, 570.71)。
另外你提到的Math.atan2()是用来根据两点坐标差反推角度的,这里已知角度求坐标,不需要用到这个方法。
内容的提问来源于stack exchange,提问作者AntonAntonoff
相关产品推荐
相关产品推荐

