旋转多行(点系列)以匹配区域

时间:2018-05-24 07:09:46

标签: rotation geometry coordinates line multiline

我有一条从(0,0)开始的任意多线(XY点系列)。 任务是以这种方式重新计算所有位置,因此最后一点将位于预定义边缘(Y值)。见插图。

illustration

有没有算法可以做到?

1 个答案:

答案 0 :(得分:1)

如果最后一个点的坐标为(xe, ye),则从原点到该点的方向角为

fie =  Atan2(ye, xe)

从原点到临界点的距离是

len = Sqrt(ye*ye + xe*xe)

通缉的y位置是yw,所以方向角是

fiw = Arcsin(yw / len)

所以你需要rotate所有角度差异

dfi = fiw - fie  = Arcsin(yw / len) - Atan2(ye, xe)