判断圆与线段相交

作者:追风剑情 发布于:2018-9-15 12:31 分类:Algorithms

求圆心坐标C(xc, yc),半径为rc的圆,与起点为F(xF, yF)、终点为F+v1的线段的交点。(注意, 这里的F、v1是向量)

圆的方程为

11111.png

用向量表示线段为

22222.png(0<=t<=1)

可将其分解为方程组

333.png

将线段等式代入圆的方程

4444.png

整理,得

55555.png

求解上式可以参考二次方程

6666.png(注意, 这里的一次项系数用的2b表示)

上面二次方程的求根公式为

777.png

上面方程中的a、b、c分别对应

8888.png

这里的判别式为b2-ac,当判别式大于0且0<=x<=1时,圆与线段有交点。

标签: Algorithms

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号