2024-05-10-2024_51数模竞赛A题
经验1:三角形两短边相加大于第三边长,直线最短 经验2:直线周围没有单个闭合曲线,不走岔路(一旦走了岔路,必定要有往回的空程) 经验3:被包围的完整曲线要保持“入口”与“出口”一致
-
对于两条平行的线段 从开始的那头,一直裁剪到开头所在线段结束,再连接另一个线段较近的那一段,接着裁剪
-
对于线段和闭合圆曲线 如果线段无拐角 先将闭合圆曲线的斜率计算并保存为A,将无转角线段斜率遍历A,找到几个斜率相同点并将它们返回,取距离最近的元素计算一倍空程距离 如果线段有拐角 将拐角点的坐标保存,计算所有拐角点距离闭合圆曲线的最短距离(套公式),取最小值,(这里可以简单做一个取最小值优化)
-
对于无拐点线段和闭合矩形(线段与闭合矩形的某一边平行) 如果线段两端都在矩形边长两端之内 或 线段一头在外边,一头在里边 从线段一端(如果有靠外端,就从外端开始走)走到另一端,再垂直进入矩形 如果两端都在矩形边长两端之外(线段两头都计算,取最小值) 如果两倍垂直距离 大于 线段端点到矩形较近一端点的距离 取最小空程为 线段端点到矩形较近一端点的距离 如果不是 取最小空程为 两倍垂直距离
-
对于有拐点线段和闭合矩形
-
对于无拐点线段和多联通区域 将多联通区域框起来,看作单连通闭合矩形,根据上面的逻辑,再对单连通闭合矩形内的最小空程进行分析