给定同一圆的两个圆弧:A=[a1,a2]和B=[b1,b2],其中:
示例:
- a1,a2,b1,b2的值在-无穷大到+无穷大之间
- a1 <= a2; b1 <= b2
- a2-a1<=360; b2-b1<=360
示例:
A=[ -45°, 45°]; B=[ 10°, 20°] ==> overlap
A=[ -45°, 45°]; B=[ 90°, 180°] ==> no overlap
A=[ -45°, 45°]; B=[ 180°, 360°] ==> overlap
A=[ -405°, -315°]; B=[ 180°, 360°] ==> overlap
A=[-3600°, -3601°]; B=[ 3601°, 3602°] ==> overlap (touching counts as overlap)
A=[ 3600°, 3601°]; B=[-3601°,-3602°] ==> overlap (touching counts as overlap)
A=[ -1°, 1°]; B=[ 3602°, 3603°] ==> no overlap
这似乎是一个看似简单的问题,但我无法理解它。 目前我有一个基本的解决方案想法,其中涉及将每个段分成两个部分,如果它跨越0°的话,但我不确定是否覆盖了所有情况,我想知道是否有一种优雅的公式可以解决这个问题。