1、线段与线段求交点
已知线段的起点和终点,求交点,这个比较简单,解2个二元一次方程可以求出。
a、我这里的算法是判断2条线段的定义域和值域是否有重合地方,有则进行下一步判断,没有这返回空,表示没有交点。
b、根据直线方程2点式y - y1 = (y2 - y1) / (x2 - x1)(x - x1),进行解方程,不过这之前先进行对斜率判段,分为斜率k不存在,k=0,k存在三种情况,
当然这里也可以分为2种情况,斜率存在与不存在。
c、最后解方程,求出根后,进行验证,验证是否在其值域和定义域内。
2、线段和圆弧求交点
已知线段的起点和终点,圆弧的圆心,弧的起点和弧长所对应角度(角度大于0表示逆时针偏移角度)
分析:圆弧有优弧和劣弧,顺时针和逆时针之别,所以这里用到一个带符号的角度来表示顺时针和逆时针。由于圆弧属于圆上的一段,我这里先用线段和圆的方程求交点,
再判断交点是否在圆弧上得出。
a、首先求圆弧的圆心到直线(线段)的距离d &