08 2012 档案

摘要:因为一个程序里用到了这个算法,吐血记下~设线段的两个端点分别是P1(x1,y1)和P2(x2,y2),圆的圆心在P3(x3,y3),半径为r,那么如果有交点P(x,y)的话其中,u在0到1之间,转换成各个坐标由于P也在圆上,所以联立上面的公式,可以得到其中解一元二次方程,可以得到根据的结果,可以判断线段所在直线和圆的相交情况如果小于0,表示没有交点如果等于0,表示相切,只有一个交点如果大于0,表示有两个交点针对P1和P2之间的线段,根据计算出的u值,有5种结果如果线段和圆没有交点,而且都在圆的外面的话,则u的两个解都是小于0或者大于1的如果线段和圆没有交点,而且都在圆的里面的话,u的两个解符号 阅读全文
posted @ 2012-08-14 10:15 OYK 阅读(3030) 评论(0) 推荐(1) 编辑