如果我计算了线段和圆之间的交点,我怎么能判断这个交点是否位于圆的一段?
我有方程式来判断一个线段是否与圆相交,并且我在该圆上也有交点,但我需要知道的是圆上的这个碰撞点是否在于该圆的特定arg段的边界。我有圆弧段的终点,圆圈的中心和圆弧。半径和碰撞点。
答案 0 :(得分:1)
将交点转换为围绕中心的polar coordinates并比较角度。
答案 1 :(得分:0)
作为Dario的想法的替代方案(也应该有效),您可以:
intdist1
和intdist2
)。 arcdist
)。 intdist1
和intdist2
都小于{{1,则知道该点是否在弧内}}。arcdist
或intdist1
大于{{{},则知道该点是否在弧内1}}。 我猜,因为你没有另外说明,端点之间的弧线很短。在这种情况下,您无需担心上面的第4步。
如果使用的弧线恰好覆盖圆圈的180度,则该方法会失败。在这种情况下,你可以将180度弧打破成90度弧,并检查它们两个。
此外,您当然可以使用距离的平方来比较这些距离,以节省平方根。此外,这种方法应该比计算角度更快,因为那些涉及使用昂贵的反余弦。