给定起点、航向、距离和线段,找到沿该航向的第一个点,该点距该线段指定距离。
我涵盖了两个案例,但我无法涵盖最后一个案例。
第一种情况:远离线路。即使起点在指定距离内,也忽略它。
第二种情况:它与线相交。我用三角和三角形解决了它。最初没有考虑下一个案例。
第三种情况:它正朝着这条线前进,但它不与它相交。我认为如果正确完成,这也将解决第二种情况。
三个子案例:
最小线距离大于指定距离。忽略它。
最小线距离等于指定距离。已经找到要点了。
最小线距离小于指定距离。这意味着从沿航向到线段端点的垂直线小于所需距离。这也意味着在这条垂直线的两侧将有两条所需距离的线。一个垂直于航向,而另一个最接近同一端点且不垂直于航向。只需找到这些点并查看哪个更接近起点。
这就是我今天卡住的地方。绘制它很容易,但是进行矢量计算或任何结果都很棘手。
可以将其改写为:
什么时候离线段P(t) = P0 + t*v
有一段距离?D
L((x1,y1), (x2,y2))
v=(sin(heading), -cos(heading))
就我而言。