如何根据角度和距离获得坐标系中一个点的坐标

如何获得坐标系中坐标系的坐标是原点坐标(x,y)以及从原点到点的角度以及从原点到点的距离?

你像这样使用Math.cosMath.sin

 pointX = x + distance * Math.cos(angle) pointY = y + distance * Math.sin(angle) 

请注意, Math.cosMath.sin假定参数以弧度给出。 如果你有以度为单位的角度,你可以使用Math.cos( Math.toRadians(angle) )

如果r是距离原点的距离, a是x轴和点之间的角度(以弧度表示),则可以通过极坐标转换轻松计算坐标:

 x = r*cos(a) y = r*sin(a) 

(这假定原点位于(0,0) ,否则您应该将位移添加到最终结果)。

通过计算矢量的模(由于距离+角度构成矢量)和反正切,可以通过使用atan2来计算反演结果。

 r = sqrt(x*2+y*2) a = atan2(y,x) 

如果d是距离而A是角度,则该点的坐标将是

(x + d * Cos(A),y + d * Sin(A))

 px = x + r * cos(phi) py = y + r * sin(phi) 

其中[px py]是您要搜索的点, [xy]是“原点”, r是距离, phi是距离原点的目标角度。

编辑: http : //en.wikipedia.org/wiki/Polar_coordinate_system由Bart Kiers帮助发布的这个链接可以提供一些背景信息。