如何找到与线段相交的部分圆周围的点

时间:2017-09-22 03:41:33

标签: c# line geometry segment

我正在为我的方形网格寻路项目制定一个避障解决方案。我首先进行A *搜索以找到" long"路径。接下来,我采取我单位的当前位置并重复“#&long;" long"路径,直到我不再有视线,这产生"短"路径(单位>位置 - >最远位置w / LoS)。当我到达"短"路径,我重复找到另一个"短"直到达到目标的路径。

如果路上有障碍物,我想修改我的短路径以添加未对齐到网格的其他点。我发现障碍物与短路径的中心位置相交。半径,我的计划是在这些障碍的周围添加额外的点。这些点必须添加在线相交的圆的一侧,这样路径就不会一直绕着另一边。

以下是一些更好解释的截图:

http://puu.sh/xFHw5/0e8f32da7a.png

http://puu.sh/xFHwU/04a4b1fe27.png

http://puu.sh/xFHxk/56f3051cc5.png

http://puu.sh/xFHxO/fcc6151a02.png

1 个答案:

答案 0 :(得分:1)

您可以从两侧找到由tangents to circl e组成的路径,以及切线与圆相交的圆弧连接点。作为变体 - 使用切线的交点,在这种情况下,路径将仅包含两个直线段。