我希望弧线是我认为的(英语不是我的语言)。这是我的做法。最后一个功能是解决问题的功能,前面的功能是实用程序。它工作正常。这个想法是计算圆和线之间的交点,并拒绝那些不在弧或线段上的交点。
注意:弧由其中心 (xc,yc)、半径和两个角度定义。由于两个角度定义了两个弧(逆时针和顺时针),我假设弧从第一个角度逆时针转到第二个。两个角度都在 [0,2.PI[ 中,因此如果弧线穿过 (xc+R,yc),则第一个角度必须大于第二个角度。
代码是 C++。我没有时间把它翻译回伪代码。我希望它有所帮助。
我希望弧线是我认为的(英语不是我的语言)。这是我的做法。最后一个功能是解决问题的功能,前面的功能是实用程序。它工作正常。这个想法是计算圆和线之间的交点,并拒绝那些不在弧或线段上的交点。
注意:弧由其中心 (xc,yc)、半径和两个角度定义。由于两个角度定义了两个弧(逆时针和顺时针),我假设弧从第一个角度逆时针转到第二个。两个角度都在 [0,2.PI[ 中,因此如果弧线穿过 (xc+R,yc),则第一个角度必须大于第二个角度。
代码是 C++。我没有时间把它翻译回伪代码。我希望它有所帮助。
网址:http ://www.fichiers.univ-metz.fr/depot/minich/SegmentArcIntersection.txt
2周内可用!